- 2023tyoi0292 的博客
数学小游戏2
- 2024-3-9 13:50:43 @
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
int board[6][6] = {{0, 0, 0, 0, 0, 0}, {0, 11, 12, 8, 9, 10}, {0, 8, 9, 5, 6, 7}, {0, 12, 13, 9, 10, 11}, {0, 3, 4, 0, 1, 2}, {0, 10, 11, 7, 8, 9}};
int ans[100];
bool vis[6][6];
void slowprint(string s) {
for(int i = 0; i < s.size(); i++) {
cout << s[i];
Sleep(30);
}
}
int main() {
while(true) {
slowprint("游戏规则:输入一个坐标,系统会删掉这个数和向四个方向的所有数,你要记住选的数的和\n");
memset(vis, 0, sizeof(vis));
memset(ans, 0, sizeof(ans));
int cnt = 0, sum = 0;
while(cnt < 25) {
for(int i = 1; i <= 5; i++) {
for(int j = 1; j <= 5; j++) {
if(!vis[i][j]) cout << setw(5) << board[i][j];
else cout << " x";
}
cout << endl;
}
slowprint("输入坐标\n");
int x, y;
cin >> x >> y;
cnt++;
vis[x][y] = true;
for(int i = 1; x + i <= 5; i++) {
if(!vis[x + i][y]) cnt++;
vis[x + i][y] = true;
}
for(int i = 1; x - i > 0; i++) {
if(!vis[x - i][y]) cnt++;
vis[x - i][y] = true;
}
for(int i = 1; y + i <= 5; i++) {
if(!vis[x][y + i]) cnt++;
vis[x][y + i] = true;
}
for(int i = 1; y - i > 0; i++) {
if(!vis[x][y - i]) cnt++;
vis[x][y - i] = true;
}
ans[++sum] = board[x][y];
system("cls");
}
slowprint("你选了这些数:\n");
for(int i = 1; i <= sum; i++) cout << ans[i] << ' ';
slowprint("是不是和为39?\n");
slowprint("你是不是觉得我作弊了?那就再试一次吧,确定输入1,否则退出\n");
int op;
cin >> op;
if(op != 1) break;
system("cls");
}
return 0;
}
如果发现问题请前往评论区