CS310 Assignment 1
CS310 Assignment 1
In this assignment you will implement the game of cross and naught to be played
between a web client and a web server using TCP/IP sockets. The client can be any web
browser, however you will have to write code to implement the web server in any
programming language, which supports raw sockets.
The outline of the play is as follows. First the server starts and listens on some chosen port
number. Then, client connects to the server at this port and requests for the game page (eg.
game.html). The game page is a simple html document consisting of the cross and naught board
layout, a textbox for user input, and submit & reset buttons.
___1___|___2___|___3___
___4___ |___5___|___6___
7 | 8 | 9
Position
The user claims a board position by typing a number between 1 and 9 on the keyboard. This
move is sent to the server (using HTTP POST method), which updates its own representation of
the board by marking this position. The server, as the second player in this game then uses
random strategy to mark its own position. The revised board layout as part of the modified
game page is then sent to the client.
In this manner the game continues and each side takes turn until either:
1. One of the players has claimed three board positions in a row, horizontally or vertically, or
diagonally, in which case this player wins, or
2. The board is filled in and neither player has won, in which case the game is a draw.
The result of the game is displayed to the user when the game ends. The reset button simply
allows the user to reinitialize the board to its initial state, and play the game again.
Note that the user may choose to play on a position that has already been claimed. In this case,
the player's move is ignored.