Submit the
source code (.asm) on Ecampus under the "Submit Homework" menu option.
Using the flat assembler (fasm), write a program that
plays tic-tac-toe against the computer. Below is a sample game loop.
It assumes the player is X and computer is O with the player making the first
move.
gameLoop: call printBoard cinvoke printf, "Your move (1-9)? " cinvoke scanf, "%d", Square call placeX call checkXWin call checkForDraw call computerMove call checkOWin jmp gameLoop
For the computerMove, here are the steps: 1. check if computer "O" can win else 2. check if computer can block player "X" from winning else 3. select a random square to move into Example output
Welcome to x86 Assembly Tic-tac-toe! 1 | 2 | 3
---|---|--- You will be X's and the computer will be O's. 4 | 5 | 6
The squares are number 1 - 9. ---|---|--- Let's begin! 7 | 8 | 9 | | ---|---|--- | | ---|---|--- | |
Your move (1-9)? 5
| | O ---|---|--- | X | ---|---|--- | |
Your move (1-9)? 1
X | | O ---|---|--- | X | ---|---|--- | | O
etc.