程序代写代做代考 computer architecture Introduction to Computer Architecture Multi-Dimensional Memory
Introduction to Computer Architecture Multi-Dimensional Memory
For this assignment, you will create a tic-tac-toe game by implementing the following functions:
initialize()
play_X(g, x, y)
play_O(g, x, y)
win(x,y)
draw_board(g)
play_a_game()
The initialize function should create a new empty game board and return a pointer to that data
structure. play_X and play_O place their respective symbols in the specified cell, then call the win function
to determine if that move resulted in a win. Those functions return one of three values, representing a
valid move, an invalid move, and a move resulting in a win. The win function uses the knowledge of the
most recent move to only check for ways in which a win could have occurred this turn instead of having to
test all possible solutions. It returns values representing either a win or no win. The draw_board function
prints the current state of the game to the console. play_a_game uses the previous functions to allow two
people to play tic-tac-toe.
You should not need to modify the test suite. You only need to write the functions. Since QT SPIM
expects all of your code to be in a single file, you can concatenate them together in a few ways. If you are
on Windows, you can use the included batch file to do the work for you. Simply dragging your source file
and dropping it on the batch file should be sufficient. If you are having trouble with the batch file, make
sure that your file names match those below. You can also use a command line operation.
Windows: copy /Y “
Unix: cat “
Your program should include appropriate comments indicating what the code should be doing and
what registers are being used for. After displaying the results, your program should exit cleanly. You should
test your programs using the SPIM simulator to ensure their functionality before submitting them. You
should only submit your functions. You will not receive credit if you submit the test suite in any form. You
should also not include any driver or debug code in your submission.
Objectives:
1. To introduce two-dimensional arrays.
2. To understand array indexing in multi-dimensional arrays.
3. To review dynamic memory allocation.
4. To review parameter checking.