我写了这个小的c ++程序来实现tic-tac-toe。但是,我遇到了一个小问题,阻止我在游戏结束时终止游戏。
int main(){
bool a= true;
while (a){
int x,y,x1,y1;
std::cout<<"player 1 move"<<'\n';
std::cin>>y>>x;
player1(x,y);
printboard();
if (game_finished()){
std::cout<<"player 1 won"<<'\n';
a = false;
}
std::cout<<"player 2 move"<<'\n';
std::cin>>y1>>x1;
player2(x1,y1);
printboard();
if (game_finished()){
std::cout<<"player 2 won"<<'\n';
a = false;
}
}
所以正在发生的事情是,例如,当玩家1赢得游戏时,程序仍然会要求玩家2在终止while循环之前进行另一次移动。解决方案似乎很简单,但我现在无法想到它。任何意见都表示赞赏。
答案 0 :(得分:3)
break
语句将退出循环。
答案 1 :(得分:0)
您可以使用break
声明。
尽管如此,他们通常会气馁,因为以后更难理解代码。我会坚持将第二步动作放在else
分支中。