0

首先我应该提到我是 C# 的初学者。

这是我到目前为止所做的代码:

for (int row = 1; row <= 25; row++)
        {
            for (int col = 1; col <= 39; col++)
            {
                switch (row)
                {
                    case 1:
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        break;
                    case 2:
                        Console.ForegroundColor = ConsoleColor.Magenta;
                        break;
                    case 3:
                        Console.ForegroundColor = ConsoleColor.Green;
                        break;

                }
                Console.Write("* ");                    
        }
        Console.WriteLine();

我真的很想重复这三种颜色:黄色、洋红色、绿色。

前三句没问题,其余都是绿色的。

每隔一行向右走一步?

感谢所有帮助

谢谢

4

3 回答 3

3

在 switch 中更改代码:

for (int row = 1; row <= 25; row++) {
                for (int col = 1; col <= 39; col++)
                {
                    switch (row%3)
                    {
                        case 1:
                            Console.ForegroundColor = ConsoleColor.Yellow;
                            break;
                        case 2:
                            Console.ForegroundColor = ConsoleColor.Magenta;
                            break;
                        case 0:
                            Console.ForegroundColor = ConsoleColor.Green;
                            break;

                    }
                     Console.Write("* ");        
                    }
                Console.WriteLine();
于 2013-10-05T13:07:38.283 回答
0

可能会尝试这样的事情:

        ConsoleColor[] colors = new ConsoleColor[] { 
        ConsoleColor.Yellow,
        ConsoleColor.Magenta,
        ConsoleColor.Green
        };

        for (int row = 1; row <= 25; row++)
        {
            Console.ForegroundColor = colors[(row+1) % 3];
            for (int col = 1; col <= 39; col++)
            {
                Console.Write("*");
            }
            Console.WriteLine();
        }
于 2013-10-05T18:56:35.187 回答
0
    for (int row = 1; row <= 25; row++) {
            for (int col = 1; col <= 39; col++)
            {
                int rowInd = row % 3;
                switch (rowInd)
                {
                    case 0:
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        break;
                    case 1:
                        Console.ForegroundColor = ConsoleColor.Magenta;
                        break;
                    case 2:
                        Console.ForegroundColor = ConsoleColor.Green;
                        break;

                }
                 Console.Write("* ");        
                }
            Console.WriteLine();

仅给出 1,2,3 行将只为这些行分配值。因此,通过使用 % 符号,您将获得行 / 3 的余数。即 3 / 3,余数 = 0;对于 4 / 3,余数 = 1;和 5 / 3; 余数 = 2; 再次为 0 表示 6 / 3;

于 2013-10-05T13:21:52.037 回答