Homework 6 Information, ECS50 Fall 2000

Assignment:

SubHunt

The purpose of this assignment is to learn more about the use of interrupts, and to write a large program in assembly language. Both are skills that can come in handy in the future. In order to develop these skills, you are going to design a game similar to the Palm Pilot game "Subhunt". There are specifications which everyone's games must follow, and a list of options of which you must complete (3). You can complete additional options for extra credit.

Game Description:

In this game, there is a ship on the surface of a body of water which can move left and right. There are also submarines that enter either from the left or the right at varying depths. The submarines move directly across the screen at a fixed rate. The ship is able to drop depth charges from either the left or right end of the ship, and these depth charges sink down into the water at a fixed rate as well. If a sinking depth charge strikes a crossing submarine, the submarine is destroyed and the player gets points. The submarines can also occasionally release floating mines, which drift up to the surface. If the ship hits (or is hit by) one of these mines, it is damaged/destroyed.

Here is a very crude asci drawing of what your screen might look like during play. Each "." represents a sinking depth charge, the "*****" are submarines, and each "^" is a rising mine recently released by a submarine. (You do not have to use these characters, I just wanted to give you a feel for how the game looks.)
            
       __+++__
        \___/
----------------------------------
             .       
        .       *****
 ^      
   ^    .                ^
   *****
                      ^
                   ^
            *****

From the top down your screen should contain the following:

Here are the specifications that are required:

Here are the options which you need to choose three or more: