Question
Note that I only need to make tic tac toe, but it should be a general framework to accomodate the other games. The requirements are:
Note that I only need to make tic tac toe, but it should be a general framework to accomodate the other games.
The requirements are: You will create a reusable framework for two-player board games. To demonstrate that your framework can be easily adapted to different games, your design must accommodate all the following games in the same software: Tic-tac-toe. 3x3 board, the first player to place three pieces in a horizontal, vertical, or diagonal row wins. (The Exploratorium, 2000) Reversi aka Othello. 8x8 board, the winner makes pieces of their colour constitute a majority of the pieces on the board at the end of the game. (Masters Traditional Games, n.d.) Nine Mens Morris aka Mills. 24-intersections board, the first player leaves the opponent with fewer than three pieces or no legal moves, by forming vertical or horizontal lines of three in a row. (Masters Traditional Games, n.d.)
To demonstrate the feasibility and effectiveness of the design, you must implement one of the above games using C#.
Your design should extract as much commonality as possible from the different games so that the framework is extensible and reusable for different games. Your design should cater for different modes of play, including: Human vs Human Computer vs Human
With human players, the system must check the validity of moves as they are entered. With computer play, the user should be able to select amongst a range of possible strategies and/or levels of difficulty. You should implement at least the following two strategies: Random selection of a legal move Alpha-beta algorithm The alpha-beta algorithm is the standard look-ahead game-playing algorithm. It requires appropriate board scoring functions, which you should invent and experiment with.
Games should be able to be saved and restored from any state of play. Moves should be undoable and re-doable. A game should be re-playable from any position. This requirement applies to saved games as well (so the history of moves rather than just the current board state needs to be saved).
You should provide at least a primitive help system to assist users with the available commands.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started