调度中心控制台 机场控制台游戏( 七 )


int Score,AppearTime;
int StopCD,StopTime,LastStopTime,isStop;
int Money;
bool Hit(int tx,int ty){
return (tx==x-5&&ty>=y-6&&ty<=y+6)||
(tx==x-4&&ty>=y-4&&ty<=y+4)||
(tx==x-3&&ty>=y-7&&ty<=y+7)||
(tx==x-2&&((ty==y-7)||(ty==y+7)||(ty>=y-2&&ty<=y+2)))||
(tx==x-1&&ty>=y-1&&ty<=y+1)||
(tx==x&&ty==y);
}
void Die{
flash(3);
BossFlag=0;
double tmp=Performance;
int Add=int(Score*tmp);
Own.BossScore+=Add;
Own.Money+=Money*(tmp/3.0);
ScoreFlash=MoneyFlash=1;
TP(WINDOWC/2-1,WINDOWW/2-18,OC,"+-----------------------------------+");
TP(WINDOWC/2 ,WINDOWW/2-18,OC,\'|\'),gto(WINDOWC/2,WINDOWW/2-7),color(PerfColor[int(tmp)]),printf("%s",PerfLevel[int(tmp)]),printf(" + %d scores !",Add),TP(WINDOWC/2 ,WINDOWW/2+18,OC,\'|\');
TP(WINDOWC/2+1,WINDOWW/2-18,OC,"+-----------------------------------+");
Sleep(1500);
TP(WINDOWC/2-1,WINDOWW/2-18,OC," ");
TP(WINDOWC/2 ,WINDOWW/2-18,OC," ");
TP(WINDOWC/2+1,WINDOWW/2-18,OC," ");
if(x-7>=0) TP(x-7,y-7,OC," ");
if(x-6>=0) TP(x-6,y-7,OC," ");
if(InRange(x)) TP(x,y,OC,\' \');
if(InRange(x-1)) TP(x-1,y-1,OC," ");
if(InRange(x-2)) TP(x-2,y-7,OC," ");
if(InRange(x-3)) TP(x-3,y-7,OC," ");
if(InRange(x-4)) TP(x-4,y-4,OC," ");
if(InRange(x-5)) TP(x-5,y-6,OC," ");
EnemyClear;
}
void Flash{
if(InRange(x-5)) TP(x-5,y-6,fblack+bwhite,"[-----------]");
if(InRange(x-4)) TP(x-4,y-4,fblack+bwhite,\'\\\'),TP(x-4,y-3,fblack+bwhite,"OO"),TP(x-4,y-1,fblack+bwhite,"XXX"),TP(x-4,y+2,fblack+bwhite,"OO"),TP(x-4,y+4,fblack+bwhite,"/");
if(InRange(x-3)) TP(x-3,y-7,fblack+bwhite,"+---\\XX"),TP(x-3,y,fblack+bwhite,\'O\'),TP(x-3,y+1,fblack+bwhite,"---+");
if(InRange(x-2)) TP(x-2,y-7,fblack+bwhite,\'V\'),TP(x-2,y-2,fblack+bwhite,\'\\\'),TP(x-2,y-1,fblack+bwhite,"OOO"),TP(x-2,y+2,fblack+bwhite,\'/\'),TP(x-2,y+7,fblack+bwhite,\'V\');
if(InRange(x-1)) TP(x-1,y-1,fblack+bwhite,\'\\\'),TP(x-1,y,fblack+bwhite,\'O\'),TP(x-1,y+1,fblack+bwhite,\'/\');
if(InRange(x-5)) TP(x-5,y-6,OC,"[-----------]");
if(InRange(x-4)) TP(x-4,y-4,OC,\'\\\'),TP(x-4,y-3,fgray+bblack,"OO"),TP(x-4,y-1,OC,"XXX"),TP(x-4,y+2,fgray+bblack,"OO"),TP(x-4,y+4,OC,"/");
if(InRange(x-3)) TP(x-3,y-7,OC,"+---\\XX"),TP(x-3,y,fgray+bblack,\'O\'),TP(x-3,y+1,OC,"---+");
if(InRange(x-2)) TP(x-2,y-7,fgray+bblack,\'V\'),TP(x-2,y-2,OC,\'\\\'),TP(x-2,y-1,fgray+bblack,"OOO"),TP(x-2,y+2,OC,\'/\'),TP(x-2,y+7,fgray+bblack,\'V\');
if(InRange(x-1)) TP(x-1,y-1,OC,\'\\\'),TP(x-1,y,fgray+bblack,\'O\'),TP(x-1,y+1,OC,\'/\');
if(InRange(x)) TP(x,y,OC,\' \');
if(InRange(x)) TP(x,y,OC,\'V\');
}
void Init(int S){
Blood=FullBlood=ConstBossFullBlood[S];
x=0,y=rand%(WINDOWW-14)+7;//Must be in the screen
dx=1,dy=0;
LastShotTime1=LastShotTime2=0;
flag2=0;
ShotSpeed1=ConstBossShotSpeed[S][0],ShotSpeed2=ConstBossShotSpeed[S][1];
MoveSpeed=ConstBossMoveSpeed[S];
LastMoveTime=0;
Score=ConstBossScore[S];
AppearTime=clock;
isExist=1;
StopTime=ConstBossStopTime[S],StopCD=ConstBossStopCD[S],LastStopTime=isStop=0;
Money=ConstBossMoney[S];
}
void BloodRefresh(int NewX,int NewY){
/*Print the blood/fullblood number*/
/*Due to %06d we can\'t use TP*/
if(x-7>=0){
dx=0;
TP(x-7,y-7,OC," ");
if(isExist){
if(NewX-7<WINDOWC){
gto(NewX-7,NewY-7),color(fcyan+bblack),printf("%07d",Blood);
TP(NewX-7,NewY,fcyan+bblack,\'/\');
gto(NewX-7,NewY+1),color(fcyan+bblack),printf("%07d",FullBlood);
}
}
}
/*To appear gradually, we should check the position*/
if(x-6>=0){
TP(x-6,y-7,OC," ");
if(isExist)
if(NewX-6<WINDOWC){
/*Round up*/
int FullBlock=(Blood*15+FullBlood-1)/FullBlood; //Number of "@"
int EmptyBlock=15-FullBlock; //Number of "O"
int BloodColor=ConstBloodColor[(FullBlock+4)/5];
/*Print the blood line*/
for(int i=1;i<=FullBlock;i++)
TP(NewX-6,NewY-8+i,BloodColor+bblack,\'@\');


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。