使用C#创建像扫雷一样的模式的问题

Die*_*go 1 c# loops design-patterns nested

首先,我是C#的新人,所以,如果我问某些"新手",我道歉.嗯,这里的事情:

我正在尝试创建一个模式,就像游戏一样:Minesweeper '因为我正在制作一个简单的游戏,一个象棋游戏,所以我现在的大问题是我无法有效地创建列,所以,这是我的码:

class chessGame
{
    static void Main(string[] args)
    {
        const string EX = "X";
        const string OU = "O";
        const int VALUE_X = 8;

        int numRows = 0;
        int numCol = 0;

        while (numRows < VALUE_X)
        {
            for (numCol = 0; numCol < VALUE_X; numCol++)
            {
                Console.WriteLine(OU);
            }
            for (numRows = 0; numRows < numCol; numRows++)
            {
                Console.WriteLine(EX);
            }
            Console.WriteLine();
        }
        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

另外,我根本不知道这是用嵌套循环创建列和行的方式,所以,如果有人可以帮我这个,或者只是有人可以帮助我用我的实际代码做到这一点,谢谢非常!

为了记录,这是我现在在控制台中看到的:

在此输入图像描述

事先,谢谢你们对你们所有人的建议!

Bra*_*NET 5

WriteLine顾名思义,写一整行(并在最后添加换行符).在您的设置中执行多个列不是很好!

一个典型的解决方案是使用Console.Write,有时使用,Console.SetCursorPosition这样你就可以一次编写单独的"单元格".

另一种相当简单的方法是将每行预先计算为单个字符串,然后再计算WriteLine.

无论哪种方式,您都需要相当大地重新设计循环以获得正确的效果.

  • @Diego他的意思是你使用`Console.WriteLine()的方式`它对你想要实现的目标并不好.你的逻辑完成的方式可以使用他给出的解决方案来解决,但如果你愿意改变循环的工作方式,你可以设法正确地使用`Console.WriteLine()` (2认同)