如何提前退出while循环

时间:2014-04-27 17:39:13

标签: c++ while-loop

我写了这个小的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循环之前进行另一次移动。解决方案似乎很简单,但我现在无法想到它。任何意见都表示赞赏。

2 个答案:

答案 0 :(得分:3)

break语句将退出循环。

答案 1 :(得分:0)

您可以使用break声明。

尽管如此,他们通常会气馁,因为以后更难理解代码。我会坚持将第二步动作放在else分支中。