Back to all Bounties
Earn 4,050 ($40.50)
due 2 years ago
Canceled
Dots&Boxes Game in MIPS Assembly Language
GregCarson1
Details
Applications
4
Discussion
Bounty Description
Problem Description
The project is to recreate the Dots&Boxes game in MIPS assembly.
Here's an example of the game
Explanation:
Players take turns drawing lines between the dots, trying to complete a square. When a player completes a square, they win the square (and a point is added to their score) and get an extra turn. The game ends when all the squares are completed, and the player with the most squares wins.
Minimum requirements for the program:
- The game is for two players: the user v.s. the computer. The board size is 8x6 (8 columns x 6 rows.)
- The user input (keystrokes) is kept to a minimum during each turn that the user takes.
- The game board is displayed using ASCII characters (e.g. ., -, +, and |) is the minimum requirement. Creative ways to display the board, e.g. with graphics, would be great.
- Implementation of a winning strategy by the computer is NOT required but would be preferred.
- All moves by the user and the computer MUST be valid according to the rules of the game.
- An error message is displayed to explain the rule that was violated if a move by the user was not valid.
IMPORTANT: The program must be developed as multiple modules (i.e. multiple .asm files), each module implements one part of the game. MARS does not have a graphics capability so ASCII board is sufficient.
Acceptance Criteria
- The program should be able to compile and run in the MARS MIPS simulator.
- The game should start with a clear 8x6 board displayed on the screen.
- The program should prompt the user to make their first move.
- The user should be able to input their move using the keyboard, with the program validating the move and updating the board accordingly.
- The computer should make a valid move after the user's turn, with the program updating the board accordingly.
- The program should detect when a player or the computer has completed a square, update the score, and prompt the player or the computer to take another turn if they completed a square.
- The game should end when all squares have been completed, and the program should display the winner and their score.
- The program should handle invalid moves by the user, displaying an error message explaining the rule that was violated.
- The program should be modular, with each module implementing one part of the game.
- The program should be well-commented.