Dec 212017
Missile Alert. Arcade-type game similiar to Missile Command. Requires a mouse and EGA/VGA.
File MISSILE.ZIP from The Programmer’s Corner in
Category Games and Entertainment
Missile Alert. Arcade-type game similiar to Missile Command. Requires a mouse and EGA/VGA.
File Name File Size Zip Size Zip Type
EGAVGA.BGI 5363 3878 deflated
MISSILE.DOC 3681 1673 deflated
MISSILE.EXE 49454 27195 deflated

Download File MISSILE.ZIP Here

Contents of the MISSILE.DOC file

Missile Alert was designed by Rich Dobry Jr. The idea was taken off of
the old missile command that use to be in the arcade. Since no good
version of this program was in the IBM PC world, I decided that I would
write one for extra credit for my Adv. C (Data Structures) course.

It extensivly uses linked lists to maintain a current list of bullets from
both you and the enemy above. The bullets are dynamically allocated and
thus you may have an unlimited number of them on the screen at one time due
to the nature of linked list. When a great number of them are on the screen
at one time, the program slows down (especially on a slow IBM) because of
the circle function used to draw the explosions. This required a lot of
CPU time to calulate, and the use of a math co-processor would fix this
problem. As of yet, I haven't found a good solution for non co-processor
IBM's. I am looking for a solution, but until then, don't thow tons of
bullets on the screen at one time if you want game play to be fluid.

The game requires a mouse to run and an EGA in 640x350x16color mode.

I tried a new way of controlling the speed of the falling bullets and your
bullets in this program. When I use to write similar programs, I used a
delay number to simulate a time delay. The problem with this is that as
more objects appear on the screen, the number stays the same, and the
program speed is inversly proportional to the number of objects on the
screen. To fix this problem, I used the IBM's timer chip to keep track
of when a needed to move objects. The problem I then ran into was that
the 8253 timer chip only triggers 18.2 times per second. This worked out
fine for fluid motion no matter how many items I had on the screen, but it
was way to slow. I needed some way of making the items move faster, but
still stay fluid. The solution was to reprogram the 8253 timer chip to go
off more timer per second. Due to trial and error, the timer chip was
eventually programmed to go off 119.318K times per second (this was
determined by taking 1.19318MHz (max timer per second) and dividing by the number
I programmed into the chip (000Ah) which yields 119.318KHz)

Due to the reprogramming of the timer chip, your clock will be messed up
after playing the game. This is easily fixed by calling a reset from
the battery clock or by rebooting. This does not affect your battery
backup clock in any way.

Found a problem with the logitech mouse, it doesn't go to the lower half of
the screen, this problem is that is is not 100% compatible with the
microsoft mouse, it is being looked into.


The game is pretty easy to understand. Just stop the falling missiles from
hitting your buildings. The guns are automatically selected by your
position on the screen. The top shows your remaining bullets in each gun,
and your score. You get more bonus at the end of the round for more
buildings being alive. During the game, to quit, type 'Q'.

You must have the mouse driver loaded before playing the game to work.
I don't know too much about mouse programming, so this is how I did it...

This was my first real game, so I'm still learning graphics programming
but if anyone has any suggestions for games, etc. please get ahold of me.
If someone wants the C code, please ask, nothing in it is really a secret...

Please report any bugs to me for fixing also, thanx...

The address is:

Rich Dobry
9584-202 Muirkirk Rd.
Laurel, MD 20708

 December 21, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>