C语言学习之旅(二)—— 利用数组进行简单的游戏制作

本文介绍了如何运用C语言基础知识,如数组和函数,来实现简易的三子棋和扫雷游戏。游戏采用模块化设计,提高了代码可读性和规范性。在三子棋中,玩家与电脑轮流落子,当出现连续三个棋子时游戏结束。而在扫雷中,通过两个10*10的数组模拟游戏地图,并随机生成雷区。虽然存在改进空间,如增加电脑智能和避免开局即失败的情况,但这是一个不错的C语言实践项目。
摘要由CSDN通过智能技术生成

三子棋和扫雷是很多人小时候喜欢的娱乐项目,在学习过简单的数组以及函数知识后,就可以利用这些知识写出简易的三子棋和扫雷游戏了。

同时,这两个小项目的实现代码量相对较大,因此使用了模块化的思想,将主函数,功能函数以及函数与头文件的声明放在不同的模块内,使得代码结构更加规范,可读性更强。

接下来我将分两个部分分别介绍这两个游戏的实现。

三子棋

(一)整体思路

创建一个3*3的字符数组,先存上“ ”,等待输出。然后让玩家选定要走的位置,将玩家所选的位置上放上*号,再让电脑在其他的格子落子,同时每次下子后就进行一次检测,当检测到有三个连在一起的棋子时,游戏结束。

(二)主函数部分

#include"game_control.h"//自定义头文件的文件名

int main()
{
	int key = 1;
	int a = 0;
//循环,保证游戏可以反复游玩
	while (key)
	{
		menu();
		scanf_s("%d", &a);
//实现选择
		switch (a)
		{
		case 1:
			game();
			break;
		case 2:
			key = 0;
			break;
		default:
			printf("选点正常的!!!!");
			break;
		}
	}
	return 0;
}

(三)功能函数部分

#include"game_control.h"
//打印菜单
void menu()
{
	printf("**************************\n");
	printf("********* 1.play *********\n");
	printf("********* 2.exit *********\n");
	printf("**************************\n");
}
//游戏的流程
void game()
{
	char board[ROW][COL] = { 0 };
	InitBoard(board, ROW, COL);
	CreateBoard(board, ROW, COL);
	char ret = 0;
	while (1)
	{
		
		PlayerMove(board, ROW, COL);
		CreateBoard(board, ROW, COL);
		
		ret = IsWin(board, ROW, COL);
		if (ret != 'C')
			break;
		
		ComputerMove(board, ROW, COL);
		CreateBoard(board, ROW, COL);
		
		ret = IsWin(board, ROW, COL);
		if (ret != 'C')
			break;
	}
	if (ret == '*')
		printf("不过是赢个电脑而已,有啥了不起的\n");
	else if (ret == '#')
		printf("电脑都下不赢,建议投胎\n");
	else
		printf("我猜你是故意下平的,不然你也太菜了\n");
//查询作者的精神状态.jpg
}
//初始化棋盘
void
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值