UWA Logo Computer Science & Software Engineering
Java Programming (CITS1200)
   School Home  |  Java 1200 Home

CITS1200 - Project

Specification

You will write a Java version of the classic Pac-Man game. See Pac-Man Dossier for more details on the real Pac-Man game. We are implementing a pretty close-to-real game, you can refer to its Chapter 3 and 4 for the game logic. Your program will
  • allow the supplied GameTester program to create a Pac-Man game maze with ghosts and Pac-Man;
  • display and animate the maze to simulate the running of a game;
  • allow the GameTester to control the movement of Pac-Man; and
  • (Optional Hot Section:) run a game demo with autonomously moving Pac-Man.

Requirement

You need to write four classes.
  • Maze will represent a game maze.
  • MazeViewer will display the game and act as a graphical user interface.
  • Ghost will create ghosts with different personalities.
  • Pac-Man will create Pac-Man that runs either in controlled or autonomous mode
Submit only these four classes.

Supplied Code

  • GameTester.java will help set up the game maze.
  • New with orientation updated! PacMan.java, a fully working PacMan in CONTROLLED mode to help ease the pressure.
  • SimpleCanvas.java, a SimpleCanvas that can listen to the key events.
  • MazeViewer.java, a skeleton that has implemented a KeyListener interface, that allows the new SimpleCanvas to move the PacMan.
If your program compiles with WillIGet0.java, you have a minimum number of the class and method names defined, spelled correctly, and with the right types.

Where do I start?

  • Find a partner!
  • Make sure you understand the entire problem.
  • Make sure you understand what is required of you.
  • Start at the bottom with the Maze class.
  • Keep it simple initially, e.g. use aimless wander for all ghosts ...
  • Seek help whenever necessary!

Brief Marking Scheme

  • Correctly setting up maze status - 3 marks
  • Correctly display the maze - 3 marks
  • Correctly keeps track of game status - 3 marks
  • Correct Ghost behaviours - 3 marks
  • Correct game animation and Manual Pac-Man movement - 3 marks

Enjoy and best of luck!

Due date

The project is due at noon 16 Oct noon 23 Oct.

Submit through cssubmit.

Personnel

You may do the project either on your own, or in a team of two people. You may form your own team.

No, you may not do the project in a team of three!

If you work in a pair, only one submission is allowed. Clearly document the submission with the names of everyone involved. Also submit a green assignment cover sheet, specifying the amount of contribution of everyone. You can obtain the form from CSSE Reception Desk 1.31A.

For a project of this size, the communication cost of working with someone else is broadly similar to the work saved, so there will be no differentiation in the marking of singles or pairs.

Late penalties

As usual, 20% (i.e. 3 marks) per day or part thereof.

See the unit outline for details.

Extensions Policy

Approach admin1200 in the first instance about possible extensions.

Extensions will be granted only in exceptional circumstances.

Plagiarism Policy

Your submission must be the sole effort of yourself or your team.

See the unit outline for details.

Help!

Seek help at help1200 first, but do not post any project code!

Any time we give significant help to one group, we will send the same advice to help1200.

The project web pages may be updated from time-to-time with extra clarifications, examples, etc. Where changes occur, we will make them obvious.

Prize

Naturally, there's a prize... this time it is for the best ghost behavious, the clever autonomous Pac-Man and of course the best display and interface .

Late submissions are not eligible for the prize.

Top of Page
CRICOS Provider Code: 00126G