存储游戏分数

时间:2016-10-19 03:29:44

标签: c++11 game-center

我在playGame()中有这个代码,我从main调用。当任何一个玩家,X / O获胜或者成为关系时,下面的代码会递增,但是当我第二次玩完整个游戏时,我会放弃以前的分数。

有人可以建议更有效的方式存储分数吗?

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

保留以前的分数,如果需要则增加,---

    //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

再玩一次; 结果当Xwins再次---应该是2而不是1 ----我的问题

X | O |领带

1 | 0 | 0

3 个答案:

答案 0 :(得分:0)

可能您应该将分数值存储到临时变量中。然后在新分数之后,您应该在临时变量的最后得分上总结。

答案 1 :(得分:0)

1。如果您在比赛期间需要得分(不关闭游戏并重新开始)

游戏结束后,您可以将数据存储到本地变量,例如temp_score然后当新游戏开始时,只需将current_scoretemp_score

相加

2。如果你在比赛开始后仍然需要得分

temp_score保存到文件(例如score.txt),当游戏再次启动时,只需读取文件中的上一个分数,然后加起来即可得到当前分数。再次完成游戏后,请在文件中更新新的temp_score

答案 2 :(得分:0)

使用静态变量:

如果XO只是调用此函数的两个玩家,则将XWinsOWinstie定义为{{1} },以便在重复调用同一函数之间保留该值。

static