EECS 370 - Alternative Game for MP 6 and MP 7

This game has been called Robots or Lawyers or a few other names. The game is played on a rectangular grid. There are three basic components of the game.
  1. The player
  2. The robots
  3. Other things
At the start of each level, one player and some number of robots and other things are placed onto the grid. The position and number of the placement is normally controlled by some semi-random algorithm. The size of the grid is determined by you.

The player is controlled by the user of the game. The player can move to any of the eight adjacent grid positions (up, down, left, right or diagonally). The game ends when the player gets "caught" by a robot. The player moves around trying to get the robots to crash into each other or into piles of rubble. The player will also try to pick-up the other things on the grid. When the player has removed all of the robots on the current grid, the game moves to the next level.

The robots chase the player. After each move the player makes, the robots move to the one of the eight adjacent grid positions that is closest to the player. If a robot moves into a square containing a pile of rubble, the robot crashes and the pile of rubble gets bigger (the pile may overflow into a neighboring grid position). If the robot moves into a square containing other robot, both robots crash and a new pile of rubble is formed.

The other things on the grid are piles of rubble (which cannot be picked up by the player) and things that can be picked up by the player. These things might include teleport machines (that cause the player to move to a random position on the grid), gold coins, stun bombs (that cause nearby robots to stop moving for a few turns), explosive bombs (that cause nearby robots to turn into piles of rubble), armor (that give protection against robots), speed potions (allow the player to make two moves for every one that the robots make - robots move on every other turn) or other people (that can be rescued to add points to a score). One question to be answered is what happens when a robot picks up one of these items?

You may add variations on any of these elements. For example, you could have some robots that malfunction some of the time (move in random directions instead closer to the player or perhaps breakdown creating a new pile of rubble), or robots that chase the things that can be picked up but the user ( the user has to pick them up first). Or you might have improved teleport machines (allow the user to select the location where the player teleports to). Or have different strengths of stun bombs and explosive bombs. Or have bottomless pits that either a robot or the player could fall into.

The program must have some sort of help to inform the user how to play the game. Help should be accessed from a help button or a help menu item. The use of a quit button or menu item (as well as the close window button) must be included. Your program should also have an about button or menu item to give information about the programmer of the game.

The method to control the movements of the player can be done through a set of 8 buttons or by clicking on the grid position where the player is to move. Perhaps allowing both of these is a good idea. Also perhaps you can have keyboard "accelerator keys" to help you move. There will also need to be some method to use the items that have been picked up by the player.