#include<bits/stdc++.h>
#include<Windows.h>
#define n(x) rand()%(x)
#define p(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1 : 0)
using namespace std;
void hideCursor() {
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO cci;
GetConsoleCursorInfo(hOut, &cci);
cci.bVisible = 0;
SetConsoleCursorInfo(hOut, &cci);
}
int a[25][55];
char r='y';
int main() {
hideCursor();
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
cout<<" *****\n";
Sleep(2);
cout<<" *****\n";
Sleep(2);
cout<<" *****\n";
Sleep(2);
cout<<" *****\n";
Sleep(2);
cout<<" *****\n";
Sleep(2);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
cout<<"************\n";
Sleep(2);
cout<<"************\n";
Sleep(2);
cout<<"************\n";
Sleep(2);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE);
cout<<" Game-Box\n";
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
Sleep(5);
for(int i=1; i<=9; i++) {
for(int j=1; j<=50; j++) {
if(i==1 || j==1 || j==50) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
cout<<"▇";
Sleep(1);
} else {
cout<<" ";
}
}
cout<<"\n";
}
cout<<"▇ 请";
Sleep(1);
cout<<"输";
Sleep(1);
cout<<"入";
Sleep(1);
cout<<"密";
Sleep(1);
cout<<"码";
Sleep(1);
cout<<": ▇\n";
for(int i=11; i<=20; i++) {
for(int j=1; j<=50; j++) {
if(i==1 || j==1 || j==50 || i==20) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
cout<<"▇";
Sleep(1);
} else {
cout<<" ";
}
}
cout<<"\n";
}
string s1;
cin>>s1;
if(s1=="lql123") {
cout<<"开始\n";
Sleep(5);
} else {
return 0;
}
int s=0,sw=0,k,h;
bool f=true;
int x=10,y=25;
for(int i=1; i<=20; i++) {
for(int j=1; j<=50; j++) {
a[i][j]=0;
}
}
for(int i=1; i<=50; i++) {
a[1][i]=1;
}
for(int i=1; i<=20; i++) {
a[i][1]=1;
a[i][50]=1;
}
for(int i=1; i<=50; i++) {
a[20][i]=1;
}
a[x][y]=3;
for(int o=1;; o++) {
hideCursor();
system("cls");
if(sw*3==30) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);
system("mode con cols=60 lines=37");
cout<<"▇▇▇▇▇▇▇▇▇▇▇▇\n";
cout<<"▇ 你赢啦 ▇\n";
cout<<"▇ !!! ▇\n";
cout<<"▇▇▇▇▇▇▇▇▇▇▇▇\n";
cout<<"请安空格键结束……";
while(!p(' ')) {
}
return 0;
}
if(o==80) {
break;
}
system("cls 10000");
if(f==true) {
o=1;
srand(time(NULL));
k=n(17);
srand(time(NULL));
h=n(47);
a[k][h]=2;
f=false;
}
for(int i=1; i<=20; i++) {
for(int j=1; j<=50; j++) {
if(a[i][j]==0) {
cout<<" ";
} else if(a[i][j]==2) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);
cout<<"●";
} else if(a[i][j]==3) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
cout<<"◆";
} else {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
cout<<"▇";
}
}
cout<<"\n";
}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
cout<<"力量:"<<sw*3<<" 已吃食物数量"<<sw<<" 暂停:空格键 移动:↑ ↓ ← → \n剩余时间:"<<80-o<<" (时间不多啦!!!) 位置:行:"<<x<<" 列:"<<y<<"\n";
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);
cout<<"作者:李晴朗\n";
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
if(p(VK_UP)) {
r='s';
if(a[x-1][y]==2) {
o=1;
sw++;
f=true;
a[x][y]=0;
a[--x][y]=3;
} else if(a[x-1][y]==1) {
cout<<"你死啦!!!";
return 0;
} else {
a[x][y]=0;
a[--x][y]=3;
}
}
if(p(VK_DOWN)) {
r='x';
if(a[x+1][y]==2) {
sw++;
o=1;
f=true;
a[x][y]=0;
a[++x][y]=3;
} else if(a[x+1][y]==1) {
cout<<"你死啦!!!";
return 0;
} else {
a[x][y]=0;
a[++x][y]=3;
}
}
if(p(VK_LEFT)) {
r='z';
if(a[x][y-1]==2) {
sw++;
o=1;
f=true;
a[x][y]=0;
a[x][--y]=3;
} else if(a[x][y-1]==1) {
cout<<"你死啦!!!";
return 0;
} else {
a[x][y]=0;
a[x][--y]=3;
}
}
if(p(VK_RIGHT)) {
r='y';
if(a[x][y+1]==2) {
sw++;
o=1;
f=true;
a[x][y]=0;
a[x][++y]=3;
} else if(a[x][y+1]==1) {
cout<<"你死啦!!!";
return 0;
} else {
a[x][y]=0;
a[x][++y]=3;
}
}
if(p(' ')) {
cout<<"游戏已暂停……\n请按B键继续:";
for(;;) {
if(p('B')) {
break;
}
}
}
if(p('J')) {
o=1;
a[k][h]=0;
srand(time(NULL));
k=n(17);
srand(time(NULL));
h=n(47);
a[k][h]=2;
f=false;
}
if(p('K')){
cout<<"姓名:李晴朗 密码:lql123 \n";
Sleep(10000);
}
}
return 0;
}