#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
#include<unistd.h>//包含sleep(1);
using namespace std;
int k=3;
char key='d';
char a[20][30];
int b[300][2]={{0,0},{2,3},{2,4},{2,5}};
int c[2]={2,20};
int w=0;
int d[15][2]={{2,20},{4,29},{5,15},{9,2},{7,17},{3,13},{4,1},{7,4},{5,21},{3,11},{4,12},{7,15},{6,19},{9,28},{1,23}};
bool f(){
if(b[1][0]==1||b[1][0]==10||b[1][1]==1||b[1][1]==30){
return 0;
}
else return 1;
}
void dy(){
for(int i=1;i<=10;i++){
for(int j=1;j<=30;j++){
cout<<a[i][j];
}
cout<<endl;
}
}
void f2(){
if(key=='w'){
a[b[1][0]-1][b[1][1]]='0';
a[b[k][0]][b[k][1]]='w';
for(int i=1;i<=k;i++){
b[i][0]--;
}
}
else if(key=='s'){
a[b[1][0]+1][b[1][1]]='0';
a[b[k][0]][b[k][1]]='w';
for(int i=1;i<=k;i++){
b[i][0]++;
}
}
else if(key=='a'){
a[b[1][0]][b[1][1]+1]='0';
a[b[k][0]][b[k][1]]='w';
for(int i=1;i<=k;i++){
b[i][1]--;
}
}
else if(key=='d'){
a[b[1][0]][b[1][1]+1]='0';
a[b[k][0]][b[k][1]]='w';
for(int i=1;i<=k;i++){
b[i][0]++;
}
}
}
int main(){
for(int i=1;i<=10;i++){
for(int j=1;j<=30;j++){
if(i==1||i==10||j==1||j==30){
a[i][j]='#';
}
else if(i==c[0]&&j==c[1]){
a[i][j]='*';
}
else if(i==2&&j==2||i==2&&j==3||i==2&&j==4){
a[i][j]='0';
}
else{
a[i][j]='w';
}
}
}
while(f()==1){
bool fla=0;
key='d';
if(_kbhit()){
char a=getch();
fla=1;
key=a;
f2();
}
sleep(2);
system("cls");
if(fla==1){
fla=0;
goto label;
}
f2();
label:
if(b[1][0]==c[0]&&b[1][1]==c[1]){
b[k+1][0]=b[k][0];
b[k+1][1]=--b[k][1];
++k;
if(w==15){
w=1;
}
else w++;
a[b[k][0]][b[k][1]]='0';
c[0]=d[w][0];
c[1]=d[w][0];
a[c[0]][c[1]]='*';
}
dy();
}
system("cls");
system("color 70");
cout<<"game over!!";
sleep(2);
return 0;
}
1 个赞
《响尾蛇》 (doge)