public void TestSinglePlayerGame() { LeastSymmetricPlayer player = new LeastSymmetricPlayer("john"); server.AddPlayer(player, "blue"); server.InitPlayerPositions(); }
public void Initialize() { server = new Server(); rplayer = new RandomPlayer("jim"); lplayer = new LeastSymmetricPlayer("reggie"); mplayer = new MostSymmetricPlayer("michael"); randBlue = new Player(rplayer, "blue"); tiles = new List <Tile> { new Tile(1, new List <int> { 0, 1, 2, 3, 4, 5, 6, 7 }), new Tile(2, new List <int> { 0, 1, 2, 4, 3, 6, 5, 7 }), new Tile(3, new List <int> { 0, 6, 1, 5, 2, 4, 3, 7 }), new Tile(4, new List <int> { 0, 5, 1, 4, 2, 7, 3, 6 }), new Tile(5, new List <int> { 0, 2, 1, 4, 3, 7, 5, 6 }), }; }
public void Initialize() { server = new Server(); randomPlayer = new RandomPlayer("jim"); leastSymmetricPlayer = new LeastSymmetricPlayer("reggie"); mostSymmetricPlayer = new MostSymmetricPlayer("michael"); //randBlue = new PlayerProxy(randomPlayer, "blue", 9999); //mostsymRed = new PlayerProxy(mostSymmetricPlayer, "red", 9999); //leastsymRed = new PlayerProxy(leastSymmetricPlayer, "red", 9999); tiles = new List <Tile> { new Tile(1, new List <int> { 0, 1, 2, 3, 4, 5, 6, 7 }), new Tile(2, new List <int> { 0, 1, 2, 4, 3, 6, 5, 7 }), new Tile(3, new List <int> { 0, 6, 1, 5, 2, 4, 3, 7 }), new Tile(4, new List <int> { 0, 5, 1, 4, 2, 7, 3, 6 }), new Tile(5, new List <int> { 0, 2, 1, 4, 3, 7, 5, 6 }), }; }
public void TestConstructorLeastSymmetricPlayer() { for (int i = 0; i < Constants.colors.Count; i++) { LeastSymmetricPlayer player = new LeastSymmetricPlayer("john"); Player p = new Player(player, Constants.colors[i]); } }
void AddTwoPlayers() { LeastSymmetricPlayer p1 = new LeastSymmetricPlayer("john"); RandomPlayer p2 = new RandomPlayer("john"); server.AddPlayer(p1, "blue"); server.AddPlayer(p2, "green"); }
public void TestReplacePlayer() { RandomPlayer mPlayer1 = new RandomPlayer("john"); LeastSymmetricPlayer replacement = new LeastSymmetricPlayer("adam"); Player player = new Player(mPlayer1, "blue"); player.ReplaceMPlayer(replacement); Assert.AreEqual("adam", player.iplayer.GetName()); }
public void TestLeastSymmetricPlayerPlayTurnMultiLegalHandFirstFlipped() { LeastSymmetricPlayer mPlayer = new LeastSymmetricPlayer("mark"); List <string> other_colors = new List <string>(); foreach (string color in Constants.colors) { if (color != "blue") { other_colors.Add(color); } } mPlayer.Initialize("blue", other_colors); server.AddPlayer(mPlayer, "blue"); Player player = new Player(mPlayer, "blue"); server.board.AddPlayerToken("blue", new Position(0, -1, 5)); // symmetricity of 1, illegal player.AddTiletoHand(testTile1); // symmetricity of 4, legal Tile testTile4 = new Tile(4, new List <int>(8) { 0, 5, 1, 3, 2, 6, 4, 7 }); // symmetricity of 4, legal Tile testTile5 = new Tile(5, new List <int>(8) { 0, 2, 1, 4, 3, 7, 5, 6 }); player.AddTiletoHand(testTile5); player.AddTiletoHand(testTile4); server.gameState = Server.State.safe; mPlayer.playerState = LeastSymmetricPlayer.State.loop; Tile tobePlayed = player.iplayer.PlayTurn(server.board, player.Hand, 32); // same symmetricity, both 4 and 5 legal. But 4 was added to hand first so it should be 4 Assert.IsTrue(testTile5.CompareByPath(tobePlayed)); for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { Assert.IsNull(server.board.tiles[i][j]); } } }
public void TestLeastSymmetricPlayerPlayTurnNoLegalHand() { LeastSymmetricPlayer mPlayer = new LeastSymmetricPlayer("mark"); List <string> other_colors = new List <string>(); foreach (string color in Constants.colors) { if (color != "blue") { other_colors.Add(color); } } mPlayer.Initialize("blue", other_colors); server.AddPlayer(mPlayer, "blue"); Player player = new Player(mPlayer, "blue"); server.board.AddPlayerToken("blue", new Position(0, -1, 5)); // symmetricity of 1 player.AddTiletoHand(testTile1); // symmetricity of 4 Tile testTile4 = new Tile(4, new List <int>(8) { 0, 5, 1, 3, 2, 6, 4, 7 }); player.AddTiletoHand(testTile4); // right of tile placement Tile testTile5 = new Tile(5, new List <int>(8) { 6, 0, 7, 1, 2, 3, 4, 5 }); // below of tile placement Tile testTile6 = new Tile(6, new List <int>(8) { 0, 7, 1, 6, 2, 3, 4, 5 }); server.board.PlaceTile(testTile5, 1, 0); server.board.PlaceTile(testTile6, 0, 1); server.gameState = Server.State.loop; mPlayer.playerState = LeastSymmetricPlayer.State.loop; Tile tobePlayed = player.iplayer.PlayTurn(server.board, player.Hand, 33); Assert.IsTrue(testTile4.CompareByPath(tobePlayed)); }
public void TestLeastSymmetricPlayerPlayTurnOneLegalHand() { LeastSymmetricPlayer mPlayer = new LeastSymmetricPlayer("mark"); List <string> other_colors = new List <string>(); foreach (string color in Constants.colors) { if (color != "blue") { other_colors.Add(color); } } mPlayer.Initialize("blue", other_colors); server.AddPlayer(mPlayer, "blue"); Player player = new Player(mPlayer, "blue"); server.board.AddPlayerToken("blue", new Position(0, -1, 5)); // symmetricity of 1 player.AddTiletoHand(testTile1); // symmetricity of 4 Tile testTile4 = new Tile(4, new List <int>(8) { 0, 5, 1, 3, 2, 6, 4, 7 }); player.AddTiletoHand(testTile4); server.gameState = Server.State.safe; mPlayer.playerState = LeastSymmetricPlayer.State.loop; Tile tobePlayed = player.iplayer.PlayTurn(server.board, player.Hand, 33); Assert.AreEqual(1, server.alive.Count); Assert.IsTrue(testTile4.CompareByPath(tobePlayed)); for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { Assert.IsNull(server.board.tiles[i][j]); } } }