这份代码判定十分抽象,有时候要点很多次,但是由于kb_hit,多点了会导致趋势,求调,玄2关
void atk(){
start();
CoutStr("你刚离开迷宫,Angela站在你面前,一把剑朝你挥来,你险之又险的避开了。");
CoutStr("身后的迷宫轰然倒塌,你没有退路了。");
CoutStr("*你充满了决心");
CoutStr("规则简述:B 会给出Angela的攻击,你需要在1.5s内格挡,请按照相反方向格挡。wasd操作。(不是决心鱼)");
inal();
clock_t cp=clock();
int now=1,poi=0;
while(1){
clock_t t=clock();
double tim=(t-cp)/CLOCKS_PER_SEC;
if(now>20){
break;
}
if(tim>=ti[now]&&!jdy[now]){
if(tim-ti[now]>1.5){
CoutStr("你被Angela一刀砍中。");
inal();
end14();
}
if(!poi){
system("cls");
cout<<Aeg[now];
poi=1;
}
}
else{
continue;
}
if(_kbhit()){
char ch=_getch();
ch=hl(ch);
if(tim>=ti[now]&&ch=='W'){
if(Aeg[now]=='S'){
poi=0;
now++;
system("cls");
}
else{
CoutStr("你被Angela一刀砍中。");
inal();
end14();
}
}
else if(tim>=ti[now]&&ch=='S'){
if(Aeg[now]=='W'){
poi=0;
now++;
system("cls");
}
else{
CoutStr("你被Angela一刀砍中。");
inal();
end14();
}
}
else if(tim>=ti[now]&&ch=='A'){
if(Aeg[now]=='D'){
poi=0;
now++;
system("cls");
}
else{
CoutStr("你被Angela一刀砍中。");
inal();
end14();
}
}
else if(tim>=ti[now]&&ch=='D'){
if(Aeg[now]=='A'){
poi=0;
now++;
system("cls");
}
else{
CoutStr("你被Angela一刀砍中。");
inal();
end14();
}
}
}
}
end15();
}