见评论

1 条评论

  • @ 2026-6-3 21:28:33

    #include<bits/stdc++.h> #include<windows.h> using namespace std; int a,b,n,m,l,p[10][10]; int picture[10][10]; void gamemap(int n,int m,int l){ srand(time(0)); while(l--){ a=rand()%n+1; b=rand()%m+1; do{ a=rand()%n+1; b=rand()%m+1; }while(p[a][b]==99); p[a][b]=99; } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(p[i][j]==99){ continue; } int sum=0; if(p[i-1][j-1]==99){ sum++; } if(p[i-1][j]==99){ sum++; } if(p[i-1][j+1]==99){ sum++; } if(p[i][j-1]==99){ sum++; } if(p[i][j+1]==99){ sum++; } if(p[i+1][j-1]99){ sum++; } if(p[i+1][j]99){ sum++; } if(p[i+1][j+1]99){ sum++; } p[i][j]=sum; } } } int main(){ system("color F7"); system("color 9F"); cout<<"你准备好玩扫雷了么?"<<endl; char v; cout<<"(y)|准备好了"<<endl; cout<<"(n)|没准备好"<<endl; cin>>v; if(v'y'){ cout<<"那我们就开玩吧!"<<endl; cout<<"先说一下游戏规则:"<<endl; cout<<"先一次输入雷区的长宽和雷数。"<<endl; cout<<"然后每次操作第一个是1或2,1:打开此区域 2:标记此处有雷"<<endl; cout<<"后面两个数分别别是你选择地点的x和y坐标"<<endl; }else{ cout<<"告诉我!你为什么不玩!!!!!"; exit(0); } cout<<"按任意键继续"<<endl; cin>>v; system("cls"); int sum=0; cout<<"请输入雷区的长和宽(不超过9):"; cin>>n>>m; system("cls"); cout<<"请输入雷的个数:"; cin>>l; int k=time(0); system("cls"); gamemap(n,m,l); cout<<" "; for(int i=1;i<=m;i++){ cout<<i<<' '; } cout<<endl; cout<<" "; for(int i=1;i<=m;i++){ cout<<setw(2)<<"__"; } cout<<endl; for(int i=1;i<=n;i++){ cout<<i<<"|"; for(int j=1;j<=m;j++){ cout<<setw(2)<<"?"; } cout<<"|"<<endl; } cout<<" "; for(int i=1;i<=m;i++){ cout<<""; } cout<<endl; while(1){ int s,x,y; cout<<"操作:"; cin>>s>>x>>y; system("cls"); if(s1&&p[x][y]==99){ cout<<"loser~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(p[i][j]99){ cout<<setw(2)<<"*"; } else{ cout<<setw(2)<<p[i][j]; } } cout<<endl; } exit(0); } if(s2&&p[x][y]99){ sum++; }if(suml){ int l=time(0); cout<<"you win!!! 共用时:"<<l-k<<'s'; exit(0); } picture[x][y]=s; cout<<" "; for(int i=1;i<=m;i++){ cout<<i<<' '; } cout<<endl; cout<<" "; for(int i=1;i<=m;i++){ cout<<"__"; } cout<<endl; for(int i=1;i<=n;i++){ cout<<i<<"|"; for(int j=1;j<=m;j++){ if(picture[i][j]==1) cout<<setw(2)<<p[i][j]; if(picture[i][j]==0) cout<<setw(2)<<"?"; if(picture[i][j]2) cout<<setw(2)<<"F"; } cout<<"|"<<endl; } cout<<" "; for(int i=1;i<=m;i++){ cout<<""; }cout<<endl; } return 0; }

    • 1