#include<bits/stdc++.h>
#include<windows.h>
#include<stdio.h>
#include<conio.h>
#include<time.h>
using namespace std;
int m[10001][21]={
{-1,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{-1,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{-1,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{-1,19,0,0,0,0,0,1,1,1,0,0,12,0,0,0,0,0,0,0,0},
{-1,13,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0},
{-1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,4,0,0,0,0},
{-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{-1,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
{-1,0,0,0,2,2,0,0,3,3,0,0,6,6,0,0,0,0,0,0,0},
{-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0},
{-1,15,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0},
{-1,0,0,0,0,0,0,0,0,0,0,0,0,16,17,0,0,0,0,0,0},
{-1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
{-1,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{-1,0,0,0,1,1,0,0,2,2,0,0,0,1,1,1,0,0,0,0,0},
};
int X,Y,dx,dy,tX,zX,zY,Sstar,Sboom,Win;
int Ee,Fen,RR,Slep,K,S,Er,Ice,Fang,Can;
int Ta,Zha,Bai,Yin,Su,U,TT,Ty,sy;
void Color(int a)
{
a+=Bai*20;
if(a==0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
if(a==1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
if(a==2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
if(a==3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
if(a==4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
if(a==5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
if(a==6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
if(a==7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
if(a==8) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_GREEN|BACKGROUND_BLUE|FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
if(a%20==9) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_RED|FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
if(a==10) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
else if(a>20) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
}
void SetPos(int x,int y)
{
COORD pos;
pos.X=y*2-1,pos.Y=26-x;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void Star();
void Wo(int x)
{
SetPos(X-K,Y),cout<<" "; //清除上一次残影
if(Can!=0) {SetPos(X-K,Y),Color(10),cout<<"●";int R=rand()%5;if(R==0&&Y<20) Y++;if(R==1&&Y>1) Y--;}//兴奋
if((m[X][Y]==1||m[X][Y]==7)&&Ta==0) X++; //跳上白块
if(X<=0) X=dx,Y=dy; //复活
if(X-K>23) tX=0,X=K+23; //高度上限
if(tX!=0&&Ta==0) tX--,X+=2; //上跳
if(Ta!=0) {tX=0;if(m[X-1][Y]==0||m[X-1][Y]==4||m[X-1][Y]==5||(m[X-1][Y]>=9&&m[X-1][Y]<=18)) m[X-1][Y]=7;} //云鞋走路
if(m[X][Y]==6) X--; //隐形块
if(m[X+1][Y]==6){tX=0;m[X+1][Y]=7;if(m[X+1][Y-1]==6) m[X+1][Y-1]=7;if(m[X+1][Y+1]==6) m[X+1][Y+1]=7;Fen+=2;} //隐形块
if(m[X-1][Y]==6){tX=0;m[X-1][Y]=7;if(m[X-1][Y-1]==6) m[X-1][Y-1]=7;if(m[X-1][Y+1]==6) m[X+1][Y+1]=7;Fen+=2;} //隐形块
if(m[X][Y+1]==6){tX=0;m[X][Y+1]=m[X][Y+2]=7;Fen+=2;} if(m[X][Y-1]==6){tX=0;m[X][Y-1]=m[X][Y-2]=7;Fen+=2;} //隐形块
if(m[X-1][Y]==0||m[X-1][Y]==4||m[X-1][Y]==5||(m[X-1][Y]>=9&&m[X-1][Y]<=20)) {X--;} //掉落
if(m[X][Y]==4) Fen+=5,m[X][Y]=5,dx=X,dy=Y; //复活点
if(m[X][Y]==16) m[X][Y]=0,Sstar++,Star(),SetPos(X-K,Y),cout<<" ";if(m[X+1][Y]==16) m[X+1][Y]=0,Sstar++,Star(),SetPos(X-K+1,Y),cout<<" "; //星星
if(m[X-1][Y]==1||m[X-1][Y]==2||m[X-1][Y]==3||m[X-1][Y]==7) tX=Er=0; //跳跃次数清零
if(m[X-1][Y]==2||m[X][Y]==2||Ta!=0) tX+=5; //弹跳块
if(m[X-1][Y]==10) m[X-1][Y]=3,Sboom++;if(m[X][Y]==10) m[X][Y]=3,X++,Sboom++; //隐形炸弹块
if(m[X-1][Y]==3||m[X][Y]==3) //炸弹块
{
if(Zha==0)
{
Zha++;
SetPos(X+1-K,Y-1),Color(5),cout<<"■";SetPos(X+1-K,Y+1),Color(5),cout<<"■";SetPos(X+1-K,Y),Color(5),cout<<"■";SetPos(X-1-K,Y-1),Color(5),cout<<"■";
SetPos(X-1-K,Y+1),Color(5),cout<<"■";SetPos(X-1-K,Y),Color(5),cout<<"■";SetPos(X-K,Y-1),Color(5),cout<<"■";SetPos(X-K,Y+1),Color(5),cout<<"■";
SetPos(X-K,Y),Color(5),cout<<"■";Sleep(300);SetPos(X+1-K,Y-1),Color(5),cout<<" ";
SetPos(X+1-K,Y+1),Color(5),cout<<" ";SetPos(X+1-K,Y),Color(5),cout<<" ";SetPos(X-1-K,Y-1),Color(5),cout<<" ";SetPos(X-1-K,Y+1),Color(5),cout<<" ";
SetPos(X-1-K,Y),Color(5),cout<<" ";SetPos(X-K,Y-1),Color(5),cout<<" ";SetPos(X-K,Y+1),Color(5),cout<<" ";SetPos(X-K,Y),Color(5),cout<<" "; //动画
}if(m[X][Y]==3) X++;
if(Fang==0) X=dx,Y=dy,Fen-=5; //复活
}else Zha=0;
if(x==3) {int U=rand()%10;SetPos(X-K,Y);if(U==0) Color(6),cout<<"●";} //隐身
else if(Fang!=0) SetPos(X-K,Y),Color(2),cout<<"●"; //爆衣
else if(Can!=0) SetPos(X-K,Y),Color(4),cout<<"●"; //兴奋
else if(x==2) SetPos(X-K,Y),Color(5),cout<<"●"; //云鞋
else if(x==1) SetPos(X-K,Y),Color(1),cout<<"●"; //普通
}
void Cout(int i,int j,int a)
{
if(m[i][j]==1) SetPos(i-K,j),Color(0),cout<<"■";
if(m[i][j]==2) SetPos(i-K,j),Color(5),cout<<"■";
if(m[i][j]==3) SetPos(i-K,j),Color(4),cout<<"■";
if(m[i][j]==4) SetPos(i-K,j),Color(3),cout<<"▋";
if(m[i][j]==5&&(i!=X||j!=Y)) SetPos(i-K,j),Color(2),cout<<"▋";
if(m[i][j]==6&&a==1) SetPos(i-K,j),Color(7),cout<<"■",m[i][j]=7,Fen++;
if(m[i][j]==7&&a==4) SetPos(i-K,j),cout<<" ",m[i][j]=0;
if(m[i][j]==7&&a!=4) SetPos(i-K,j),Color(7),cout<<"■";
// if(m[i][j]==8) SetPos(i-K,j),cout<<" ";
if(m[i][j]==9) SetPos(i-K,j),Color(0),cout<<"←→左右移动";
if(m[i][j]==11&&Ee==0) SetPos(i-K,j),Color(0),cout<<"弹跳块 炸弹块 隐形块";
if(m[i][j]==11&&Ee==1) SetPos(i-K,j),Color(0),cout<<"弹跳块 ",Color(4),cout<<"隐形炸弹块",Color(0),cout<<" 隐形块";
if(m[i][j]==12&&Ee==0) SetPos(i-K,j),Color(0),cout<<" 激活复活点";
if(m[i][j]==12&&Ee==1) SetPos(i-K,j),Color(0),cout<<"出复活点",Color(3),cout<<"几率已增加";
if(m[i][j]==13) SetPos(i-K,j),Color(0),cout<<"按↑跳跃,可二段跳";
if(m[i][j]==14) SetPos(i-K,j),Color(0),cout<<"从现在开始随机出图啦";
if(m[i][j]==15&&Ee==0) SetPos(i-K,j),Color(5),cout<<"1000分通关!",Color(0),cout<<"空格暂停";
if(m[i][j]==15&&Ee==1) SetPos(i-K,j),Color(5),cout<<"探到40个通关!",Color(0),cout<<"空格暂停";
if(m[i][j]==15&&Ee==2) SetPos(i-K,j),Color(5),cout<<"捉到20个通关!",Color(0),cout<<"空格暂停";
if(m[i][j]==16) SetPos(i-K,j),Color(5),cout<<"★";
if(m[i][j]==17&&Ee==0) SetPos(i-K,j),Color(0),cout<<"里有神秘物品!";
if(m[i][j]==17&&Ee==1) SetPos(i-K,j),Color(0),cout<<"里有",Color(2),cout<<"防爆护罩!",Color(0);
if(m[i][j]==17&&Ee==2) SetPos(i-K,j),Color(2),cout<<"它会动啦!",Color(0);
if(m[i][j]==18) SetPos(i-K,j),Color(0),cout<<"不要让你的角色掉到视线以下!";
if(m[i][j]==19) SetPos(i-K,j),Color(0),cout<<"按↓下降";
if(m[i][j]==20&&Ee==2) SetPos(i-K,j),Color(3),cout<<"出现几率已增加",Color(0);
//这里若加字的话,需在前面改 (m[X-1][Y]>=9&&m[X-1][Y]<=20) 一下
Color(0);
}
void Map(int x1,int x2,int a)
{
SetPos(25,2);if(Bai!=0||Yin!=0||Can!=0) Color(9);else Color(1);
if(Ee==0) cout<<"分数:"<<Fen<<" ",Color(0);if(Ee==1) cout<<"已探测:"<<Sboom<<" ",Color(0);if(Ee==2) cout<<"已收集:"<<Sstar<<" ",Color(0);
SetPos(24,2);if(Ice!=0) Color(8);else Color(1);cout<<"速度:"<<Slep<<" ",Color(0);
bool Yan=0;
for(register int i=x1;i>=x2;i--)
for(register int j=1;j<=20;j++) Cout(i,j,a);
if(Yin!=0) Wo(3);
else if(Ta!=0) Wo(2);
else if(a==0) Wo(1);
else if(a==2) SetPos(X-K,Y),Color(1),cout<<"▲";
}
void MoveStar(int x1,int x2)
{
int n[30][21];memset(n,0,sizeof(n));
for(register int i=x1;i>=x2;i--)
for(register int j=1;j<=20;j++)
{
if(m[i][j]==16&&n[i-K][j]==0)
{
int kl=rand()%4;
if(kl==0&&i-K<22&&m[i+1][j]==0) m[i][j]=0,m[i+1][j]=16,n[i+1-K][j]=1,SetPos(i-K,j),cout<<" ",SetPos(i+1-K,j),cout<<"★";
if(kl==1&&i-1>K&&m[i-1][j]==0) m[i][j]=0,m[i-1][j]=16,n[i-1-K][j]=1,SetPos(i-K,j),cout<<" ",SetPos(i-1-K,j),cout<<"★";
if(kl==2&&j+1<20&&m[i][j+1]==0) m[i][j]=0,m[i][j+1]=16,n[i-K][j+1]=1,SetPos(i-K,j),cout<<" ",SetPos(i-K,j+1),cout<<"★";
if(kl==3&&j-1>1&&m[i][j-1]==0) m[i][j]=0,m[i][j-1]=16,n[i-K][j-1]=1,SetPos(i-K,j),cout<<" ",SetPos(i-K,j-1),cout<<"★";
}
}
}
void Sheng()
{
RR++;
if(K<-8) RR=5;
if(K==-8) RR=0;
if(RR==3) {int r=rand()%2;if(r==0) RR=0;}
if(RR==4) RR=0;
if(RR==0)
{
Ax: int Bx=0;
for(int i=1;i<=20;i++) m[K+22][0]=0;
for(int i=1;i<=20;i++)
{
int R=rand()%50;
if(R<=10) {int S=rand()%3+1; for(int j=i;j<=i+S;j++) if(j<=20) m[K+22][j]=1;i+=S+1;Bx=1;continue;}
if(R>10&&R<=12) {for(int j=i;j<=i+1;j++) if(j<=20) m[K+22][j]=2; i+=2;Bx=1;continue;}
if(R>12&&R<=14) {for(int j=i;j<=i+1;j++) if(j<=20) m[K+22][j]=3; i+=2;continue;}
if(R>14&&R<=16) {for(int j=i;j<=i+1;j++) if(j<=20) m[K+22][j]=6; i+=2;continue;}
if(R==17) {m[K+22][i]=m[K+22][i+1]=m[K+22][i+2]=1; m[K+23][i+1]=4; i+=2;continue;}
if(R>17&&R<=20&&Ee==1) {m[K+22][i]=m[K+22][i+1]=m[K+22][i+2]=1; m[K+23][i+1]=4; i+=2;continue;}
if(R>20&&R<=30&&Ee==1) m[K+22][i]=10; i++;
}if(Bx==0) goto Ax;
}
int Q=rand()%30; if(Q==0) {int QQ=rand()%20+1; if(m[K+22][QQ]==0) m[K+22][QQ]=16;}
else if(Q<=2&&Ee==2) {int QQ=rand()%20+1; if(m[K+22][QQ]==0) m[K+22][QQ]=16;}
}
void Star()
{
int W=rand()%10;if(K<20) W=rand()%7;if(Ee==1) W=3;
if(W==0) {Color(5);cout<<"火箭!";Sleep(1000);tX=0;for(int i=1;i<=15;i++) {if(X-K<20) X+=2; else X++; Sheng(),K++,Fen++,Map(K+22,K-3,2),system("cls");}m[X-2][Y]=m[X-2][Y-1]=6,S=1;Sleep(10);}
if(W==1) {Color(5);cout<<"透视眼!";Sleep(1000);system("color 3F");Sleep(100);if(X>2) m[X-2][Y]=m[X-2][Y-1]=6;Map(K+22,K-3,1);system("color 0F");}
if(W==2) {Color(5);cout<<"减速!";Sleep(1000);system("color 1F");Map(K+22,K-3,3);Ice=10;system("color 0F");if(X>2&&K>10) m[X-2][Y]=m[X-2][Y-1]=6;}
if(W==3) {Color(5);cout<<"防爆护罩!";Sleep(1000);Fang=15;if(X>2&&K>10) m[X-2][Y]=m[X-2][Y-1]=6;}
if(W==4) {Color(5);cout<<"白内障!";Sleep(1000);system("color 5F");Map(K+22,K-3,0);Bai=15;system("color 0F");if(X>2&&K>10) m[X-2][Y]=m[X-2][Y-1]=6;}
if(W==5) {Color(5);cout<<"隐身!";Sleep(1000);system("color 2F");Yin=15;if(X>2) m[X-2][Y]=m[X-2][Y-1]=6;Map(K+22,K-3,0);system("color 0F");}
if(W==6) {Color(5);cout<<"兴奋剂!";Sleep(1000);system("color 4F");Sleep(100);Can=15;if(X>2) m[X-2][Y]=m[X-2][Y-1]=6;Map(K+22,K-3,1);system("color 0F");}
if(W==7) {Color(5);cout<<"踏云靴!";Sleep(1000);system("color 6F");Sleep(100);Ta=10;}
if(W==8) {Color(5);cout<<"平台!";Sleep(1000);system("color 7F");Sleep(100);for(int i=1;i<=20;i++) m[X-1][i]=1;Map(K+22,K-3,1);system("color 0F");}
if(W==9) {Color(5);cout<<"炸弹陷阱!";Sleep(1000);system("color 4F");for(int i=0;i<=5;i++){int kX=rand()%9-4;int kY=rand()%9-4;if(Y+kY>0&&Y+kY<=20) m[X+kX][Y+kY]=3;}tX=0;if(X>1) m[X-1][Y]=6;Map(K+22,K-3,0);system("color 0F");}
}
void Start()
{
Color(5);
SetPos(25,2);cout<<" ■■■ ■ ";
SetPos(24,2);cout<<" ■ ■ ■ ";
SetPos(23,2);cout<<" ■■■ ■ ■ ";
SetPos(22,2);cout<<" ■ ■ ■■■■■ 注意!";
SetPos(21,2);cout<<" ■ ■ ";
SetPos(20,2);cout<<" ■■■ ■■■■ 按键模式已修改!";
SetPos(19,2);cout<<" ■ ■ ■ ■ ";
SetPos(18,2);cout<<" ■ ■ ■ ■ 现在需要同时按才";
SetPos(17,2);cout<<"■■ ■ ■■■■ 可左右跳!";
SetPos(14,2);cout<<" ■ ■ ";
SetPos(13,2);cout<<" ■ ■ ";
SetPos(12,2);cout<<" ■■■ ■■■■■";
SetPos(11,2);cout<<" ■ ■ ■ ■";
SetPos(10,2);cout<<" ■ ■■■■■";
SetPos(9,2); cout<<" ■ ■■ ■ ■ ■";
SetPos(8,2); cout<<" ■ ■ ■ ■■■■■";
SetPos(7,2); cout<<" ■ ■ ";
SetPos(6,2); cout<<" ■ ■ ";
SetPos(5,2); cout<<" ■ ■ 之 路";
SetPos(3,2);Color(0);cout<<"按 y 确定!";SetPos(3,10);Color(9);cout<<" 开始游戏! ";SetPos(2,10);Color(0);cout<<" 炸弹风暴! ";SetPos(1,10);Color(0);cout<<" 夺星之战! ";
SetPos(-1,1);Color(3);cout<<"注意!这里 绝对不能是拼音输入法!";
SetPos(-2,5);Color(3);cout<<"↓";Color(0);
char tt;Ee=0;
while(tt!='y')
{
tt=_getch();
if(tt==72&&Ee!=0) Ee--;
if(tt==80&&Ee!=2) Ee++;
SetPos(3,10);if(Ee==0) Color(9);else Color(0);cout<<" 开始游戏! ";Color(0);
SetPos(2,10);if(Ee==1) Color(9);else Color(0);cout<<" 炸弹风暴! ";Color(0);
SetPos(1,10);if(Ee==2) Color(9);else Color(0);cout<<" 夺星之战! ";Color(0);
}system("cls");
if(Ee==1) m[9][8]=m[9][9]=m[9][10]=m[9][11]=m[9][12]=10,m[9][14]=m[9][15]=6;
}
void Return()
{
for(int i=0;i<=5;i++)
{
system("color 1A");Sleep(10);
system("color 2B");Sleep(10);
system("color 3C");Sleep(10);
system("color 4D");Sleep(10);
system("color 5D");Sleep(10);
system("color 6E");Sleep(10);
system("color 7F");Sleep(10);
}system("color 0F");Map(K+22,K-3,4);system("cls");
while(K>-6) {for(int i=0;i<=20;i++) m[K+21][i]=0;K--;}
m[6][16]=4;m[12][13]=16;
m[9][12]=m[9][13]=6;system("cls");
}
int main()
{
system("mode con cols=42 lines=30");
CONSOLE_CURSOR_INFO cursor_info={1,0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
srand((unsigned)time(NULL));
Start();
ST:
X=3,Y=2,dx=3,dy=2,K=-7;
tX=Fen=RR=S=Er=Sstar=Sboom=Win=0;
Ta=Fang=Ice=Bai=Yin=Can=0;
Map(K+22,K-3,0);
while(X>K-3||dx>K-3)
{
S++,U++;
if(Fen<0) Fen=0;
if(Ee==0&&Fen>1000) {Win=1;break;}if(Ee==1&&Sboom>=40) {Win=1;break;}if(Ee==2&&Sstar>=20) {Win=1;break;}
if(K<=5) Slep=20;if(K>5&&K<=10) Slep=15;if(K>10&&K<=20) Slep=10;if(K>20&&K<=30) Slep=8;if(K>30&&K<=70) Slep=7;if(K>70&&K<=150) Slep=6;if(K>150&&K<=250) Slep=5;if(K>250&&K<=400) Slep=4;if(K>400&&K<=600) Slep=3;if(K>600) Slep=2;
if(Sstar<=5) Su=5;if(Sstar>5&&Sstar<=10) Su=4;if(Sstar>10&&Sstar<=15) Su=3;if(Sstar>15&&Sstar<=20) Su=2;if(Sstar>20&&Sstar<=30) Su=1;
if(Ice!=0) Slep=20;
if(X<=K-3&&dx>K-3) X=dx,Y=dy;
if(S==Slep)
{
K++,S=0;
if(Bai!=0||Yin!=0||Can!=0) Fen+=2;else Fen++;
if(Ta>0) Ta--;if(Fang>0) Fang--;if(Bai>0) Bai--;if(Ice>0) Ice--;if(Yin>0) Yin--;if(Can>0) Can--;
if(Ta<0) Ta=0;if(Fang<0) Fang=0;if(Bai<0) Bai=0;if(Ice<0) Ice=0;if(Yin<0) Yin=0;if(Can<0) Can=0;
system("cls"),Sheng();
}
if(GetAsyncKeyState(VK_UP)&0x8000&&TT==0&&Ta==0&&Er<2) TT++,tX+=4,Er++;
else if(GetAsyncKeyState(VK_UP)&0x8000&&TT==0&&Can!=0) TT++,tX+=7,Er++;
else if(GetAsyncKeyState(VK_UP)&0x8000&&TT==0&&Ta!=0) SetPos(X-K,Y),cout<<" ",X++,tX=Er=0;
if(GetAsyncKeyState(VK_DOWN)&0x8000&&Ty==0) Ty++,SetPos(X-K,Y),cout<<" ",tX=0,X-=2;
if((GetAsyncKeyState(VK_UP) & 0x8000) ?0:1) TT=0;
if((GetAsyncKeyState(VK_DOWN) & 0x8000) ?0:1) Ty=0;
if(GetAsyncKeyState(VK_LEFT)&0x8000&&Y>1) SetPos(X-K,Y),cout<<" ",Y--;
if(GetAsyncKeyState(VK_RIGHT)&0x8000&&Y<20) SetPos(X-K,Y),cout<<" ",Y++;
if(kbhit()) {char g=_getch();if(g==' ') Sleep(100),SetPos(24,8),sy++,Color(0),system("pause");}
if(sy>=1) SetPos(24,8),cout<<" ",sy=0;
if(U>=Su) {U=0;if(Ee==2) MoveStar(K+22,K-3);}
Map(K+22,K-3,0); Sleep(50);
}
if(Win==0) {SetPos(25,8),system("color 7F"),Color(4),cout<<"You! Die!!!",Sleep(1000);}
else {SetPos(25,8),system("color 6E"),Color(3),cout<<"You! Win!!!",Sleep(1000);}
SetPos(24,5),cout<<"Please point 'y' to Play AGain.";Color(0);
A:char e=_getch();if(e=='y') Return();else goto A;goto ST;
return 0;
}