void setGame (TTTGame value)
		{
			if (Game != value) {
				Game = value;
				gameView.Game = Game;
				ratingControl.Rating = Game.Rating;
			}
		}
 void setGame(TTTGame value)
 {
     if (Game != value)
     {
         Game                 = value;
         gameView.Game        = Game;
         ratingControl.Rating = Game.Rating;
     }
 }
 public void GIVEN_game_is_over_WHEN_place_a_move_THEN_exception_is_thrown()
 {
     var game = new TTTGame();
     game.placeCross(0, 0);
     game.placeCircle(1, 0);
     game.placeCross(0, 1);
     game.placeCircle(1, 1);
     game.placeCross(0, 2);
     game.placeCircle(1, 2);
 }
示例#4
0
		public TTTGame StartNewGame ()
		{
			if (CurrentGame != null && CurrentGame.Moves.Count == 0)
				return CurrentGame;

			TTTGame game = new TTTGame ();
			Games.Insert (0, game);

			CurrentGame = game;
			return game;
		}
        public void GIVEN_game_has_a_winner_cross_THEN_game_is_over()
        {
            var game = new TTTGame();

            game.placeCross(0, 0);
            game.placeCircle(1, 0);
            game.placeCross(0, 1);
            game.placeCircle(1, 1);
            game.placeCross(0, 2);

            Assert.IsTrue(game.isOver());
        }
示例#6
0
        private static void PlayGame()
        {
            TTTGame         game   = new TTTGame();
            TTTModel        model  = new TTTModel();
            List <TTTModel> models = new List <TTTModel>();
            char            player = 'x';

            ShowBoard(game.Board);

            do
            {
                TTTCoord move;

                do
                {
                    Console.WriteLine("Vertical coordinate:");
                    string vert = Console.ReadLine();

                    Console.WriteLine("Horizontal coordinate:");
                    string hori = Console.ReadLine();

                    move = new TTTCoord(Convert.ToInt32(vert) - 1, Convert.ToInt32(hori) - 1);
                } while (!game.CheckMove(player, move));

                model  = game.PlayMove(player, move);
                player = game.Turn;

                models.Add(model);

                ShowBoard(game.Board);

                Console.WriteLine();
            } while (model.Winnner == default);

            char result = model.Winnner;

            if (result != default)
            {
                Console.WriteLine(result + " wins! " + game.MovesLeft + " moves left.");
            }
            else
            {
                Console.WriteLine("No one wins.");
            }

            Console.WriteLine("\nSaving game to file...\n");

            TSVRecorder tsvRecorder = new TSVRecorder();

            tsvRecorder.SaveGameToCSV(models.ToArray());

            Console.WriteLine("Game saved.");
        }
示例#7
0
        public TTTGame StartNewGame()
        {
            if (CurrentGame != null && CurrentGame.Moves.Count == 0)
            {
                return(CurrentGame);
            }

            TTTGame game = new TTTGame();

            Games.Insert(0, game);

            CurrentGame = game;
            return(game);
        }
示例#8
0
        private static void PlayRandomGames(int numberOfGames)
        {
            char   startPlayer = 'x';
            Random random      = new Random();

            for (int i = 0; i < numberOfGames; i++)
            {
                TTTGame         game   = new TTTGame();
                TTTModel        model  = new TTTModel();
                List <TTTModel> models = new List <TTTModel>();
                char            player = startPlayer;

                do
                {
                    TTTCoord move;

                    do
                    {
                        move = new TTTCoord(random.Next(3), random.Next(3));
                    } while (!game.CheckMove(player, move));

                    model  = game.PlayMove(player, move);
                    player = game.Turn;

                    models.Add(model);
                } while (model.Winnner == default && game.MovesLeft > 0);

                ShowBoard(game.Board);

                char result = model.Winnner;

                if (result != default)
                {
                    Console.WriteLine(result + " wins! " + game.MovesLeft + " moves left.");
                }
                else
                {
                    Console.WriteLine("No one wins.");
                }

                Console.WriteLine("\nSaving game to file...\n");

                TSVRecorder tsvRecorder = new TSVRecorder();
                tsvRecorder.SaveGameToCSV(models.ToArray());

                Console.WriteLine($"Game {i + 1} saved.");

                startPlayer = game.OppositePlayer(player);
            }
        }
        public void GIVEN_game_with_all_cells_occupied_WHEN_no_three_in_a_line_THEN_game_is_a_draw()
        {
            var game = new TTTGame();
            game.placeCircle(2, 2);
            game.placeCross(0, 0);
            game.placeCircle(0, 1);
            game.placeCross(0, 2);
            game.placeCircle(1, 0);
            game.placeCross(1, 1);
            game.placeCircle(1, 2);
            game.placeCross(2, 1);
            game.placeCircle(2, 0);

            Assert.AreEqual(3, game.winner());
        }
