The Network tournament will take place on Monday, May 5 from 7:00–10:00 pm in 306 Soda Hall. The winning team will receive gift certificates to Amoeba Records. Nobody is required to enter the tournament, but we welcome all with working players to submit. You are welcome to make improvements to your MachinePlayer that were not in your original Project 2 submission, but if you don't, please give it a shot anyway.
The “official” deadline for submission is the day before the tournament. Late submissions will probably be accepted, but there are no guarantees. Submissions after the tournament will not be eligible.
Make sure that cs61b** does not contain Player.java or Move.java. These two files should remain in the player package. Every team's submission will share the same copies of Player.java and Move.java. Since you can't change them, you can't submit them, but you should keep them in the player package so you can test that your MachinePlayer compiles correctly.
You will need to change all the files in the cs61b** package to include the line “package cs61b**;” (replaced with your login id). If you want to have a list package inside the cs61b** package, its files should include the line “package cs61b**.list;”. Packages that call that package will need to “import cs61b**.list;”.
Also, you will need to add the lines “import player.Player;” and/or “import player.Move;” to any file that refers to the Player or Move classes. (Avoid using “import player.*;”, as that can cause compilation problems due to conflicting MachinePlayer classes.) Make sure that none of your .java files imports any package outside cs61b**, except player or packages in the standard Java library.
Once you've made these changes, make sure that your MachinePlayer still compiles.
javac -g cs61baa/*.java or, if you have packages, javac -g cs61baa/*.java cs61baa/*/*.javaThen, make sure it still runs. (See instructions below.)
Next, pick a team name. Write a GRADER file with your team's name at the top. You may also include details of your implementation (e.g. evaluation function, search depth, how the early moves are chosen, other special tricks). You're not required to include anything more than your team's name, but if you win the tournament we'll be asking how your MachinePlayer works.
Then submit by typing
With Network.class in your pj2 directory, run
java Network cs61byi cs61bxq "Team America" Annihilatorsreplacing the two ids with the names of the two packages you want to see compete. Either of the two ids can also be replaced with “human” (a human player), “random” (a random player), or “machine” (the MachinePlayer in the player package), as usual. The team names are optional, and the quotes are only necessary when you want a space or another difficult character in a team name.
You can also put a “-q” switch right after the word “Network”, which causes Network to quit immediately when the game ends. This can be useful for batch testing.
If something doesn't work as I've advertised, please let me know.