国际象棋棋盘位置

时间:2016-12-27 18:51:46

标签: c# arrays multidimensional-array

我如何做到这一点,以便用户在控制台中键入位置(表[4,5])我希望该用户输入该类型?

int[,] table = new int[8, 8];
         for (int i = 0; i < 8; i++)
            {
                for (int j = 0; j < 8; j++)
                {
                    if ((i + j) % 2 == 0)
                    {
                        table[i, j] = 0;
                    }
                    else
                    {
                        table[i, j] = 1;
                    }
                }
            }
           Console.WriteLine("4 - king");
           Console.WriteLine("3 - queen");
           Console.WriteLine("4 - hunter");

           table[4,5] = 2;
           table[6,7] = 3;
           table[2,2] = 4;

           for (int i = 0; i < 8; i++)
                {
                    for (int j = 0; j < 8; j++)
                    {
                        Console.Write(table[i, j] + " ");
                    }
                    Console.WriteLine();
                }

我该怎么做才能使这项工作?如果我输入它,它不起作用: 这就是为什么我必须把数字放在不同的行或列中如何解决这个问题

       table[4,5] = 2;
       table[4,7] = 3;
       table[2,2] = 4;

1 个答案:

答案 0 :(得分:2)

你混淆了赋值运算符&#34; =&#34;使用逻辑比较运算符&#34; ==&#34;。你的第二行只是比较表[4,5]和2,可能会返回false。

将其更改为:

table[4,5] = 2;

此外,即使您设法为表[4,5]分配值,您也会在下一行中覆盖它。您应该将该行移动到第一个嵌套循环的末尾。就在第二个&#34; for(int i = 0; i&lt; 8; i ++)&#34;

之前