扫雷 第二次完成较复杂游戏感悟

本文分享了使用C/C++开发扫雷游戏的过程,通过test.c、game.c和game.h三个源文件进行程序设计。重点强调了接收二维数组、display函数打印的注意事项,以及为避免越界在数组周围预留一圈空位。虽然未实现爆炸式展开,但预告将在后续文章中探讨这一部分。
摘要由CSDN通过智能技术生成


前言

(本文章没有将扫雷的爆炸式展开实现,将放在下一篇文章中实现。)
请添加图片描述
依旧是跑路的我,今天搞了搞扫雷再次巩固一下基础知识,准备c语言进阶了。
扫雷嘛,大家基本都玩过所以就不过多介绍了先把这次代码的思路放在下面:
在这里插入图片描述
我们依旧分为三个源文件来进行程序设计分别是
test.c 负责程序的设计主函数的布置
game.c 负责函数的实现
game.h 负责函数的引用以及定义宏

一、代码及易错分析

test.c 内容

#define _CRT_SECURE_NO_WARNINGS 1
#include "game.h"
void meun()
{
   
	printf("++++++++++++++++++++++++++++++\n");
	printf("++++++++++ 1.play ++++++++++++\n");
	printf("++++++++++ 0.exit ++++++++++++\n");
	printf("++++++++++++++++++++++++++++++\n");

}
void game()
{
   
	char mark1 = '0';
	char mark2 = '*';
	char show[ROWS][COLS] = {
    0 };//布置的数组
	char mine[ROWS][COLS] = {
    0 };//储存雷的数组
	//数组的初始化。
	Initboard(show, ROWS, COLS, mark2);//初始化show
	Initboard(mine, ROWS, COLS, mark1);//初始化mine
	//布置雷
	setmine(mine, ROW, COL);
	//数组的打印
	display(show, ROW, COL);
	//display(mine, ROW, COL);//用来储存雷的信息
	//排雷
	playmove(show, mine, ROW, COL);
}
int main(void)
{
   
	int i = 0;
	do
	{
   
		srand(time(NULL));//设置随机数
		meun();
		printf("请输入1/0>:");
		scanf("%d", &i);
		switch (i)
		{
   
		case 1:
			printf("开始三子棋游戏\n");
			game();
			break;
		case 0:
			printf("退出成功\n");
			break;
		default:
			printf("输入错误,请重新输入\n");
			break;
		}
	} while (i);
		return 0;
	
}

game.c

#define 
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

就一个挺垃圾的跑路人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值