-
个人简介
#include <bits/stdc++.h> #include <windows.h> using namespace std; int main(){ int num[5][5]={0}; //储存卡牌数字 int flag[9]={0}; //记录每个数字出现的次数 int temp; int arr[5][5]={0}; //标记卡牌
int ix,iy,ia,ib; cout << "记忆卡牌游戏规则" << endl; cout << "现有16张数字卡牌,由数字1~8组成,每个数字只出现2次" << endl; cout << "游戏者需要将卡牌翻至背面,找出所有相同的数字" << endl; cout << "每一轮只允许翻两张卡牌" << endl; cout << "如果卡牌数字相同,则将卡牌上有数字的一面显示出来" << endl; cout << "否则将卡牌翻回正面,进行下一轮" << endl; cout << "系统测量游戏者找出所有相同数字的卡牌所花费的步数(即进行多少轮)" << endl; system("pause"); //系统暂停含数 cout<<endl; srand(time(0)); //产生随机数种子 time(0) 时间戳 for(int i=1;i<=4;i++){ for(int j=1;j<=4;j++){ while(true){ temp = rand()%8+1; if(flag[temp]<2){ num[i][j]=temp; flag[temp]++; break; }else{ continue; } } } } for(int i=1;i<=4;i++){ for(int j=1;j<=4;j++){ printf("%c ",'*'); } cout<<endl; }
while(1){ cout<<"请输入第一次翻牌的行数和列数:"; cin>>ix>>iy; arr[ix][iy]++;system("cls"); for(int i=1;i<=4;i++){ for(int j=1;j<=4;j++){ if(arr[i][j]>0) cout<<num[i][j]<<" "; else cout<<"* "; } cout<<endl; } cout<<"请输入第二次翻牌的行数和列数:"; cin>>ia>>ib; arr[ia ][ib]++; system("cls"); for(int i=1;i<=4;i++){ for(int j=1;j<=4;j++){ if(arr[i][j]>0) cout<<num[i][j]<<" "; else cout<<"* "; } cout<<endl; } if(num[ix][iy]==num[ia][ib]){ cout<<"恭喜你!此轮翻牌成功"<<endl; }else{ cout<<"很遗憾!此轮翻牌失败"<<endl; arr[ix][iy]--; arr[ia][ib]--; } cout<<"2秒之后进入下一轮"<<endl; Sleep(2000); system("cls"); for(int i=1;i<=4;i++){ for(int j=1;j<=4;j++){ if(arr[i][j]>0) cout<<num[i][j]<<" "; else cout<<"* "; } cout<<endl; } } return 0;
}
-
通过的题目
-
最近活动
This person is lazy and didn't join any contests or homework.
题目标签
- 初窥门径
- 55
- 顺序结构
- 25
- 分支结构
- 21
- 略有小成
- 19
- 循环结构
- 17
- 字符串
- 8
- 驾轻就熟
- 7
- 一维数组
- 5
- 二维数组
- 4
- 结构体
- 3
- 模拟
- 3
- for循环
- 2
- while循环
- 1
- 排序
- 1
- 递推
- 1
- 递归
- 1