Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#解析错误,由于行不存在而找不到?_C#_Parsing_Mono - Fatal编程技术网

C#解析错误,由于行不存在而找不到?

C#解析错误,由于行不存在而找不到?,c#,parsing,mono,C#,Parsing,Mono,我正在用C编写一个井字游戏# 不管怎么说,我一直在第57行遇到这个解析错误,但是我没有第57行。 这是密码?有人能帮我吗 我的编译器使用mcs,下面是警告 game.cs(57,1): error CS8025: Parsing error Compilation failed: 1 error(s), 0 warnings cs(57,1):错误CS8025:解析错误编译失败:1个错误,0个警告 这就是代码。 托管在pastebin上 谁能告诉我怎么解决这个问题吗? 谢谢你的帮助! 还有,如

我正在用C编写一个井字游戏# 不管怎么说,我一直在第57行遇到这个解析错误,但是我没有第57行。 这是密码?有人能帮我吗

我的编译器使用mcs,下面是警告

game.cs(57,1): error CS8025: Parsing error Compilation failed: 1 error(s), 0 warnings cs(57,1):错误CS8025:解析错误编译失败:1个错误,0个警告 这就是代码。 托管在pastebin上

谁能告诉我怎么解决这个问题吗? 谢谢你的帮助! 还有,如果你发现其他问题,请告诉我

        if(move == 0){board[0, 0] = "x";
        if(move == 1){board[0, 1] = "x";
        if(move == 2){board[0, 2] = "x";
        if(move == 3){board[1, 0] = "x";
        if(move == 4){board[1, 1] = "x";
        if(move == 5){board[1, 1] = "x";
        if(move == 6){board[2, 0] = "x";
        if(move == 7){board[2, 1] = "x";
        if(move == 8){board[2, 2] = "x";
你有一个大括号{所有这些线

编辑:

如果使用这一行,您可以删除所有这些:

 board[ Math.Floor(i/3.0), (i%3) ] = "x";       

我认为您缺少if语句的花括号:

如果(move==0){board[0,0]=“x”\clsoing括号在这里}

另外,最好不要以任何方式使用起始方括号,因为 语法:

if(boolean)语句

if(布尔)

声明

无论如何都是有效的

有了这个变化,它应该编译并运行
类游戏
class Game
{ // declares the class
    private static string[,] board = new string[3, 3]{
                                              {" ", " ", " "}, // top row
                                              {" ", " ", " "}, // middle row
                                              {" ", " ", " "}  // bottom row
                                          };


    private static void print()
    {
        System.Console.WriteLine("\n {0} | {1} | {2} ", board[2, 0], board[2, 1], board[2, 2]);
        System.Console.WriteLine("------------");
        System.Console.WriteLine(" {0} | {1} | {2} ", board[1, 0], board[1, 1], board[1, 2]);
        System.Console.WriteLine("------------");
        System.Console.WriteLine(" {0} | {1} | {2} \n", board[0, 0], board[0, 1], board[0, 2]);
    }

    private static void calculateMoves()
    {
        System.Console.Write("The possible moves are: ");
        int n = 1; // this is used to list all possible moves.
        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                if (board[i, j] == " ")
                {
                    System.Console.Write("{0} ", n);
                }
                n++;

            }
        } // end print possible moves.

        System.Console.WriteLine(); // go to next line

    }
    static void Main()
    { // the main function, the program starts from (this is a method declartion)
        System.Console.WriteLine("\nWelcome to theelitenoob's simple tic tac toe game!");
        System.Console.WriteLine("Written in C#, released under the GPL.");
        System.Console.WriteLine("The board is 3 by 3, Type a number to place a move there.");
        System.Console.WriteLine("So 1 is bottom left and 9 is top right, like a standard keypad.\n");
        int winner = 0; // there is no winner yet.
        // write players piece
        System.Console.WriteLine("You are x");
        // create the board

        int move;
        print();
        calculateMoves();
        System.Console.Write("Please type in a move number: ");
        while (winner == 0 && int.TryParse(Console.ReadLine() , out move) )
        {
            move--;
            if (move == 0) board[0, 0] = "x";
            if (move == 1) board[0, 1] = "x";
            if (move == 2) board[0, 2] = "x";
            if (move == 3) board[1, 0] = "x";
            if (move == 4) board[1, 1] = "x";
            if (move == 5) board[1, 1] = "x";
            if (move == 6) board[2, 0] = "x";
            if (move == 7) board[2, 1] = "x";
            if (move == 8) board[2, 2] = "x";

            print();
            calculateMoves();
            System.Console.Write("Please type in a move number: ");


            /**/
        } // end while loop
    }
}
{//声明类 私有静态字符串[,]板=新字符串[3,3]{ {“”,“”},//顶行 {“”,“”},//中间行 {“”,“”}//最下面一行 }; 私有静态void print() { System.Console.WriteLine(“\n{0}{1}{2}”,board[2,0],board[2,1],board[2,2]); System.Console.WriteLine(“-------------”); System.Console.WriteLine(“{0}{1}}{2}”,board[1,0],board[1,1],board[1,2]); System.Console.WriteLine(“-------------”); System.Console.WriteLine(“{0}{1}}{2}\n”,板[0,0],板[0,1],板[0,2]); } 私有静态void calculateMoves() { System.Console.Write(“可能的移动是:”); int n=1;//用于列出所有可能的移动。 对于(int i=0;i<3;i++) { 对于(int j=0;j<3;j++) { 如果(板[i,j]=“”) { System.Console.Write(“{0}”,n); } n++; } }//结束打印可能的移动。 System.Console.WriteLine();//转到下一行 } 静态void Main() {//程序从主函数开始(这是一个方法声明) System.Console.WriteLine(“\n欢迎来到Theeletnoob的简单井字游戏!”); System.Console.WriteLine(“用C#编写,在GPL下发布”); System.Console.WriteLine(“板是3乘3的,键入一个数字在那里移动”); System.Console.WriteLine(“所以1是左下角,9是右上角,就像标准键盘一样。\n”); int winner=0;//还没有赢家。 //写一篇 System.Console.WriteLine(“你是x”); //创建董事会 int-move; 打印(); calculateMoves(); System.Console.Write(“请键入移动号码:”); while(winner==0&&int.TryParse(Console.ReadLine(),out move)) { 移动--; 如果(移动==0)板[0,0]=“x”; 如果(移动==1)板[0,1]=“x”; 如果(移动==2)板[0,2]=“x”; 如果(移动==3)板[1,0]=“x”; 如果(移动==4)板[1,1]=“x”; 如果(移动==5)板[1,1]=“x”; 如果(移动==6)板[2,0]=“x”; 如果(移动==7)板[2,1]=“x”; 如果(移动==8)电路板[2,2]=“x”; 打印(); calculateMoves(); System.Console.Write(“请键入移动号码:”); /**/ }//在循环结束时结束 } }

虽然您需要进行验证检查等,但现在应该可以使用bool了。p.最好使用bool而不是数组中的字符串,同时使用bool作为while条件

,因为它显示的错误是结束后的1行,可能是某个地方缺少了一个
}
?如果主要问题是答案,您需要检查答案是否正确。好的,这个问题得到了解决,谢谢你的帮助,然而,现在while循环经过两次,就像我输入输入一样,然后它在不要求输入的情况下再次经过,然后在第二个循环中,它再次要求输入。另外,我的代码应该编辑电路板并显示一个x,但它没有这样做,有什么原因吗?这是混乱的代码。(相同的粘贴编辑代码)不是这样的,我的问题是,即使在修复之后,代码在这里也不会显示x,它应该在下一个循环中显示。这是一个示例运行的输出。首先,它不会在第二次请求输入,也不会在第二次显示中间的X。知道为什么吗?