当前位置: 首页 > 知识库问答 >
问题:

用for循环c#格式化问题

薛浩言
2023-03-14

我正在尝试创建一个名为“NIM”的游戏(如果您不熟悉,请参阅代码介绍)。当我输出“块”时,它们的间隔不是均匀的。我可能错过了显而易见的,但有人能指出我错在哪里吗。

using System;
using System.Threading;

namespace NIM
{
    class Program
    {
        static void Main(string[] args)
        {
            Introduction();
            InitialBoardSetUp();
        }
        static void Introduction()
        {
            Console.WriteLine("\t\t\t\tWelcome to NIM!\n");
            Console.WriteLine("   - Each player takes their turn to remove a certain number of 'blocks' from a stack, of which there are 7.");
            Console.WriteLine("   - This happens until there is only 1 'block' remaining. With the winner being the one to remove the last 'block'.\n");
            Console.WriteLine("Initialising the board:\n");
            Thread.Sleep(2000);
        }
        static void InitialBoardSetUp()
        {
            for (int i = 1; i <= 7; i++)
            {
                Console.Write("     " + i + "\t");
            }
            
            Console.Write("\n\n");

            for (int i = 1; i <= 7; i++)
            {
                Console.Write(" "+ i);

                for (int j = 1; j <= 7; j++)
                {
                    Console.Write("  ███\t");
                }
                Console.Write("\n");
            }
        }
    }
}

共有1个答案

西门正平
2023-03-14

下面的代码是经过一些小修改的代码。\t已被删除并替换为空格。在写入列标题之前添加的空格。添加评论。

请尝试以下操作:

using System;
using System.Threading;

namespace NIM
{
    class Program
    {
        static void Main(string[] args)
        {
            Introduction();
            InitialBoardSetUp();
        }

        static void Introduction()
        {
            Console.WriteLine("\t\t\t\tWelcome to NIM!\n");
            Console.WriteLine("   - Each player takes their turn to remove a certain number of 'blocks' from a stack, of which there are 7.");
            Console.WriteLine("   - This happens until there is only 1 'block' remaining. With the winner being the one to remove the last 'block'.\n");
            Console.WriteLine("Initialising the board:\n");
            //Thread.Sleep(2000);
        }

        static void InitialBoardSetUp()
        {
            //add space for row numbers
            Console.Write("  ");

            //print column headers
            for (int i = 1; i <= 7; i++)
            {
                Console.Write("   " + i + "   ");
            }

            Console.Write("\n\n");

            for (int i = 1; i <= 7; i++)
            {
                //print row numbers
                Console.Write(" " + i);

                for (int j = 1; j <= 7; j++)
                {
                    //print blocks
                    Console.Write("  ███  ");
                }

                Console.Write("\n");
            }
        }
    }
}
 类似资料:
  • 主要内容:for循环,嵌套循环,无限循环在某些情况下,我们可能需要重复执行某些代码,这时就需要用到 C# 中的循环语句,C# 中支持 for 循环、foreach 循环、while 循环和 do while 循环等循环语句,本节我们主要来介绍一下 C# 中的 for 循环。 for循环 使用 for 循环可以重复执行一部分代码,而且重复的次数是可以设定的,其语法格式如下所示: for(初始化语句; 判断条件; 迭代器){      //

  • C++ 循环 for 循环允许您编写一个执行特定次数的循环的重复控制结构。 语法 C++ 中 for 循环的语法: for ( init; condition; increment ) { statement(s); } 下面是 for 循环的控制流: init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。

  • 我是Java的新手,我想使用循环来产生阶梯效果,但在每一行中添加越来越多的空格。这是我的密码- 最终的目标是让它打印以下内容: 但我的照片是这样的: 对不起,我知道这是初学者的东西,但我不知道还能去哪里。感谢任何帮助。多谢了。

  • 主要内容:C语言for循环中的三个表达式除了 while循环,C语言中还有 for 循环,它的使用更加灵活,完全可以取代 while 循环。 上节我们使用 while 循环来计算1加到100的值,代码如下: 可以看到,语句①②③被放到了不同的地方,代码结构较为松散。为了让程序更加紧凑,可以使用 for 循环来代替,如下所示: 在 for 循环中,语句①②③被集中到了一起,代码结构一目了然。 for 循环的一般形式为: for(表达式1;

  • 我正在编写一个计算e^x值的方法。我在python中实现它的方式如下。 这将很好地返回e^x的值。但是,当我尝试在c#中实现相同的方法时,它没有输出与python中相同的值。以下是c#中的实现。 起初,这段代码的输出是一个无穷大符号。为了解决这个问题,我只是减少了循环运行的次数。在c#中,循环只运行10次,代码的输出非常接近于python中循环运行100次的输出。我的问题是,在不同的编程语言中,两

  • 问题内容: 我使用java for循环进行了一些运行时测试,并发现了一种奇怪的行为。对于我的代码,我需要原始类型(例如int,double等)的包装对象来模拟io和输出参数,但这不是重点。只是看我的代码。具有字段访问权限的对象如何比原始类型更快? 优先类型的循环: 结果: MicroTime原语(最大值:= 10000.0):110 MicroTime原语(最大值:= 100000.0):1081