计算机游戏找不到 排雷,扫雷为什么在win10上消失了?原因竟然和国际反地雷组织有关...

原标题:扫雷为什么在win10上消失了?原因竟然和国际反地雷组织有关

有些时候,人们无聊时就会去玩一些小游戏,就拿电脑来说,一般都是有自带的小游戏的,比如扫雷、蜘蛛纸牌、红心大作战、空当接龙等等,并且在很长的一段时间内颇受人们的欢迎,相信很多人都是玩过这个游戏的,但是扫雷为什么在win10上消失了?这是怎么回事呢?

900c0b321f610142e704e031d2c08e56.png

这就要说起上个世纪末了,在当时,因为地雷对于人类的伤害非常的大,因此在国际上就兴起了一场关于反地雷的风波,并且参与国家高达100多个,很多受害者们都加入了这项活动,一起抵制地雷的使用,甚至国家间还为此签订了一个公约。

bafc6c5b3f52a06e8323ddd8508f5367.png

想要通过公约来约束各国的行为,禁止生产和使用地雷,是反地雷组织的最终目标,而这一场活动,竟然直接扯上了微软的扫雷小游戏,认为这款游戏是对受害者和排雷的英雄的一种冒犯,要求删除这个游戏,并且联合反地雷的人们进行了抗议。

5c185dabfad604ab96ee3aa7ffa4d5a7.png

微软在最开始时,直接开始了让步,将地雷改成了花田,那这就不是地雷了吧?并且人家只是一个扫雷的游戏,并没有冒犯的意思,而改成花田的游戏,依旧受到了抗议,因此,为了不在纠结于此,微软直接在将这款游戏进行了删除。

afdca15e51c1c8d9b9f1cb65bf55111c.png

而这款游戏本身就没有问题,只是为了让用户熟悉电脑的基本操作而设置的小游戏,即使是删除,对于我们电脑的使用是没有太大问题的,对此,你们是如何看待这件事情的呢?你认为这是否是一种损失?返回搜狐,查看更多

责任编辑:

