c语言控制台小游戏,C语言实现控制台扫雷小游戏.pdf

C语语言言实实现现控控制制台台扫扫雷雷小小游游戏戏

C语言实现控制台“扫雷”小游戏

根据以往的游戏经验,我们能首先可以确定扫雷游戏胜利的规 是:翻开所有不是雷的区域才能算是胜利。

接下来我们需要确定整个程序的设计思路:

1.首先,我们定义两个9*9 的二维数还是未翻开的状态组。第一个数组用来表示雷区地图的展开情况,即每个素组元素的位置的

状态是处于展开状态还是未展开状态,我们命名为showMap()。第二个数组我们用来表示地雷的分布情况,素组中的每个元素位

置都被标记为是否为地雷,我们命名为minMap()。

2.初始化两个地图,并将地图打印出来。

3.玩家通过输入二维数组的坐标进行位置输入,翻开地图位置。

4 .判断玩家输入的位置是否合法。

5.判断玩家输入的位置是否有地雷,如果有地雷 直接宣布游戏结束;若果没有地雷 继续进行游戏。

6.如果继续游戏, 玩家输入的位置处会显示附近地雷的个数。

第第一一步步,此处通过构造menu()函数搭建一个简单的交互菜单和玩家交互,用来判断是否开始进行一局游戏。

#define _CRT_SECURE_NO_WARNINGS

#include

#include

宏定义

#define MAX_ROW 9

#define MAX_COL 9

#define DEFAULT_MINE_COUNT 10

int menu() {

printf("======================\n");

printf(" 1. 开始游戏\n");

printf(" 0. 结束游戏\n");

printf("======================\n");

printf(" 请输入您的选择: ");

int choice = 0;

scanf("%d", &choice);

return choice;

}

int main() {

srand((unsigned int)time(0));

while (1) {

int choice = menu();

if (choice == 1) {

game(); 此处调用了game()函数.

}

else if (choice == 0) {

printf("Goodbye!\n");

break;

}

else {

printf("您的输入有误!\n");

}

}

system("pause");

return 0;

}

第第二二步步,对第一步中调用的game()函数进行构造。game()函数为核心功能函数,其主要任务是完成基本流程。

1.构建init()函数,对两个二维数组进行初始化操作。初始化 showMap, 将数组所有元素全都设为 * 。初始化 mineMap, 先全设

为 ‘ ', 然后随机生成 N 个 ‘ 1' ,此处的'1'就代表地雷, N 的值就是 DEFA ULT_ MINE_COUNT ,也就是地雷的数量。

void init(char showMap[MAX_ROW][MAX_COL],

char mineMap[MAX_ROW][MAX_COL]) {

for (int row = 0; row < MAX_ROW; row++) {

for (int col = 0; col < MAX_COL; col++) {

showMap[row][col] = '*';

}

}

for (int row = 0; row < MAX_ROW; row++) {

for (int col = 0; col < MAX_COL; col++) {

mineMap[row][col] = '0 ';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值