public void AIPlace() { if (_game.CheckIfBoardHaveSpace(board)) { _game.AIPlace(board); } else { board = _game.CreateBoard(); } }
public void Play() { Console.WriteLine("Indtast spiller navn"); player = Console.ReadLine(); do { Print(); do { _game = new GameWinnerService(); // User Turn do { Console.WriteLine("Det er " + player + "s tur"); Console.Write(player + " indsæt lodret række "); pos1 = Console.ReadLine(); do { if (int.TryParse(pos1, out p1r)) { while (p1r < 0 || p1r > 2) { Console.WriteLine("Du skal indtaste et tal mellem (0 - 2) for din lodrette række"); pos1 = Console.ReadLine(); if (int.TryParse(pos1, out p1r)) { } } } else { while (!int.TryParse(pos1, out p1r)) { Console.WriteLine("Du skal indtaste et tal for din lodrette række"); pos1 = Console.ReadLine(); } } }while (!int.TryParse(pos1, out p1r) && p1r < 0 || p1r > 2); Console.Write(player + " indsæt vandret række: "); pos2 = Console.ReadLine(); while (!int.TryParse(pos2, out p2r)) { Console.WriteLine("Du skal indtaste et tal for din vandret række"); pos2 = Console.ReadLine(); } while (p2r < 0 || p2r > 2) { Console.WriteLine("Du skal indtaste et tal mellem (0 - 2) for din vandret række"); pos2 = Console.ReadLine(); } if (_game.CheckIfFree(board, p1r, p2r)) { board[p1r, p2r] = 'X'; SpaceFilled = false; } else { Console.WriteLine("Indtastet plads er allerede taget"); } }while (SpaceFilled); SpaceFilled = true; //Check for winner NoWinner = CheckForWinner(); if (NoWinner) { //AI placement if (board[1, 1] == 'X' || board[1, 1] == 'O') { AIPlace(); } else { board[1, 1] = 'O'; } // Check for winner NoWinner = CheckForWinner(); if (NoWinner) { Console.Clear(); Print(); } } }while (NoWinner); Console.WriteLine("Spille igen? [Y] [N]"); choice = Console.ReadKey().KeyChar; switch (choice) { case 'y': NoWinner = true; running = true; Console.Clear(); board = _game.CreateBoard(); break; case 'n': Environment.Exit(0); break; default: Console.WriteLine("Kan ikke genkende dit svar"); break; } }while (running); }