以下是一个较为复杂的扫雷游戏的 C 语言代码示例: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> #define ROW 10 #define COL 10 #define MINE_NUM 10 #define EASY 0 #define NORMAL 1 #define HARD 2 void game(); void init(char board[][COL], char show_board[][COL], int row, int col); void set_mine(char board[][COL], int row, int col, int num); void print_board(char board[][COL], char show_board[][COL], int row, int col); int get_mine_count(char board[][COL], int row, int col, int x, int y); void expand_board(char board[][COL], char show_board[][COL], int row, int col, int x, int y); void play_game(char board[][COL], char show_board[][COL], int row, int col, int num); int check_win(char board[][COL], char show_board[][COL], int row, int col, int num); void set_difficulty(int *row, int *col, int *num); void game_info(); int check_input(char input[]); int main() { game(); return 0; } void game() { char board[ROW][COL]; char show_board[ROW][COL]; int num = MINE_NUM; int row = ROW; int col = COL; int diff = EASY; int option; char input[10]; srand((unsigned int)time(NULL)); game_info(); while (1) { printf("请选择难度(0-简单,1-普通,2-困难):"); fgets(input, 10, stdin); if (check_input(input)) { diff = atoi(input); break; } else { printf("输入有误,请重新输入!\n"); } } set_difficulty(&row, &col, &num); init(board, show_board, row, col); set_mine(board, row, col, num); print_board(board, show_board, row, col); play_game(board, show_board, row, col, num); } void init(char board[][COL], char show_board[][COL], int row, int col) { int i, j; for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { board[i][j] = 0; show_board[i][j] = '?'; } } } void set_mine(char board[][COL], int row, int col, int num) { int i, j; int x, y; int count = 0; while (count < num) { x = rand() % row; y = rand() % col; if (board[x][y] == 0) { board[x][y] = -1; count++; } } } void print_board(char board[][COL], char show_board[][COL], int row, int col) { int i, j; printf(" "); for (i = 0; i < col; i++) { printf("%d ", i + 1); } printf("\n"); for (i = 0; i < row; i++) { printf("%d ", i + 1); for (j = 0; j < col; j++) { if (show_board[i][j] == '!') { printf("%c ", show_board[i][j]); } else if (show_board[i][j] == '?') { printf("%c ", show_board[i][j]); } else { printf("%d ", show_board[i][j]); } } printf("\n"); } } int get_mine_count(char board[][COL], int row, int col, int x, int y) { int count = 0; int i, j; for (i = x - 1; i <= x + 1; i++) { for (j = y - 1; j <= y + 1; j++) { if (i >= 0 && i < row && j >= 0 && j < col && board[i][j] == -1) { count++; } } } return count; } void expand_board(char board[][COL], char show_board[][COL], int row, int col, int x, int y) { if (show_board[x][y] == '!') { return; } int count = get_mine_count(board, row, col, x, y); if (count == 0) { show_board[x][y] = ' '; int i, j; for (i = x - 1; i <= x + 1; i++) { for (j = y - 1; j <= y + 1; j++) { if (i >= 0 && i < row && j >= 0 && j < col && show_board[i][j] == '?') { expand_board(board, show_board, row, col, i, j); } } } } else { show_board[x][y] = count + '0'; } } void play_game(char board[][COL], char show_board[][COL], int row, int col, int num) { char input[10]; int x, y; int win = 0; while (1) { printf("请输入要排查的坐标,格式为x,y:"); fgets(input, 10, stdin); if (check_input(input)) { x = atoi(&input[0]) - 1; y = atoi(&input[2]) - 1; if (x >= 0 && x < row && y >= 0 && y < col) { if (board[x][y] == -1) { printf("你踩到地雷了,游戏结束!\n"); show_board[x][y] = '!'; print_board(board, show_board, row, col); break; } else if (show_board[x][y] == '?') { expand_board(board, show_board, row, col, x, y); print_board(board, show_board, row, col); win = check_win(board, show_board, row, col, num); if (win) { printf("恭喜你,排雷成功!\n"); print_board(board, show_board, row, col); break; } } else { printf("该位置已排查,请重新输入!\n"); } } else { printf("输入有误,请重新输入!\n"); } } else { printf("输入有误,请重新输入!\n"); } } } int check_win(char board[][COL], char show_board[][COL], int row, int col, int num) { int i, j; int count = 0; for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { if (show_board[i][j] == '?' && board[i][j] != -1) { return 0; } if (show_board[i][j] == '!') { count++; } } } if (count == num) { return 1; } return 0; } void set_difficulty(int *row, int *col, int *num) { if (*row == 10) { *row = 15; *col = 15; *num = 30; } else if (*row == 15) { *row = 20; *col = 20; *num = 50; } } void game_info() { printf("***************************************\n"); printf("*********** 扫雷游戏 ***********\n"); printf("*********** 1. 输入坐标 ***********\n"); printf("*********** 2. 检查地雷 ***********\n"); printf("*********** 3. 标记地雷 ***********\n"); printf("*********** 4. 退出游戏 ***********\n"); printf("*********** 5. 选择难度 ***********\n"); printf("***************************************\n"); } int check_input(char input[]) { if (input[0] >= '0' && input[0] <= '9' && input[1] == ',' && input[2] >= '0' && input[2] <= '9' && input[3] == '\n' && input[4] == '\0') { return 1; } return 0; } ``` 该代码实现了一个相对复杂的扫雷游戏,具有基本的游戏功能难度选择,同时还添加了对输入的检查游戏结果的判断。在游戏中,玩家需要输入坐标来排查雷,如果排查的是地雷,则游戏结束;如果排查的不是地雷,则会显示周围地雷的数量,如果周围没有地雷,则自动扩展周围的格子。玩家可以标记已经排查过的地雷,以免重复排查。游戏胜利的条件是所有地雷都被排查,并且所有格子都被扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值