Program 4

Specification

For this assignment you need to create a Graphical User Interface (GUI) for your either your Adventure program or your ScatScout program.

  • It is NOT OK to use a GUI builder that generates code for you. You are expected to write the code yourself (or with a partner). Evidence of using a GUI builder in your submitted code will result in a score of zero.

Getting Started

I recommend you at least start with a fairly simple interface. I've intentionally left this assignment fairly wide open for you to do whatever you want. If you get a basic interface working, you can always add something fancier. Notice that the top level loop of your text based version "goes away." Instead the "top level loop" is the implicit event loop inside of the AWT thread. You should begin by creating some pseudo-code that captures the the top level game logic taking this into consideration.

What to turn in

As indicated below in the grading breakdown, for this assignment you should submit a zip file named prog4.zip that contains your project directory. It should include all source files (.java) a DrJava project file (.drjava) and any other files that might be needed (e.g. world.txt for the Adventure game).

For this assignment submit the prog4.zip in Canvas. CrowdGrader will not be used for this assignment. Don't forget to also enter your programming log in the text area for this assignment.

Grading

  • clear, easy to use interface (it need not be fancy) (3 points)
  • good programming style
  • demonstrates use of at least one event listener (1 point)
  • good programming style
  • user interface includes at least two types of basic components not counting the top level JFrame as a component (e.g. JButton and JTextField) (1 point each for 1st two types)
  • good programming style
  • uses something other than just FlowLayout (1 point)
  • good programming style
  • is fully operational without a console (i.e. System.out and System.in can only be used for debugging) (2 points)
  • good programming style
  • supports the basic game functionality e.g. moving around (1 point) and somehow interacting with objects found in rooms (1 point) for Adventure, or stepping in ScatScout (1 point for moving by entering 2 numbers, 2 points for moving by clicking on a board)

You can loose up to 3 points for failure to follow the programming style guidelines.