程序博客网 > 天下3女性捏脸数据
来源:互联网 发布:天下3女性捏脸数据 编辑:程序博客网 时间:2024/04/19 21:12
上个礼拜写的,闲着无聊,没意思......::>_<::
#include<iostream>#include<conio.h>#include<time.h>#include<windows.h>using namespace std;struct move{int x,y;}move[4]={-1,0,0,1,1,0,0,-1};/*上右下左*/char MAP[20][20];int body[20][2],lenth,dis,x,y,SPEED=80;bool canmove(int x,int y,int dis){if(x+move[dis].x>-1&&x+move[dis].x<20&&y+move[dis].y>-1&&y+move[dis].y<20&&(MAP[x+move[dis].x][y+move[dis].y]==0||MAP[x+move[dis].x][y+move[dis].y]==2))return true;return false;}void creatpoint(){int i;s:srand((unsigned)time(NULL)); x=rand()%20;srand((unsigned)time(NULL)+x); y=rand()%20;for(i=0;i<lenth;i++)if(body[i][0]==x&&body[i][1]==y)goto s;MAP[x][y]=2;}void gotoxy(int x,int y)/*移动光标*/{COORD C;C.X = x;C.Y = y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),C);}void show(){gotoxy(0,0);int i,j;for(i=0;i<20;i++,cout<<endl)for(j=0;j<20;j++)if(MAP[i][j]==1)cout<<"◎";elseif(MAP[i][j]==2)cout<<"★";elsecout<<" ";}void first(){int i;memset(MAP,0,sizeof(MAP));lenth=3;for(i=0;i<lenth;i++){MAP[0][i]=1;body[lenth-i-1][0]=0;body[lenth-i-1][1]=i;}dis=1;for(i=0;i<20;i++){gotoxy(20*2,i);cout<<"┃";}gotoxy(0,20);for(i=0;i<20;i++){cout<<"━";}creatpoint();show();}void moving(int dis){int i;for(i=0;i<lenth;i++)MAP[body[i][0]][body[i][1]]=0;for(i=lenth-1;i>0;i--){body[i][0]=body[i-1][0];body[i][1]=body[i-1][1];}body[0][0]+=move[dis].x;body[0][1]+=move[dis].y;for(i=0;i<lenth;i++)MAP[body[i][0]][body[i][1]]=1;}void eat(){int i;if(body[0][0]==x&&body[0][1]==y){for(i=0;i<4;i++)if(body[lenth-1][0]+move[i].x==body[lenth-2][0]&&body[lenth-1][1]+move[i].x==body[lenth-2][1])break;body[lenth][0]=body[lenth-1][0]+move[(i+2)%4].x;body[lenth][1]=body[lenth-1][1]+move[(i+2)%4].x;lenth++;creatpoint();}}void control(){char op,i=0,dd;while(i<SPEED){if(kbhit()>0){op=getch();if(op=='d')dd=1;elseif(op=='a')dd=3;else if(op=='s')dd=2;else if(op=='w')dd=0;if(dd!=(dis+2)%4){if(canmove(body[0][0],body[0][1],dd)==false)goto end;dis=dd;moving(dis);eat();show();}}Sleep(3);i++;}if(canmove(body[0][0],body[0][1],dis)==true){moving(dis);eat();show();return ;}end:system("cls");cout<<"game over"<<endl;exit(0);}int main(){first();while(1){control();if(lenth>=17){SPEED/=2;main();return 0;}}}