public GameBuilder SetBoard(int size, BoardStrategy boardStrat) { if (size % 2 == 1) { Board = new Board(size); switch (boardStrat) { case BoardStrategy.Standard: GameScenario.FillBoardStandard(Board); break; case BoardStrategy.BallRandom: GameScenario.FillBoardBallRandom(Board); break; case BoardStrategy.EnemyAmongUs: GameScenario.FillBoardEnemyAmongUs(Board); break; } return(this); } else { // lever une exception pour taille de board incorrect throw new ArgumentException("La taille du Board doit être impaire"); } }
public void DoMoveBallTest3() { BoardStrategy strat = BoardStrategy.Standard; g = new GameBuilder().SetBoard(5, strat).SetPlayer0("Clément", "vert").SetPlayer1("Pierre", "orange").Build(); commandMove = new MoveBall(0, 2, 0, 1); //Console.Write(g.Board.ToString()); //Console.Write(commandMove.ToString()); commandMove.Do(g); //Console.Write(g.Board.ToString()); TileTypes[,] expectedTilesSize5 = { { TileTypes.PiecePlayer0, TileTypes.BallPlayer0, TileTypes.PiecePlayer0, TileTypes.PiecePlayer0, TileTypes.PiecePlayer0 }, { TileTypes.Default, TileTypes.Default, TileTypes.Default, TileTypes.Default, TileTypes.Default }, { TileTypes.Default, TileTypes.Default, TileTypes.Default, TileTypes.Default, TileTypes.Default }, { TileTypes.Default, TileTypes.Default, TileTypes.Default, TileTypes.Default, TileTypes.Default }, { TileTypes.PiecePlayer1, TileTypes.PiecePlayer1, TileTypes.BallPlayer1, TileTypes.PiecePlayer1, TileTypes.PiecePlayer1 } }; for (int i = 0; i < g.Board.BoardSize; i++) { for (int j = 0; j < g.Board.BoardSize; j++) { Assert.IsTrue(g.Board.Tiles[i, j] == expectedTilesSize5[i, j]); } } }
public void InitMovePieceTests() { BoardStrategy strat = BoardStrategy.Standard; g = new GameBuilder().SetBoard(3, strat).SetPlayer0("Clément", "vert").SetPlayer1("Pierre", "orange").Build(); commandMove = new MoveBall(0, 1, 0, 0); }
public void TestStandardBuilder() { BoardStrategy strat = BoardStrategy.Standard; game = new GameBuilder().SetBoard(3, strat).SetPlayer0(pl0).SetPlayer1(plIA).Build(); TileTypes[,] tiles = { { TileTypes.PiecePlayer0, TileTypes.BallPlayer0, TileTypes.PiecePlayer0 }, { TileTypes.Default, TileTypes.Default, TileTypes.Default }, { TileTypes.PiecePlayer1, TileTypes.BallPlayer1, TileTypes.PiecePlayer1 } }; Assert.AreEqual(3, game.Board.BoardSize); Assert.IsTrue(game.GameHasIA); Assert.IsFalse(game.Finished); Assert.IsTrue(game.CurrentPlayer == 0 || game.CurrentPlayer == 1); Assert.AreEqual(pl0, game.Players[0]); Assert.AreEqual(plIA, game.Players[1]); for (int i = 0; i < (int)Math.Sqrt(game.Board.Tiles.Length); i++) { for (int j = 0; j < (int)Math.Sqrt(game.Board.Tiles.Length); j++) { Assert.AreEqual(tiles[i, j], game.Board.Tiles[i, j]); } } }
public void TestEndTurnInitialize() { //build BoardStrategy strat = BoardStrategy.Standard; game = new GameBuilder().SetBoard(7, strat).SetPlayer0("Clément", "vert").SetPlayer1("Pierre", "orange").Build(); previousPlayer = game.CurrentPlayer; endTurn = new EndTurn(); }
public void TestBallRandomBuilderWithIA() { BoardStrategy strat = BoardStrategy.BallRandom; game = new GameBuilder().SetBoard(3, strat).SetPlayer0(pl0).SetPlayer1(plIA).Build(); Assert.AreEqual(3, game.Board.BoardSize); Assert.IsTrue(game.GameHasIA); Assert.IsFalse(game.Finished); Assert.IsTrue(game.CurrentPlayer == 0 || game.CurrentPlayer == 1); Assert.AreEqual(pl0, game.Players[0]); Assert.AreEqual(plIA, game.Players[1]); }