c# - 用 C# 创建像扫雷这样的模式的问题

标签 c# loops design-patterns nested

首先,我是 C# 的新手,所以,如果我问一些“太新手”的问题,我深表歉意。好吧,事情是这样的:

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

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();
    }
}

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

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

enter image description here

先谢谢大家的建议!

最佳答案

WriteLine ,顾名思义,写入一整行(并在末尾放置一个换行符)。在您的设置中做多于一列并不是那么好!

一个典型的解决方案是只使用 Console.Write , 有时与 Console.SetCursorPosition 因此您可以一次编写单个“单元格”。

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

无论哪种方式,您都需要对循环进行相当大的修改才能获得正确的效果。

关于c# - 用 C# 创建像扫雷这样的模式的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52505375/

相关文章:

c# - 在 Vista+ 上双击 .NET Label 控件将其文本复制到剪贴板?

c# - C#中的动态变量?

java - 在一个要求从日期中分辨日期的问题中获得意外输出

Swift - 在基于闭包的配置中避免强引用循环

javascript - 迁移到 VS2013.4 后调用 WinRT 组件时类未注册异常

c# - 如何在 xamarin 表单中动态更改 XAML 中的 ContentPage 标题?

python - 循环遍历包含内容和索引的列表

r - 使用子集创建高效的每周计算

c++ - 在分配新版本的资源时,在 C++ 中处理复杂资源指针的做法是什么?

java - 业务委托(delegate)处理异常