首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >存储游戏分数

存储游戏分数
EN

Stack Overflow用户
提问于 2016-10-19 11:29:44
回答 3查看 67关注 0票数 0

我从main调用的playGame()中有这段代码。当X/ O的任何一个玩家获胜或平局时,下面的代码就会递增,但当我第二次玩完整个游戏时,我就失去了之前的分数。

有人能建议一种更有效的方式来存储分数吗?

期望结果:当再次进行游戏时,如果具有先前分数的同一玩家获胜或两人平局,则应保留先前分数并递增先前分数。

保留以前分数,如果请求则递增,

代码语言:javascript
运行
复制
    //score start at zero.
   int Xwins = 0;
   int Owins = 0;
   int tie = 0;

   if(wins == 'X')
   {
      Xwins++;  //increments Xwins if player X wins
   }
   else if(wins == 'O')
   {
      Owins++;  //increments Owins if player O wins
   }
   else if(NOWIN)
   {
      tie++;   //increments tie if no player wins
   }

Xwins时的结果

X|O|平局

1|0|0

再次播放;当Xwin再次出现时的结果-应该是2而不是1-我的问题

X|O|平局

1|0|0

EN

回答 3

Stack Overflow用户

发布于 2016-10-19 11:33:40

也许你应该把分值存储到临时变量中。然后在一个新的分数之后,你应该在你的临时变量的最后一个分数上求和。

票数 0
EN

Stack Overflow用户

发布于 2016-10-19 11:41:59

1.如果你在玩的时候需要分数(不是结束游戏然后重新开始)

在游戏结束后,您可以将数据存储到一个本地变量,例如temp_score,然后当新游戏开始时,只需使用temp_scorecurrent_score求和

2.如果你在开始游戏后还需要得分

temp_score保存到一个文件(例如score.txt),当游戏再次开始时,只需从文件中读取先前的比分,并将其相加为当前比分。再次完成游戏后,更新文件中的新temp_score

票数 0
EN

Stack Overflow用户

发布于 2016-10-19 11:43:51

使用静态变量:

如果XO只有两个玩家需要调用此函数,则将XWinsOWinstie定义为static,以便在重复调用同一函数时保留该值。

代码语言:javascript
运行
复制
  static int Xwins = 0;
  static int Owins = 0;
  static int tie = 0;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40121630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档