The Project: Programming a Board Game
Task Description: To programme a Board Game based on the vertical and horizontal movement of chips on an n by n Cartesian grid (Game Board) with n≤12. The movement of the chips is according to a modified use of the principle of an ordered pair. The chips are placed on the Game Board according to a pre-defined format. Each chip is placed at the point of intersection of a horizontal and a vertical line. The Board Game uses m chips (m/2 for each side for a standard version/variant of the Game, m ≤ 60 and is even ). A captured chip is removed from the board and counts in favour of the player whose chip effected the capture. x cards (each with a numerical coordinate, x ≤ 9) are selected at random from a deck of cards, two of which must be selected and declared as an ordered pair and on the basis of which each movement will be made on the Cartesian grid. When the number of cards in a player's hands becomes 1, he/she tops up by randomly selecting (x-1) cards from the deck and turn of play passes to his/her opponent. Players take equal turns to play.
The game comes to an end when:
a) The number of chips on the Board of one the players is double the number of chips of the opponent. When this happens, the game comes to an end with the former as the winner of the game;
b) The total number of chips on the Board is 3 (three), which automatically collapse into the condition stated in (a) above.
A set of play contains at least 3 games. A set contains an odd number of individual games.
Materials for the Game:
1) m specially designed chips;
2) A pack of specially designed numerical cards with special numerical codes which are used as coordinates.
Language: C++ or Java.