UCSB-CS56-Projects/cs56-games-pacman — pull request #15 by dmhartsook (2014-02-28 11:07:17+00:00)
Title: Fixed Issues 12 and 13, Worked on 14

Legacy Project -- Pacman Submission

For #12: Created key commands instead of buttons to keep consistency within the game. The "h" key brings up the help window which displays the instructions.txt file we created based off of the README (for syntax and content purposes). The "p" key pauses the game. Requesting ~120 points (100 for help, 20 for pause).

For #13: Created GamePlayed, GamePlayedTest, Leaderboard, LeaderboardGUI, and LeaderboardTest classes. LeaderboardGUI class takes player's name after a game is played and has Leaderboard create and store the GamePlayed object in sorted order. LeaderboardGUI displays the top 3 scores of all time and for the player, using information provided by the Leaderboard. Leaderboard saves and loads the ArrayList by serializing it to a file. Added command line arguments to set the file name of the serialized file, with the default value being "pacmanLeaderboard.ser." To implement the command line arguments we had to add targets to build.xml (use "ant run" to run without command line arguments and "ant run-args -Darg0=filename, where you specify filename). We wrote JUnit test classes for Leaderboard and GamePlayed, although there is an issue with running the tests. We added *.ser to and removed *.jar from the .gitignore. Requesting ~400 points (25 GamePlayed, 125 Leaderboard, 125 LeaderboardGUI, 75 command line arguments, 50 JUnit tests).

For #14: Spent a long time working with the implementing collisions with walls, however were unsuccessful in properly adjusting the enemies' movement when close to Pacman. We calculate the distance from Pacman, and are able to affect the ghosts' movement when within range, but were unable to properly deal with wall-collisions (ghost ignored walls when following Pacman). We left the distance calculations but commented out the implementation (method on line 177 in Board.java). Requesting ~50 points

-Deanna Hartsook (@dmhartsook), Katya Fomenko (@katfom)