Final (Draft 2)

Deadline: 1:00pm, May 12, 2005

Goal

To implement a SOAP client (ttt.pl) and SOAP CGI-based Server (ttt.cgi), playing Tic Tac Toe. The client is supposed to provide an interface which allows the human player to select a move (square 0-8). The interface can be text-based, or it can be a Perl/Tk GUI based.

Submission

The directory tree for this submission should be (relative to your WebDAV root):
/
/final
/final/ttt.cgi
/final/ttt.pl
/final/TicTacToe/Board.pm
/final/TicTacToe/Position.pm
/final/TicTacToe/Display.pm
/final/TicTacToe/SOAPAgent.pm
/final/TicTacToe/MinMax.pm

The files Board.pm, Position.pm, Display.pm and MinMax.pm can be copied from the previous assignment or from my implementation in this directory.

You can have additional files below the directory /final as well, but you should not hardcode any paths, so that the program works when the entire directory /final is moved to a different location. You may assume that ttt.pl will be run from within the directory /final.

You may assume that the Perl path is
/usr/bin/perl
you may assume that the script will be run on the Apache server as
http://localhost/cgi-bin/ttt.cgi

Details

The client is supposed to obtain a new Game object representing the board/player information from the server. The client should allow the human player select the move and call a suitable method on the server to modify the position.

The code can be derived from the module Player.pm. A part of this code will need to be moved to the client. The stub of the server is here: tty.cgi

I also provided a template for the module TicTacToe::SOAPAgent.pm.

The client should be able to play the game against any server whose stub is identical to this one. In fact, your client will be tested against a server that I will write.

Minimal requirements


Marek Rychlik <rychlik@u.arizona.edu>
Last modified: Thu Apr 28 23:31:17 MST 2005