------------------------ Networked Mancala - Egyptian Rules. COMP 290-059. eXtreme Programming and Agile Methods Final Project - Release 2. @author keithlee [ at ] unc.edu @author olivier [ at ] cs.unc.edu ------------------------ ------------------------ Compile ------------------------ Assumes JUnit 3.8.1 junit.jar is in current directory. Otherwise, change classpath argument to reflect correct location of junit.jar, or include as environment variable for IDE. Code was compiled using Java 5.0. javac -cp .;junit.jar mancala/*.java ------------------------ Code Testing ------------------------ MancalaBoardTest tested manipulating the board via adding stones and emptying bins. Manual testing was done to check networked game conditions. ------------------------ Techincal Interests ------------------------ The MancalaBoard class contains a private data member, frame, which is the gui. MancalaBoard also stores the bin and mancala stone counts. Separate classes were used to construct the more complex buttons and dialogs. MancalaConnectionManager is the main class and is used to invoke the application. MancalaGame controls the flow of the game. Sockets are used for network communication. Many helper classes are also used to manage the gui and network details. A game must be quit before a new one may be started. The SwingWorker class was downloaded from Sun's Java website. ------------------------ Test Execution ------------------------ java -cp .;junit.jar mancala.MancalaBoardTest ------------------------ Interactive Program Execution ------------------------ java mancala.MancalaConnectionManager