示例#10
0
        public override void WillDisplay(UITableView tableView, UITableViewCell cell, NSIndexPath indexPath)
        {
            TTTGame game = Profile.Games [indexPath.Row];

            cell.TextLabel.Text = game.Date.ToString();
            TTTGameResult result = game.Result;

            if (result == TTTGameResult.Victory)
            {
                cell.DetailTextLabel.Text = "Victory";
            }
            else if (result == TTTGameResult.Defeat)
            {
                cell.DetailTextLabel.Text = "Defeat";
            }
            else if (result == TTTGameResult.Draw)
            {
                cell.DetailTextLabel.Text = "Draw";
            }
            else
            {
                cell.DetailTextLabel.Text = "In Progress";
            }
        }
 public void GIVEN_new_game_THEN_can_place_a_cross()
 {
     var game = new TTTGame();
     game.placeCross(1, 1);
 }
 public void GIVEN_new_game_WHEN_three_crosses_in_right_column_THEN_cross_wins()
 {
     var game = new TTTGame();
     game.placeCross(0, 2);
     game.placeCircle(2, 0);
     game.placeCross(1, 2);
     game.placeCircle(2, 1);
     game.placeCross(2, 2);
     Assert.AreEqual(2, game.winner());
 }
 public void GIVEN_new_game_WHEN_three_crosses_in_diagonal_from_top_left_THEN_cross_wins()
 {
     var game = new TTTGame();
     game.placeCross(0, 0);
     game.placeCircle(2, 0);
     game.placeCross(1, 1);
     game.placeCircle(2, 1);
     game.placeCross(2, 2);
     Assert.AreEqual(2, game.winner());
 }
        public void GIVEN_new_game_WHEN_three_crosses_in_top_row_THEN_cross_wins()
        {
            var game = new TTTGame();
            game.placeCross(0, 0);
            game.placeCircle(1, 0);
            game.placeCross(0, 1);
            game.placeCircle(1, 1);
            game.placeCross(0, 2);

            Assert.AreEqual(2, game.winner());
        }
 public void GIVEN_new_game_THEN_can_place_a_circle()
 {
     var game = new TTTGame();
     game.placeCircle(1, 1);
 }
示例#16
0
 void Start()
 {
     tttGame = GetComponentInParent <TTTGame>();
     image   = GetComponent <Image>();
     button  = GetComponent <Button>();
 }
 public void GIVEN_new_game_WHEN_cell_occupied_THEN_can_not_make_move_in_that_cell()
 {
     var game = new TTTGame();
     game.placeCross(1, 1);
     game.placeCircle(1, 1);
 }
 public void GIVEN_new_game_WHEN_place_a_cross_THEN_can_place_a_circle_in_a_different_cell()
 {
     var game = new TTTGame();
     game.placeCross(1, 1);
     game.placeCircle(1, 2);
 }
 public void GIVEN_new_game_THEN_game_is_not_over()
 {
     var game = new TTTGame();
     Assert.IsFalse(game.isOver());
 }
 public void GIVEN_new_game_WHEN_last_move_placed_cross_THEN_can_not_place_a_cross()
 {
     var game = new TTTGame();
     game.placeCross(1, 1);
     game.placeCross(1, 2);
 }