新手二维数组练手题——扫雷游戏

本文适合新手学习,介绍了如何运用二维数组来实现扫雷游戏。内容包括设置游戏框架,如打印菜单、创建表示棋盘的二维数组、用户交互、判断胜负及更新棋盘状态等。实现过程中需注意棋盘大小的宏定义、随机数生成以及坐标越界的处理。
摘要由CSDN通过智能技术生成

新手在学习完二维数组的基本知识以后,就可以尝试着来实现一个简易的扫雷游戏了。

在完成之前首先要有一个基本的框架即怎样一步一步的实现游戏:
1.打印菜单,让用户选择开始或者结束游戏。
2.建立两个二维数组表示棋盘,一个数组用来表示游戏进行过程中的棋盘状态,另一个用来表示棋盘中地雷的分布。
3.用户输入一组坐标,首先检验是否合法,接着判断是否踩雷,若踩雷则游戏结束
4.若未踩雷,则判断是否翻开所有不是雷的格子,来判断是否取得了最终的胜利
5.若未取得最终胜利则计算出该位置周围有几个地雷,将此位置更新为周围雷的个数。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#define MAX_ROW 9
#define MAX_COL 9
#define MINE_COUNT 10
int Menu() //打印菜单
{
   
	printf("=======================================================\n");
	printf("1.开始游戏\n");
	printf("0.结束游戏\n");
	printf("=======================================================\n");
	printf("请输入您的选择:");
	int choice = 0;
	scanf("%d", &choice);
	return choice;
}
void Init(char show_map[MAX_ROW][MAX_COL],
	char mine_map[MAX_ROW][MAX_COL])         //初始化以及埋雷
{
   
	for (int row = 0; row < MAX_ROW; ++row)
	{
   
		for (int col = 0; col < MAX_COL; ++col)
		{
   
			show_map[row][col] = '*';
		}
	}
	for (int row = 0; row < MAX_ROW; ++row)
	{
   
		for (int col = 0; col < MAX_COL; ++col
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值