我在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 时结果
1 | 0 | 0
再玩一次; 结果当Xwins再次---应该是2而不是1 ----我的问题1 | 0 | 0
答案 0 :(得分:0)
可能您应该将分数值存储到临时变量中。然后在新分数之后,您应该在临时变量的最后得分上总结。
答案 1 :(得分:0)
游戏结束后,您可以将数据存储到本地变量,例如temp_score
然后当新游戏开始时,只需将current_score
与temp_score
将temp_score
保存到文件(例如score.txt),当游戏再次启动时,只需读取文件中的上一个分数,然后加起来即可得到当前分数。再次完成游戏后,请在文件中更新新的temp_score
答案 2 :(得分:0)
使用静态变量:
如果X
和O
只是调用此函数的两个玩家,则将XWins
,OWins
和tie
定义为{{1} },以便在重复调用同一函数之间保留该值。
static