被攻擊減血,攻擊可增加等級

來源:互聯網
上載者:User

標籤:c++   遊戲   

/**  備忘錄模式*/#include <myhead.h> //儲存值class mySavevalue  {public: mySavevalue(string user_name = "",             int life_value = 100,              int magic_point = 100,              int rank_values = 1,             int experience_value = 1000)             :_user_name(user_name),             _life_value(life_value),             _magic_point(magic_point),             _rank_values(rank_values),             _experience_value(experience_value) { } mySavevalue& operator=(const mySavevalue &savevalue)  {    _life_value = savevalue._life_value;     _magic_point = savevalue._magic_point;     _rank_values = savevalue._rank_values;     _experience_value = savevalue._experience_value;     return *this; }public: string _user_name;     //使用者名稱(或使用者id(md5值)) int _life_value;       //紅血 int _magic_point;      //藍學 int _rank_values;      //等級 int _experience_value; //經驗值 //其它值};//遊戲角色class Role  {public: Role(string user_name,      int life_value,      int magic_point,      int rank_values,      int experience_value)      :_user_name(user_name),      _life_value(life_value),      _magic_point(magic_point),      _rank_values(rank_values),      _experience_value(experience_value) {} mySavevalue Save() //儲存當前值 {  mySavevalue savevalue(_user_name,                  _life_value,                  _magic_point,                 _rank_values,                 _experience_value);  return savevalue; } void Loadvalue(mySavevalue &savevalue)  //載入之前的值 {  _life_value = savevalue._life_value;  _magic_point = savevalue._magic_point;  _rank_values = savevalue._rank_values;  _experience_value = savevalue._experience_value; } void Show() {   cout << "使用者 : "        << _user_name.c_str()       << ", 等級 : "        <<  _rank_values       << ", 紅血 : "       << _life_value       << ", 藍血 : "       << _magic_point       << ", 當前經驗值 : "       << _experience_value       << endl;  } void attack() //升級 {  _magic_point -= 10;   _experience_value += 250;  if (_experience_value == 1000)
{   _rank_values += 1;   _experience_value = 0;  } } void Being_attacked() //被攻擊 {  _life_value -= 10;  }private: string _user_name; int _life_value; int _magic_point; int _rank_values; int _experience_value;};//儲存的進度庫class LookafterSavevalue  {public: LookafterSavevalue() {} void Save(string name, mySavevalue savevalue) {  _mapSavevalue.insert(map<string, mySavevalue>::value_type(name, savevalue)); } mySavevalue Load(string name) {  return _mapSavevalue[name]; }private: map<string, mySavevalue> _mapSavevalue;};//測試案例int main(){ LookafterSavevalue lookaftersavevalue; Role role("role_wang", 100, 100, 0, 0);  role.Show();   //初始值  lookaftersavevalue.Save("role_wang", role.Save()); //儲存狀態  role.attack();    role.Show();  //進攻後  lookaftersavevalue.Save("role_wang", role.Save()); //儲存狀態  role.Loadvalue(lookaftersavevalue.Load("role_wang")); //載入狀態  role.Show();  //恢複到狀態0  role.attack();    role.Show();  //進攻後 role.attack();   role.Show();  //進攻後 role.attack();    role.Show();  //進攻後 role.attack();    role.Show();  //進攻後    role.Being_attacked();  role.Show(); //被進攻後 lookaftersavevalue.Save("role_wang", role.Save()); //儲存狀態 role.Loadvalue(lookaftersavevalue.Load("role_wang")); //載入狀態  role.Show();  //恢複到狀態1 getchar(); return 0;} 


 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.