睡觉前 请关灯的 记录版本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了睡觉前 请关灯的 记录版本相关的知识,希望对你有一定的参考价值。
#include"wz.h" #include"sts.h" #define MAX 5 void show(int arr[][MAX]) { for(int i=0;i<MAX;i++) { for(int j=0;j<MAX;j++) { cout<<arr[i][j]<< " "; } cout<<endl; } cout<<endl; } void play(int arr[][MAX],int x,int y) { if(x < 0 || y < 0 || x >= MAX || y >= MAX) { return ; } arr[x][y] = 1 -arr[x][y]; if(x-1 >= 0) { arr[x-1][y] = 1 - arr[x-1][y]; } if(x+1 < MAX) { arr[x+1][y] = 1 - arr[x+1][y]; } if(y-1 >= 0) { arr[x][y-1] = 1 - arr[x][y-1]; } if(y+1 < MAX) { arr[x][y+1] = 1 - arr[x][y+1]; } } void cp(int v[][MAX],int k,int a[],int b[]) { int i; for(i=k;i>0;i--) { play(v,a[i],b[i]);show(v);} cout<<"电脑显示完毕 系统已退出 "<<endl; } static int cc=1; int player() { while(cc) { int a[100]={0};int b[100]={0}; int v[MAX][MAX] = {0}; int x,y; int k=3,i=0; int state=1; time_t t; srand((unsigned)time(&t)); k=rand()%5+1; cout<<"熄灯前睡觉 欢迎来到第 "<<cc<<" 关"<<endl; cc++; while(i++<k) { x=rand()%5; y=rand()%5; a[i]=x;b[i]=y; play(v,x,y); } show(v); while( state) { cout<<"熄灯前睡觉 输入坐标(x,y),(0,0)退出"<<endl; cin>>x>>y; if(x==0&&y==0)cc=0; x=x-1;y=y-1; if(x>-1&&x<5&&y>-1&&y<5) { i++; a[i]=x;b[i]=y; if(i++==100){ cout<<"电脑显示完毕 玩家步数太多,系统已退出 "<<endl;state=0;} play(v,x,y); show(v); } if(x+y>10){ cp(v,i+1,a,b);state=0;} } } } int main() { cout<<"***************************************"<<endl; cout<<" 欢迎参与点灯游戏 "<<endl<<" 由wzzx提供"<<endl; cout<<" 游戏过程中输入x+y大于10时可以选择电脑演示求解步骤 "<<endl; cout<<"***************************************"<<endl; player(); return 0; }
以上是关于睡觉前 请关灯的 记录版本的主要内容,如果未能解决你的问题,请参考以下文章