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.
/ /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/perlyou may assume that the script will be run on the Apache server as
http://localhost/cgi-bin/ttt.cgi
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.