📄 cusage.h
字号:
object[1].ClassInteger++;
object[1].ClassInteger2++;
object[1].sprite.state-=1;
object[1].Smoulder();
object[1].Explode();
}
if(object[0].fire.collision(&object[1].sprite))
{
snd;// sound protocol
object[0].fire.state=0;
object[1].ClassInteger++;
object[1].ClassInteger2++;
object[1].sprite.state-=1;
object[1].Smoulder();
}
if(object[0].sprite.collision(&object[1].sprite))
{
snd;// sound protocol
object[1].Explode();
object[0].sprite.state-=1;
object[1].Smoulder();
PlayerInvinsible =1;
PlayerBlink=1;
Countdown=30;
}
}// end if
if (PlayerInvinsible)
{
object[0].Smoulder();
object[0].Explode();
if (Countdown-- < 0)
PlayerInvinsible = NULL;
PlayerBlink=NULL;
}
// bring him nearer
if (object[1].sprite.x > 220)
object[1].sprite.x--;
// home into the bastard
if (random(6)==0)
{
object[1].Home(&object[0]);
object[1].Aim (&object[0]);
}
// vertically vibrate it
object[1].VerticalVibration(0);
// horizontally vibrate it
object[1].HorizontalVibration(0);
// paste the sprite
object[1].sprite.paste_x_db();
//see if anything is to aim
object[1].AimCall();
// exhaust the homing fire
if (object[1].HomingFire.state)
object[1].HomingFire.RExhaustAir();
// exhaust sprite air
object[1].sprite.RExhaustAir();
// yeah baby , bust me in my !@#$
object[1].ExplodeCall();
// burn me up
object[1].SmoulderCall();
//see if anything is to home
object[1].HomeCall();
if (object[1].sprite.state == 0)
return(1);
return(0);
}
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
// imagery
void LoadConstantBitmaps (void)
{
// load secondary object graphics
bitmap_load("bitmaps\\fire1.bmp", &BasicFire[0]);
bitmap_load("bitmaps\\fire2.bmp", &BasicFire[1]);
bitmap_load("bitmaps\\fire3.bmp", &BasicFire[2]);
bitmap_load("bitmaps\\fire4.bmp", &BasicFire[3]);
bitmap_load("bitmaps\\fire5.bmp", &BasicFire[4]);
bitmap_load("bitmaps\\fire6.bmp", &BasicFire[5]);
// the explosion frames
bitmap_load("bitmaps\\firea.bmp", &Explosion[0]);
bitmap_load("bitmaps\\fireb.bmp", &Explosion[1]);
bitmap_load("bitmaps\\firec.bmp", &Explosion[2]);
// the smoky frames
bitmap_load("bitmaps\\smokea.bmp", &Smoke[0]);
bitmap_load("bitmaps\\smokeb.bmp", &Smoke[1]);
bitmap_load("bitmaps\\smokec.bmp", &Smoke[2]);
// the plane exhaust
bitmap_load("bitmaps\\exhaustl.bmp", &Exhaust[0]);
bitmap_load("bitmaps\\exhaustr.bmp", &Exhaust[1]);
// the homing fire frames
bitmap_load("bitmaps\\fire_2.bmp",&HFire);
}
void LoadCharacterSprites (void)
{
// initialize objects
object[0].initialize(100,100);
// fill up the energy jet
object[0].sprite.state=StartingJetEnergy;
// feed objects
bmp_grab("bitmaps\\jet2.bmp", &object[0].sprite,1);
bmp_grab("bitmaps\\jet2u.bmp", &object[0].sprite,0);
bmp_grab("bitmaps\\jet2d.bmp", &object[0].sprite,0);
// set objects speed
object[0].SpriteSpeed = 4;
object[0].FireSpeed = 10;
object[0].Homer.speed = 8;
}
int AskForContinueScreen (void)
{
BITMAP MenuMap;
nosound();
FadeAway();
bitmap_load("bitmaps\\world.bmp",&MenuMap);
bitmap_show_buffer_db(&MenuMap,
(SCREEN_WIDTH-MenuMap.width) >>1,
(SCREEN_HEIGHT-MenuMap.height) >>1);
show_double_buffer();
FadeIn(&MenuMap);
waitretrace();
show_double_buffer();
int TextColor=248;
char buffer[30];
for (int i=180; i>=100 ; i--)
{
bitmap_show_buffer_db(&MenuMap,
(SCREEN_WIDTH-MenuMap.width) >>1,
(SCREEN_HEIGHT-MenuMap.height) >>1);
PrintRomString(10,i-90,TextColor,"game over,",1);
PrintRomString(10,i-70,TextColor,"your vehicle was totalled due to your,",1);
PrintRomString(10,i-60,TextColor,"worthless and incompetent skills,",1);
PrintRomString(10,i-40,TextColor,"do you want to continue?,",1);
PrintRomString(10,i-30,TextColor,"bang the SPACEBAR to do so,",1);
PrintRomString(10,i-20,TextColor,"want to do something stupid ?,",1);
PrintRomString(10,i-10,TextColor,"bash at ESCAPE to die,",1);
sprintf(buffer, "you have %d lives left",Continue);
PrintRomString(10,i,TextColor,buffer,1);
waitretrace();
show_double_buffer();
}
farfree(MenuMap.data);
i=100;
int choice=0;
#define beep delay(50);sound(4500);delay(50);nosound();
while(!key_SPACEBAR)
{
beep;
sprintf(buffer," Time Left ::::> %d ",i);
PrintRomString(10,190,TextColor,buffer,0);
if ((key_ESC) || (Continue==0)){choice=1;break;}
if (i--<0){choice=1;break;}
else {choice=0;object[0].sprite.state=10;}
waitretrace();
show_double_buffer();
}
FadeAway();
bitmap_load("bitmaps\\Loading.bmp",&MenuMap);
bitmap_show_buffer_db(&MenuMap,
(SCREEN_WIDTH-MenuMap.width) >>1,
(SCREEN_HEIGHT-MenuMap.height) >>1);
show_double_buffer();
FadeIn(&MenuMap);
if (PalChanged)
{ChangePalette('b');}
farfree(MenuMap.data);
if (!choice){Continue--;}
return(choice);
}
void ControlSpriteCharacters (void)
{
char StringBuffer[20];
int FireSelect;
FireSelect = object[0].sprite.state;
if (FireSelect > 5)
FireSelect=5;
// reset frames
object[0].sprite.curr_frame=0;
object[0].Homer.speed =11-object[0].sprite.state;
object[0].FireSpeed =11-object[0].sprite.state;
object[0].fire.width =BasicFire[FireSelect].width;
object[0].fire.height =BasicFire[FireSelect].height;
object[0].fire.frames[0]=BasicFire[FireSelect].data;
//PrintRomString something to screen
sprintf(StringBuffer,"Jet-Energy ::> %d.",object[0].sprite.state);
PrintRomString(1,1,248,StringBuffer,1);
// control this with a keyboard
if (ControlMechanism== 1) object[0].KeyboardControl2();
else if(ControlMechanism== 2) object[0].MouseScanControl2();
else if(ControlMechanism== 3) object[0].MouseFeelControl2();
/////////////////////////////////////////////////////////////////////////////
//priority queue implementation
for (int count = 0 ; count < 99 ; count++)
{x_stack[count]=x_stack[count+1];}
for (count = 0 ; count < 99 ; count++)
{y_stack[count]=y_stack[count+1];}
x_stack[99]=object[0].sprite.x;
y_stack[99]=object[0].sprite.y;
/////////////////////////////////////////////////////////////////////////////
// dont let this get out of the screen
object[0].InBoundary ();
//show the sprites currently alive
if (PlayerInvinsible)
{
if (GameLoopCount%8==1)
{
Compliment(PlayerBlink);
}
if (PlayerBlink)
object[0].sprite.paste_x_db();
}
else
{object[0].sprite.paste_x_db();}
if (key_Alt || GetButton())
{
// fire into the bastard
object[0].Fire();
}
if (key_Ctrl || GetButton())
{
// fire into the bastard
if (object[1].sprite.state==1)
object[0].Home(&object[1]);
else if (WaveStatus)
{
object[0].Home(&EnemyWave[random(4)]);
}
}
object[0].sprite.LExhaustAir();
//see if anything is to explode or smoulder
object[0].ExplodeCall();
object[0].SmoulderCall();
//see if anything is to home
object[0].HomeCall();
//see if anything has to fire
object[0].RFireCall();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -