Skip to content

Instantly share code, notes, and snippets.

View tarynsauer's full-sized avatar

Taryn Sauer tarynsauer

  • Madison, WI
View GitHub Profile
public class CLIGame extends Game {
...
public static void main(String[] args) throws IOException {
CLIGame newGame = new CLIGame();
newGame.startGame();
newGame.playGame();
}
...
}
package tictactoe;
import static tictactoe.TictactoeConstants.*;
public class GameSettings {
private UI ui;
private int boardSize;
private Player playerOne;
private Player playerTwo;
package tictactoe;
public class MockGameSettings extends GameSettings {
private UI ui;
private int boardSize;
private Player playerOne;
private Player playerTwo;
private Player playerFirstMove;
// Original functions
public void returnBoardSize() {
ui.requestBoardSize();
String size = ui.returnBoardSize();
if (tryParse(size)) {
validateBoardSize(size);
Integer intSize = Integer.parseInt(size);
setBoardSize(intSize);
} else {
ui.invalidBoardSizeMessage(size);
public boolean validMove(String move) {
if (tryParse(move)) { // Checks if string can be parsed
int cellIndex = (new Integer(move) - 1);
int totalCellsCount = rows * rows;
return (cellIndex >= 0) && (cellIndex < totalCellsCount) && isOpen(cellIndex); // Checks if parsed value is valid based on game board
} else {
return false;
}
}
public String getNextMove() {
String move = "0";
while (!board.validMove(move)) {
try {
move = bufferedReader.readLine();
} catch (IOException e) {
e.printStackTrace();
} catch (NumberFormatException e) {
e.printStackTrace();
} finally {
package tictactoe;
import java.io.IOException;
import static tictactoe.TictactoeConstants.O_MARKER;
import static tictactoe.TictactoeConstants.X_MARKER;
/**
* Created by Taryn on 1/18/14.
*/
Main-Class: tictactoe.GameRunner
package tictactoe;
abstract class AbstractPlayer implements Player {
private String marker;
private Player opponent;
public String getMarker() {
return marker;
}
package tictactoe;
abstract class AlphaBetaPlayer implements AbstractPlayer {
private String marker;
private Player opponent;
public AbstractAlphaBeta(Player player) {
this.marker = player.getMarker();
this.opponent = player.getOpponent();
}