private void inputcommand(string inpuT)
        {
            if (inpuT[0] == 'f' && inpuT.Length == 4)
            {
                int col = inpuT[2] - 97; // 97 = A
                int row = inpuT[3] - 48; //  48 = 0
                board.TryFlag(row, col);
            }

            if (inpuT[0] == 'r' && inpuT.Length == 4)
            {
                int col = inpuT[2] - 97; // 97 = A
                int row = inpuT[3] - 48; //  48 = 0
                board.TrySweep(row, col);
            }

            if (inpuT[0] == 'q')
            {
                quit = true;
            }
            else if (inpuT[0] != 'r' && inpuT[0] != 'f' && inpuT.Length != 4)
            {
                System.Console.WriteLine("unknown Command");
            }
        }
예제 #2
0
        // Kör spelet efter initering. Metoden returnerar när spelet tar
        // s**t genom att något av följande händer:
        // - Spelaren avslutade spelet med kommandot 'q'.
        // - Spelaren förlorade spelet genom att röja en minerad ruta.
        // - Spelaren vann spelet genom att alla ej minerade rutor är röjda.
        public int Run() // Stubbe
        {
            Console.WriteLine();
            Console.Clear();
            board.Print();

            while (!(quit || board.PlayerWon || board.GameOver))
            {
                Console.WriteLine();


                string input = ReadCommand("> ");
                if (input.Length == 1)
                {
                    quit = true;
                    return(status = 2);
                }

                var command = input[0].ToString();
                var cols    = char.Parse(input[2].ToString());
                int col     = ((int)char.ToUpper(cols)) - 65;
                var row     = int.Parse(input[3].ToString());



                if (command == "r")
                {
                    if (board.TryReveal(row, col))
                    {
                        board.Print();
                    }

                    if (board.GameOver)
                    {
                        Console.WriteLine();
                        Console.WriteLine("GAME OVER!");
                        return(status = 1);
                    }
                    if (board.PlayerWon)
                    {
                        Console.WriteLine();
                        Console.WriteLine("WELL DONE!");
                        return(status = 0);
                    }
                    continue;
                }
                if (command == "f")
                {
                    if (board.TryFlag(row, col))
                    {
                        board.Print();
                    }
                }
            }
            return(status);
        }
예제 #3
0
        private bool ExecuteCommand(string input)
        {
            //om f så ska den flagga
            if (input[0] == 'f')
            {
                if (input.Length == 1)
                {
                    System.Console.WriteLine("syntax error");
                    return(false);
                }
                int col = input[2] - 97;// A=0 B=1 C=3 osv
                int row = input[3] - 48;
                return(board.TryFlag(row, col));
            }
            // om r så ska den sweepa
            if (input[0] == 'r')
            {
                if (input.Length == 1)
                {
                    System.Console.WriteLine("syntax error");
                    return(false);
                }
                int col = input[2] - 97;// A=0 B=1 C=3 osv
                int row = input[3] - 48;
                return(board.TrySweep(row, col));
            }

            // om q så ska den quita
            if (input[0] == 'q')
            {
                return(quit = true);
            }
            else if (input[0] != 'f' && input[0] != 'r')
            {
                System.Console.WriteLine("unknow command");
            }
            return(true);
        }