CS61b Project3 User Interface This software is set up as a Java package. We are not including the source code, because it contains some things that would be useful in your solutions. For various reasons, we have also put the Move class and Player classes in this package as well, which means that you need to make a few simple changes to your files: 1) Remove your copy of Move.java and Player.java from your pj3 directory. The only java files remaining should be your MachinePlayer.java and any files that it uses. (You can keep the original copies around for reference, and we will not be deleting them from the pj3 directory, since you will need to understand the interfaces in them.) 2) To your MachinePlayer.java file, add, "import NetworkGUI.*;". You will also need to add this import statement to any other files that use Move or Player variables. 3) Avoid using the class name "NetworksGame" or anything starting with a capital "X", as our NetworkGUI package uses them. 4) Be sure your CLASSPATH variable is set correctly. It should be unless you have done something to your .login or .cshrc files. You can print the variable using "printenv CLASSPATH" and should see something like: .:/home/ff/cs61b/lib/java/classes:/home/ff/cs61b/lib/java/classes (Actually, it will probably have the second path in the list twice, which should be fixed by won't hurt anything. It's very important that the . is the first item in the list, or the version that tests your MachinePlayer will not work.) The NetworkGUI package contains the Player and Move classes, which are the same as in the project handout, except that Move includes a toString() method that you may find useful for debugging. The NetworksGame program is invoked using one of the following commands: java NetworksGame In this version, a human player competes against a very naive machine player called XRandom, which is taking random legal moves. This is mainly used for learning to play the game. java NetworksGame humans This sets up a game in which two human players play against each other. The two players share the same mouse, with is a bit inconvenient, but this option is useful if you want to configure a particular board and try some moves to see what is legal. java NetworksGame test This used to play your MachinePlayer against a human player. Your MachinePlayer.class file (and any files that it depends on) must be in the directory from which you run this version. Final note: there seems to be a subtle problem with the human player interface, in that it sometimes "hangs" when you should be able make a move. We will try to fix this, but in the mean time, you may need to "quit" when the game gets stuck in this manner.