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



void Init{
srand((unsigned)time);
//SetWindow("HPF",WINDOWC+12,WINDOWW+45,0,500);
SetWindow("HPF",WINDOWC+2,WINDOWW+40);
HindCursor;
TP(0,0,OC,"+---------------------------------------------------------------------------------------------+");
TP(2,(WINDOWW+40)/2-7,OC,"Hape Flying Game");
TP(7,0,OC,"+---------------------------------------------------------------------------------------------+");
Button Start=NewButton(4,(WINDOWW+40)/2-4,OC,"> Start <");
Button More=NewButton(5,(WINDOWW+40)/2-4,OC,"> More <");
while(1){
if(Preserve(Start)){
Own.Init(0);
break;
}
if(Preserve(More)){
TP(6,3,fred,"Input the password: ");
gto(6,22),color(fgray);
char Key[15];
fgets(Key,10,stdin);
if(!strcmp(Key,"cxhsdsb\n")){
Own.Init(1);
break;
}
fflush(stdin);
color(OC);
system("cls");
TP(0,0,OC,"+---------------------------------------------------------------------------------------------+");
TP(2,(WINDOWW+40)/2-7,OC,"Hape Flying Game");
TP(7,0,OC,"+---------------------------------------------------------------------------------------------+");
}
Sleep(50);
}
color(OC);
system("cls");
}

/*Meet the awful problem again*/
bool isHit(int NewX,int NewY,int Type){
if(Type==1||Type==3){
int DM=int(ConstBulletDamage[Type]*Own.AddAtack);
for(set<UFO*>::iterator it=Enemy.begin;it!=Enemy.end;it++){
if((*it)->Hit(NewX,NewY)){
/*Mention the order, or it won\'t be cleared*/
UFO *t=*it;
t->Flash;
t->Blood=max(t->Blood-DM,0);
t->BloodRefresh(t->x,t->y);
if(t->Blood<=0){
Own.Money+=t->Money;
MoneyFlash=1;
ScoreFlash=1;
t->isExist=0;
t->ClearPrint;
int Add=t->Score;
/*Buff 4*/
/*Double score*/
if(Own.Buffs[4]){
if(Own.GetBuffTime[4]+ConstBuffLastTime[4]>=clock){
Own.Buffs[4]=0;
Own.GetBuffTime[4]=0;
}
Add+=t->Score;
}
if(BossFlag)
Add/=10;
Own.Score+=Add;
}
return 1;
}
}
if(BossFlag&&Boss.Hit(NewX,NewY)){
Boss.Flash;
Boss.Blood=max(Boss.Blood-DM/2,0);
Boss.BloodRefresh(Boss.x,Boss.y);
OwnShotOnTimes++;
if(Boss.Blood<=0)
Boss.Die,BossFlag=0;
return 1;
}
}
else if(Own.Hit(NewX,NewY)){
Own.Flash(fred+flight);
OwnLoseBlood+=min(Own.Blood,ConstBulletDamage[Type]);
Own.Blood=max(Own.Blood-ConstBulletDamage[Type],0);
Own.BloodRefresh(Own.x,Own.y);
if(Own.Blood<=0)
GameOver;
return 1;
}
return 0;
}

#define MAX_GRADE 10
const int ConstUpgradeCost[MAX_GRADE+5]={10,20,50,100,200,500,1000,2000,5000,10000,INF};
const char ConstUpgradeCostStr[MAX_GRADE+5][10]={"(M 10)","(M 20)","(M 50)","(M 100)","(M 200)","(M 500)","(M 1000)","(M 2000)","(M 5000)","(M 10000)","(M INF) "};
const int ConstGradeColor[MAX_GRADE+5]={fgreen+flight+bblack,fgreen+flight+bblack,fgreen+bblack,fblue+flight+bblack,fblue+flight+bblack,fblue+bblack,fyellow+flight+bblack,fyellow+bblack,fyellow+bblack,fred+flight+bblack,fred+bblack,fred+bblack};
const char ConstGradeName[MAX_GRADE+5][20]={"[G0]","[G1]","[G2]","[G3]","[G4]","[G5]","[G6]","[G7]","[G8]","[G9]","[G10]"};

int main{
//GameOver;
//ColorPrint;
//getchar;
Init;
HWND hd;
hd=GetForegroundWindow;
TP(12,WINDOWW+3,OC,"---------Details of Buffs---------");
TP(18,WINDOWW+3,OC,"----------------------------------");
//Own.Blood=100;
int cnt=1;
BossFlag=0;
int LastT=clock/1000-2,LastMoney=-1;
BEGINTIME=clock;
int _____=0,STOP=0,LastPreserveTime=-INF;

Button AddFullBlood,AddAttack,AddShotSpeed;
int FullBloodGrade=0,AttackGrade=0,ShotSpeedGrade=0;
string AddFullBloodTip("> Add your max blood by 500"),AddAttackTip("> Add your attack by 10%"),AddShotSpeedTip("> Add your shot speed by 10%");
AddFullBlood=NewButton(5,WINDOWW+3,OC,"> Add your max blood by 200");
AddAttack=NewButton(6,WINDOWW+3,OC,"> Add your attack by 10%");


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