//gC "AeroStriker1946" for gvmaker.
//Copyright (C) 2008  KumaYu

#define DELAY_TIME 0 //pc=150~300

int Key;           //ܼ:
int HP_me=10;      //۾ͩR
int HP_Boss=216;   //BossͩR
int x=145;          //۾yX
int y=200;          //۾yY
int Bullet_x=0;    //ļuyX
int Bullet_y=0;    //ļuyY
int hitx,hity;     //ļuM۾XYbZ.
int Shot=0;        //ܼ:P_g"A"O_U

void main()
{
    SetLCDMode(0);
    SetBkMode(0);

    while(1)
    {
        //DRAW Background 
        ShowImage(CloudDark,0,0,320,240,0,0,  0,0);
        //DRAW Boss        
        ShowImage(G329,100+rand()%2,22+rand()%2,128, 49, 0,0,  1,0);
        //DRAW Figter            
        ShowImage(G129, x+rand()%2, y+rand()%2, 32, 25, 0,0,  1,0);

        //DRAW Bullet 
        if (Bullet_y!=0)
        {
           Circle(Bullet_x-15,Bullet_y,5,0);
           Circle(Bullet_x+15,Bullet_y,5,0);
        }
        
        //DRAW BossLife        
        SetFgColor(RED);
        Rectangle(50,4,50+216,10 ,1); 
        SetFgColor(YELLOW);
        if (HP_Boss>0) 
        {  Rectangle(50,4,50+HP_Boss,10 ,1); }
        
        //DRAW MyLife  
        TextOut ( 0,225,"Life");
        DigitOut(60,225,HP_me);
        
        //P_g"A"O_U,
        if (Shot==0)     
        {   
            Shot=CheckKey(97);
           
            if (Shot!=0)
            {  //if Press A , Draw Fire!!
               Line(x+rand()%32 , 0 , x+16,y-2); 
               
               //P_O_|BOSS
               if (x>=100 && x<=228 && HP_Boss>0) 
               {  HP_Boss=HP_Boss-1; }

               //Boss,Yļukshqsog
               if (Bullet_y==0)
               {
                  Bullet_x=164;
                  Bullet_y=49;
               }
            }            
        }  
        else
        { Shot=0;}  
        
        //P_Left & RightO_U,ȩiKey
        Key=Inkey();        
        ReleaseKey(128);      //MLA.
        
        //h۾10Pixel
        if (Key==KEY_LEFT && x>=10)
        {  x=x-10;}
        //kh۾k10Pixel
        if (Key==KEY_RIGHT && x<=280)
        {  x=x+10;}
        
        //YļuyФj0,ܤwog,hUʼļu ,YļuYyж]Xe,hks
        if (Bullet_y>0)
        {        
           Bullet_y=Bullet_y+10;
        }
        if (Bullet_y>=240)
        {        
           Bullet_y=0;
        }
        
        //P_ļuM۾XYbZ.
        hitx = abs(Bullet_x-16 - x);
        hity = abs(Bullet_y - y);
        //P_ļuM۾yЬO_
        if ( hitx<30 && hity<10)   
        {  
           Circle(Bullet_x,Bullet_y,30,0);
           HP_me=HP_me-1; 
           Bullet_y=0;
        }
        
        Delay(DELAY_TIME);
        Refresh();
        
        //P_CO_
        if (HP_Boss==0 || HP_me==0)
        {  break; }
    }
    TextOut(120,100,"GAME OVER");
    Refresh();
}