You are required to implement a client server multiplayer version of an Othello game using Java. You must design your game using OOP concept. You will also require to develop an appropriate protocol that reflects the game rules.
2.
The Game Description
Othello is a strategy board game played between two players: Black and White. It is played using a square 8x8 board (usually Green in colour), called the Othello board and 64 discs. The discs are coloured black on one side and white on the opposite side. Each player shall be assigned to play a colour. The Object of the game is to have the majority of same colour discs on the board at the end of the game. The winner is the player who has more discs of his colour than his opponent at the end of the game. This will happen when neither of the two players has a legal move. Generally at this stage all 64 squares are occupied. The game starts with the center 4 squares of the board occupied with 2 black and 2 white discs arranged diagonally as shown in the Figure 1 below.
Figure 1
A move is made by placing a disc of the player’s colour on the board in a position that “out-flanks” one or more of the opponent’s discs. The opponent’s disc(s), which is/are outflanked in that move, will then be flipped over to the player’s colour. A disc or row of discs is outflanked when it is surrounded at the ends by discs of the opposite colour. An illustration of the term “out-flanking”: • In Figure 2 below, disc A is white, discs B, C, and D are black, white to move. Figure 2
1
•
White can out-flank discs B, C and D by placing disc E on the board as shown in Figure 3 below. Figure 3
• •
After white had placed disc E, discs B, C, and D are flipped over to make them white. A single move may outflank any number of discs in one or more rows in any direction. All the discs, which are outflanked, will be flipped. Discs may only be outflanked as a direct result of a move and must