Tank Fight 1.0 Info
-------------------
By Ari Asulin
(Protricity@usa.net)

This Game/Code is free for distribution and use, however, its use is for strictly
	educational use only!

Files Included:

   These files were written by Ari Asulin:
        tfintro.h,  	        Tank Fight Intro and Score Display.
        units.h,                Unit/Projectile Control and Initialization.
        terrain.h,              Terrain/Message Control.
        gfxobj.h,               Graphical Object Initialization Data.
        tankfight.h             Main Header File - All Drawing Subfunctions.
        tankfight.cpp           Main CPP File - User/Unit Movement and Main Game Scripts.

   These files were not written by Ari Asulin and are required to compile:
        ezgdi.cpp               Easy GDI Interface - simplification of WinGDI commands.
        draw2.h	                Header File to EZGDI.cpp.

   These files are required to run Tank Fight 1.0:
        TankFight.exe           Compiled Tank Fight 1.0 Exe.
        intro.bmp               Title Screen Bitmap.
        cw3230.dll              Run Time Library for Tank Fight 1.0

To Run Tank Fight 1.0:

   Open the IDE project and do a full compile using Borland C++ 5 or greater.
      The files intro.bmp, and cw3230.dll must be in the same folder as the 
      exe in order for the exe to run properly.

To Distribute or Run Tank Fight 1.0:

   Include with TankFight.exe: intro.bmp, and cw3230.dll.
      These files are required for the exe to function.

About Tank Fight 1.0:

      Tank Fight 1.0 was written by me, Ari Asulin, as a final project in
   my Computer Science class (5/12/00).  This game was in no way meant to
   be original.  We were instructed to use EZGDI and create a graphical
   game.  EZGDI simplified the WinGDI Interface and made things easier,
   but there were minor problems with the EZGDI Interface.  The main game
   window can be sizable, but anything outside of 640x480 was
   uninitialized.  Anyway, I modified some EZGDI subfunctions to further
   simplify things, not in the EZGDI cpp itself, but in my tankfight
   header file.
     
      In the code, I created a Graphic Object that consisted of an array
   of lines and many other components such as x-y positions, x-y
   velocities, Hit points, and other important values. I created a
   formula (Rotate(x,y)) that rotates a point relative to 0,0. Using
   this formula, I could then rotate Graphic Object lines and in effect
   rotate the object as a whole. Then I created a DrawAllObjs function
   that is called on every Game revolution. This would draw all objects
   at their x-y coordinants in their current obj.angle value. Velocity
   is added to the x-y to create movement. Each object is erased with
   ClrObject() which is called right before DrawObject(). Thus, Objects
   move. Everything else in the game relates to the objects. The terrain
   is redrawn whenever an object comes in contact with it. Code scripts
   are used to control Object movement in the game. Level scripts control
   which Enemy objects are created when and where. Loops continuously
   check if Enemys or the User Tank has come in contact with bullets.
   And the rest of the code fits all these things into place.

   Game info:
      Keys:
        q     = left        
        w     = brake
        e     = right
        j     = angle gun down
        k     = Fire Bullet
        l     = angle gun up
        m     = Fire Missile
        n     = Fire Nuke
        space = Pause

      Mouse:
        Mouse movement controls gun angling.
        Right Click  = Fire Missile
        Left Click   = Fire Bullet

