如果用户要求,我如何重复一个循环

本文关键字:循环 一个 何重复 用户 如果 | 更新日期: 2023-09-27 17:49:49

如果用户要求,我如何重复一个循环?

你可以看到我到目前为止做了什么。这是一个井字游戏

循环现在在while(true)中。但我想改变它,这样当游戏结束时,程序会询问用户是否想要另一个游戏。到目前为止,我还没有做到。

可以看到,第一个循环清除控制台并初始化游戏板。然后第二个循环显示棋盘并继续从用户那里获得移动等等。在IfWinningIsTie方法中有一个方法询问用户是否想再玩一次。我希望程序询问用户是否想要再次播放,然后退出第二个循环并重新开始第一个循环。

谢谢

static Game G = new Game();
'''Game is a class
try{
    while(true)
    {
        Console.Clear();
        G.StartingGameBoard();
        while(true)
        {
            G.BoardDisplay();
            G.Playing(G.ChecksException());
            G.BoardDisplay();
            G.IfWinning();
            G.IsTie();
            G.CurrentPlayer = G.GetTheNextPlayer(G.CurrentPlayer);
        }   
    }  
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

如果用户要求,我如何重复一个循环

您需要做的就是使用Console.ReadKey()

    try{
        bool ReRunGame = false; <<<<
        do
        {
            Game G = new Game();
            Console.Clear();
            G.StartingGameBoard();
            while(true)
            {
                G.BoardDisplay();
                G.Playing(G.ChecksException());
                G.BoardDisplay();
                G.IfWinning();
                G.IsTie();
                G.CurrentPlayer = G.GetTheNextPlayer(G.CurrentPlayer);
            }   
            Console.WriteLine("Play another game?");
            ConsoleKeyInfo ck = Console.ReadKey();
            ReRunGame = (ck.Key == ConsoleKey.Y);
        }while(ReRunGame);  <<<<<
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }