Informatics 1 WS 2015/16

Website of Prof. Dr. Barne Kleinen, Professor for Media Informatics (Bachelor/Master) at HTW Berlin

Exercise 10: The World of You

     <prev next>

Pre-lab

This week’s lab work will begin a larger project that will occupy us until the end of the semester.

What to Bring to Lab

Please bring these exercises printed out or written out with you to lab.

P1. Design your own game scenario away from the computer. Don’t worry about implementation or classes or programming. Just try and come up with something interesting. It needs to be the basic structure of a player moving through different locations. Possible examples:

  • White blood cells traveling through the body in search of viruses to attack
  • Finding the exit in a big shopping mall
  • A mole must find the food hidden in one of his burrows before winter comes
  • An adventurer is looking for a monster in a series of dungeons
  • The bomb squad must find the room with the bomb before it goes off.

Be creative! Give your game a name.

P2. What is the goal of your game, that is, when does the player win?

P3. What could you add to the game to make it interesting? Trap doors, treasure, monsters, …..

P4. Draw a map of your game layout.

Post-Lab,

AKA What To Turn In

Your completed assignment, submitted in Moodle as a pdf, should include:

  • A description of what you did during the lab, including a record of what worked, what problems you encountered, and answers to the questions asked in P1 – P4. The focus is on the process!
  • Include the current version of your source code.
  • The names and roles of any collaborators in any parts of the exercise.
  • A record of how long you needed for this lab and what you learned.

Lab assignments are due the night before the next lab at 23.00, I want you to get some sleep the night before the next class. They may, of course, be turned in earlier. You hand them in by preparing the report in PDF and submitting it to Moodle.


Assignment

World of You

  1. Start with the bad Zuul game with tests - zuul-withtests - and refactor it as discussed in the lectures. If you are doing mole burrows instead of rooms, you can change the variable names as needed. The bored can prepare a multi-lingual version and use enums. You find the CommandWord.java enum and the adapted CommandWords.java classes in the subfolder CommandWordsAfterRefactoring. There is also a version using an inheritance hierarchy for the Commands in the branch commandhierarchy - you can use that if you like. It doesn’t have any other refactorings.
  2. Draw an object diagram showing the state of your system just after it has been started. Does it change if you issue a “go” command?
  3. Add a “look” command to your game.
  4. Add an additional command (such as “eat”, which for now just prints out “You have eaten now and are not hungry any more”. In the next exercise, when we have added items, you can make it so that you can only eat if you have found food.
  5. Implement an improved version of printing out the command words.
  6. Add another command – did you have to change the Game class? Why or Why not?
  7. (For the bored) What is an model-view-controller architecture? Adapt your code to follow this architecture pattern.

Writeup

Submit your writeup as your post-lab to the Moodle area by 23.00 the night before your next lab.