Skip to content

Commit

Permalink
Merge branch 'khmasterpostdisaster' into jesse0809
Browse files Browse the repository at this point in the history
Conflicts:
	skrull-server/src/skrull/game/model/rockpaperscissors/RockPaperScissors.java
	skrull-test/skrull-server/skrull/game/model/tictactoe/TicTacToeTest.java
  • Loading branch information
gjesse committed Aug 9, 2012
2 parents 5b52908 + c11a024 commit 21dbc46
Show file tree
Hide file tree
Showing 5 changed files with 207 additions and 33 deletions.
2 changes: 1 addition & 1 deletion skrull-base/src/skrull/game/model/Move.java
Expand Up @@ -10,7 +10,7 @@ public class Move implements IMove {
// 0 thru 8 for tic tac toe, 0 thru 2 for rock paper scissors.
// the game model will know who made the move and what to put in the location.
public void setMoveIndex(int m){
moveIndex = m;
this.moveIndex = m;
}

@Override
Expand Down
Expand Up @@ -61,6 +61,7 @@ public void doProcessMove(IClientAction action) throws SkrullGameException {

// Announce that a move was made.
setBroadcastMessage("Player " + action.getPlayer().getPlayerToken() + " has chosen. ");
setBroadcastMessage("Player " + action.getPlayer() + " joined");

setMoveCount(getMoveCount() + 1);
if (getMoveCount() == getMaxMoves()){
Expand All @@ -72,7 +73,7 @@ public void doProcessMove(IClientAction action) throws SkrullGameException {

int p1Choice = board.getBoardLoc(0).getMoveIndex();
int p2Choice = board.getBoardLoc(1).getMoveIndex();


if((p1Choice == ROCK && p2Choice == SCISSORS) ||
(p1Choice == PAPER && p2Choice == ROCK) ||
(p1Choice == SCISSORS && p2Choice == PAPER))
Expand Down
Expand Up @@ -108,7 +108,7 @@ public void doProcessMove(IClientAction action) throws SkrullGameException {
}

private boolean haveWinner() {
System.out.println("in the have winner function!");
// TODO: take this line out -- System.out.println("in the have winner function!");
boolean winnerDetected = false;

// winning combinations rows, columns, diagonals
Expand Down
Expand Up @@ -59,7 +59,7 @@ public void setUp() throws Exception {
mygame.joinGame(actionJoin);
}

@Test
@Test(expected = SkrullGameException.class)
public void testJoinGame() throws Exception {
actionJoin = new ClientAction(gameId, player3, ActionType.JOIN_GAME, GameType.TIC_TAC_TOE, "", null);
mygame.joinGame(actionJoin);
Expand All @@ -79,7 +79,7 @@ public void testDoProcessMoveMoveCount() throws SkrullGameException {

move2.setMoveIndex(2);
move2.setPlayer(player2);
actionMove2 = new ClientAction(gameId, player1, ActionType.MOVE, GameType.ROCK_PAPER_SCISSORS, "", move2);
actionMove2 = new ClientAction(gameId, player2, ActionType.MOVE, GameType.ROCK_PAPER_SCISSORS, "", move2);
mygame.doProcessMove(actionMove2);

assertEquals(2,mygame.getMoveCount());
Expand All @@ -92,32 +92,50 @@ public void testDoProcessMoveWinner() throws SkrullGameException {
actionMove1 = new ClientAction(gameId, player1, ActionType.MOVE, GameType.ROCK_PAPER_SCISSORS, "", move1);
mygame.doProcessMove(actionMove1); // TODO

assertEquals(1,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());
assertEquals("1",actionMove1.getPlayer().getPlayerToken());

move2.setMoveIndex(2);
move2.setPlayer(player2);
actionMove1 = new ClientAction(gameId, player1, ActionType.MOVE, GameType.ROCK_PAPER_SCISSORS, "", move1);
mygame.doProcessMove(actionMove1);
actionMove2 = new ClientAction(gameId, player2, ActionType.MOVE, GameType.ROCK_PAPER_SCISSORS, "", move2);
mygame.doProcessMove(actionMove2);

assertEquals(player2,mygame.getWinner());
assertEquals(2,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(true,mygame.isGameOver());
assertEquals("2",actionMove2.getPlayer().getPlayerToken());

assertEquals(player1,mygame.getWinner());
}

@Test
public void testDoProcessMoveDraw() throws SkrullGameException {

assertEquals(0,mygame.getMoveCount());

move1.setMoveIndex(0);
move1.setPlayer(player1);
move1.setPlayer(player1);
actionMove1 = new ClientAction(gameId, player1, ActionType.MOVE, GameType.ROCK_PAPER_SCISSORS, "", move1);
mygame.doProcessMove(actionMove1); // TODO
mygame.doProcessMove(actionMove1);

assertEquals(1,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());
assertEquals("1",actionMove1.getPlayer().getPlayerToken());

move2.setMoveIndex(0);
move2.setPlayer(player2);
actionMove1 = new ClientAction(gameId, player1, ActionType.MOVE, GameType.ROCK_PAPER_SCISSORS, "", move1);
mygame.doProcessMove(actionMove1);
actionMove2 = new ClientAction(gameId, player2, ActionType.MOVE, GameType.ROCK_PAPER_SCISSORS, "", move2);
mygame.doProcessMove(actionMove2);

assertEquals(player2,mygame.getWinner());
assertEquals(2,mygame.getMoveCount());
assertEquals(true,mygame.isDraw());
assertEquals(true,mygame.isGameOver());
assertEquals("2",actionMove2.getPlayer().getPlayerToken());

assertEquals(null,mygame.getWinner());
}

@Test
public void testRockPaperScissors() {
fail("Not yet implemented"); // TODO
}

}
185 changes: 170 additions & 15 deletions skrull-test/skrull-server/skrull/game/model/tictactoe/TicTacToeTest.java
Expand Up @@ -91,34 +91,189 @@ public void testDoProcessMoveMoveCount() throws SkrullGameException {
mygame.doProcessMove(actionMove2);

assertEquals(2,mygame.getMoveCount());


}

@Test
public void testDoProcessMove() throws SkrullGameException {
@Test
public void testDoProcessNineMoveDrawGame() throws SkrullGameException {

/*
* MOVES MOVE ORDER
* x o o 7 2 6
* o x x 4 1 3
* x x o 5 9 8
*
*/

// TODO play a game here

assertEquals(0,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());

move1.setMoveIndex(1);
move1.setMoveIndex(4);
move1.setPlayer(player1);
actionIsOccupied = new ClientAction(gameId, player1, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move1);
mygame.doProcessMove(actionIsOccupied);

actionMove1 = new ClientAction(gameId, player1, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move1);
mygame.doProcessMove(actionMove1);
assertEquals(1,mygame.getMoveCount());
assertTrue(mygame.getBoard().getBoardLoc(1).equals(move1));
move2.setMoveIndex(2);

assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());
assertEquals("X",actionMove1.getPlayer().getPlayerToken());

move2.setMoveIndex(1);
move2.setPlayer(player2);
actionIsOccupied = new ClientAction(gameId, player2, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move2);
mygame.doProcessMove(actionIsOccupied);
assertTrue(mygame.getBoard().getBoardLoc(2).equals(move2));

actionMove2 = new ClientAction(gameId, player2, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move2);
mygame.doProcessMove(actionMove2);
assertEquals(2,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());

move1.setMoveIndex(5);
move1.setPlayer(player1);
actionMove1 = new ClientAction(gameId, player1, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move1);
mygame.doProcessMove(actionMove1);
assertEquals(3,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());

move2.setMoveIndex(3);
move2.setPlayer(player2);
actionMove2 = new ClientAction(gameId, player2, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move2);
mygame.doProcessMove(actionMove2);
assertEquals(4,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());

move1.setMoveIndex(6);
move1.setPlayer(player1);
actionMove1 = new ClientAction(gameId, player1, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move1);
mygame.doProcessMove(actionMove1);
assertEquals(5,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());

move2.setMoveIndex(2);
move2.setPlayer(player2);

actionMove2 = new ClientAction(gameId, player2, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move2);
mygame.doProcessMove(actionMove2);
assertEquals(6,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());

move1.setMoveIndex(0);
move1.setPlayer(player1);
actionMove1 = new ClientAction(gameId, player1, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move1);
mygame.doProcessMove(actionMove1);
assertEquals(7,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());

move2.setMoveIndex(8);
move2.setPlayer(player2);
actionMove2 = new ClientAction(gameId, player2, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move2);
mygame.doProcessMove(actionMove2);
assertEquals(8,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());

move1.setMoveIndex(7);
move1.setPlayer(player1);
actionMove1 = new ClientAction(gameId, player1, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move1);
mygame.doProcessMove(actionMove1);
assertEquals(9,mygame.getMoveCount());
assertEquals(true,mygame.isDraw());
assertEquals(true,mygame.isGameOver());
}

@Ignore
@Test
public void testTicTacToe() {
fail("Not yet implemented"); // TODO
public void testDoProcessEightMoveWinGame() throws SkrullGameException {
/*
* MOVES MOVE ORDER
* o o o 8 2 6
* o x x 4 1 3
* x x - 5 7 -
*/

assertEquals(0,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());

move1.setMoveIndex(4);
move1.setPlayer(player1);
actionMove1 = new ClientAction(gameId, player1, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move1);
mygame.doProcessMove(actionMove1);
assertEquals(1,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());
assertEquals("X",actionMove1.getPlayer().getPlayerToken());

move2.setMoveIndex(1);
move2.setPlayer(player2);
actionMove2 = new ClientAction(gameId, player2, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move2);
mygame.doProcessMove(actionMove2);
assertEquals(2,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());
assertEquals("O",actionMove2.getPlayer().getPlayerToken());

move1.setMoveIndex(5);
move1.setPlayer(player1);
actionMove1 = new ClientAction(gameId, player1, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move1);
mygame.doProcessMove(actionMove1);
assertEquals(3,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());
assertEquals("X",actionMove1.getPlayer().getPlayerToken());

move2.setMoveIndex(3);
move2.setPlayer(player2);
actionMove2 = new ClientAction(gameId, player2, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move2);
mygame.doProcessMove(actionMove2);
assertEquals(4,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());
assertEquals("O",actionMove2.getPlayer().getPlayerToken());

move1.setMoveIndex(6);
move1.setPlayer(player1);
actionMove1 = new ClientAction(gameId, player1, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move1);
mygame.doProcessMove(actionMove1);
assertEquals(5,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());
assertEquals("X",actionMove1.getPlayer().getPlayerToken());

move2.setMoveIndex(2);
move2.setPlayer(player2);
actionMove2 = new ClientAction(gameId, player2, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move2);
mygame.doProcessMove(actionMove2);
assertEquals(6,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());
assertEquals("O",actionMove2.getPlayer().getPlayerToken());

move1.setMoveIndex(7);
move1.setPlayer(player1);
actionMove1 = new ClientAction(gameId, player1, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move1);
mygame.doProcessMove(actionMove1);
assertEquals(7,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(false,mygame.isGameOver());
assertEquals("X",actionMove1.getPlayer().getPlayerToken());

move2.setMoveIndex(0);
move2.setPlayer(player2);
actionMove2 = new ClientAction(gameId, player2, ActionType.MOVE, GameType.TIC_TAC_TOE, "", move2);
mygame.doProcessMove(actionMove2);
assertEquals(8,mygame.getMoveCount());
assertEquals(false,mygame.isDraw());
assertEquals(true,mygame.isGameOver());
assertEquals(player2, mygame.getWinner());
assertEquals("O",actionMove2.getPlayer().getPlayerToken());

}

@Test
Expand Down

0 comments on commit 21dbc46

Please sign in to comment.