- TicTacToe
- Connect Four
- NTicTacToe
#How To Run
0. Show help: java -jar BoardGames.jar
java -jar BoardGames.jar tic
java -jar BoardGames.jar ntic
java -jar BoardGames.jar connect
-
Board is bassed to Game as composition from their respective runner classes (Run*.java) Since there is an inherent assumption about how these games work. So, the client should not have access to changes the rules by creating a custom board.
-
Game has an AbstarctGame because the 3 games have different rules.
-
Board has a concrete class BaseBoard because the properties of a board is not changing much
-
The "AI" is nothing but
Collections.shuffle(moves);
, PlayerA and PlayerB try their luck :)