home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 26 / CD_ASCQ_26_1295.iso / vrac / volume_3.zip / CAR.CPP < prev    next >
C/C++ Source or Header  |  1995-11-03  |  4KB  |  188 lines

  1. #include "c:\tc\mouse.h"
  2. #include "c:\tc\keyboard.h"
  3. #include "c:\tc\graphvga.h"
  4. #include "c:\tc\pcx.cpp"
  5.  
  6.  
  7. struct Fire
  8.     {
  9.     int Bullet_X;
  10.     int Bullet_Y;
  11.     int Bullet_Length;
  12.     int Bullet_Height;
  13.     int Bullet_Display;
  14.     };
  15.  
  16.  
  17.  
  18. int main(void)
  19. {
  20. Fire Bullet1;
  21. Fire Bullet2;
  22. Fire Bullet3;
  23. Bullet1.Bullet_Display = FALSE;
  24. Bullet2.Bullet_Display = FALSE;
  25. Bullet3.Bullet_Display = FALSE;
  26.  
  27. int Bullets = FALSE;
  28.  
  29. char char_ch = NULL;
  30. int Scan1,Alt_Ctrl = NULL;
  31. int int_ch;
  32. int X,Y,tempX,tempY;
  33. int Button_Check;
  34. int coun,coun2,coun3;
  35.  
  36. InitGraphics(9);//Initialize graphics to graphics mode. See function
  37. Detect_Mouse(); //Checks to see if mouse is present and sets MousePresent to TRUE or FALSE
  38. Cursor_Shape(1);
  39. Display_Mouse();
  40. Move_Mouse(200,470);//Moves mouse to new X,Y position.
  41. Display_PCX("Space.pcx");
  42. Vert_Mouse_Limit(450,470); //Sets Mouse Y limits of movement
  43. Horiz_Mouse_Limit(10,630);//Sets Mouse X limits of movement
  44.  
  45.  
  46.  
  47. setwritemode(XOR_PUT);
  48.  
  49. while((int_ch = Key_Press(&char_ch,&Scan1,&Alt_Ctrl))  != ESC)
  50.     {
  51.  
  52.     if(Bullet1.Bullet_Display == TRUE)
  53.         {
  54.     coun++;
  55.     if(coun > 5)
  56.     {
  57.  
  58.         //Erases Bullet
  59.         line(Bullet1.Bullet_X,Bullet1.Bullet_Y,Bullet1.Bullet_X,Bullet1.Bullet_Y-10);
  60.  
  61.         Bullet1.Bullet_Y--;
  62.         Bullet1.Bullet_Y--;
  63.  
  64.         //Draws Bullet
  65.         line(Bullet1.Bullet_X,Bullet1.Bullet_Y,Bullet1.Bullet_X,Bullet1.Bullet_Y-10);
  66.  
  67.         if(Bullet1.Bullet_Y < 2)
  68.             {
  69.             //Erases Bullet
  70.             line(Bullet1.Bullet_X,Bullet1.Bullet_Y,Bullet1.Bullet_X,Bullet1.Bullet_Y-10);
  71.             Bullet1.Bullet_Display =FALSE;
  72.             Bullet1.Bullet_Y = Max_Y;
  73.  
  74.             }
  75.      coun = 0;
  76.      }
  77.         }
  78.  
  79.  
  80.  
  81.     if(Bullet2.Bullet_Display == TRUE)
  82.         {
  83.     coun2++;
  84.     if(coun2 > 5)
  85.     {
  86.  
  87.  
  88.         line(Bullet2.Bullet_X,Bullet2.Bullet_Y,Bullet2.Bullet_X,Bullet2.Bullet_Y-10);
  89.         Bullet2.Bullet_Y--;
  90.         Bullet2.Bullet_Y--;
  91.         line(Bullet2.Bullet_X,Bullet2.Bullet_Y,Bullet2.Bullet_X,Bullet2.Bullet_Y-10);
  92.         if(Bullet2.Bullet_Y < 12)
  93.             {
  94.             line(Bullet2.Bullet_X,Bullet2.Bullet_Y,Bullet2.Bullet_X,Bullet2.Bullet_Y-10);
  95.             Bullet2.Bullet_Display =FALSE;
  96.             Bullet2.Bullet_Y = Max_Y;
  97.             }
  98.  
  99.     coun2=0;
  100.     }
  101.         }
  102.  
  103.  
  104.  
  105.  
  106.     if(Bullet3.Bullet_Display == TRUE)
  107.         {
  108.     coun++;
  109.     if(coun > 5)
  110.     {
  111.  
  112.         //Erases Bullet
  113.         line(Bullet3.Bullet_X,Bullet3.Bullet_Y,Bullet3.Bullet_X,Bullet3.Bullet_Y-10);
  114.  
  115.         Bullet3.Bullet_Y--;
  116.         Bullet3.Bullet_Y--;
  117.  
  118.         //Draws Bullet
  119.         line(Bullet3.Bullet_X,Bullet3.Bullet_Y,Bullet3.Bullet_X,Bullet3.Bullet_Y-10);
  120.  
  121.         if(Bullet3.Bullet_Y < 2)
  122.             {
  123.             //Erases Bullet
  124.             line(Bullet3.Bullet_X,Bullet3.Bullet_Y,Bullet3.Bullet_X,Bullet3.Bullet_Y-10);
  125.             Bullet3.Bullet_Display =FALSE;
  126.             Bullet3.Bullet_Y = Max_Y;
  127.  
  128.             }
  129.      coun = 0;
  130.      }
  131.         }
  132.  
  133.  
  134.  
  135.     Mouse_Position(&X,&Y);//Returns current mouse X,Y position
  136.  
  137.     if(!Mouse_Status()) Bullets = FALSE;//Checks to see if any mouse buttons held down
  138.  
  139.  
  140.     if( (Bullet1.Bullet_Display == FALSE) AND (Bullets != TRUE) )
  141.         {
  142.         if( Button_Press_XY(&tempX,&tempY,Button_Check) )
  143.         {
  144.         if((Y != tempY) AND (X != tempX))
  145.             {
  146.             Bullet1.Bullet_Y = Y - 19;
  147.             Bullet1.Bullet_X = X-1;
  148.             Bullet1.Bullet_Display =TRUE;
  149.             line(Bullet1.Bullet_X,Bullet1.Bullet_Y,Bullet1.Bullet_X,Bullet1.Bullet_Y-10);
  150.             Bullets = TRUE;
  151.             }
  152.         }
  153.         }
  154.     if( (Bullet2.Bullet_Display == FALSE) AND (Bullets != TRUE) )
  155.         {
  156.         if( Button_Press_XY(&tempX,&tempY,Button_Check) )
  157.         {
  158.         if((Y != tempY) AND (X != tempX))
  159.             {
  160.             Bullet2.Bullet_Y = Y - 19;
  161.             Bullet2.Bullet_X = X-1;
  162.             Bullet2.Bullet_Display =TRUE;
  163.             line(Bullet2.Bullet_X,Bullet2.Bullet_Y,Bullet2.Bullet_X,Bullet2.Bullet_Y-10);
  164.             Bullets = TRUE;
  165.             }
  166.         }
  167.         }
  168.     if( (Bullet3.Bullet_Display == FALSE) AND (Bullets != TRUE) )
  169.         {
  170.         if( Button_Press_XY(&tempX,&tempY,Button_Check) )
  171.         {
  172.         if((Y != tempY) AND (X != tempX))
  173.             {
  174.             Bullet3.Bullet_Y = Y - 19;
  175.             Bullet3.Bullet_X = X-1;
  176.             Bullet3.Bullet_Display =TRUE;
  177.             line(Bullet3.Bullet_X,Bullet3.Bullet_Y,Bullet3.Bullet_X,Bullet3.Bullet_Y-10);
  178.             Bullets = TRUE;
  179.             }
  180.         }
  181.         }
  182.     }//End While
  183. closegraph();
  184. return int_ch;
  185. }
  186.  
  187.  
  188.