五子连珠小游戏(C语言)

整体设计思路

一局游戏所需要的时间和棋盘的大小密切相关,玩家可以根据自己的需要选择棋盘的大小,由于需要“五子相连”,设置棋盘的行列数为7/8/9,用户可以自行选择行数和列数,一共会有7*7,7*8,7*9,8*7,8*8,8*9,9*7,9*8,9*9这9种棋盘可以供用户选择,为了优化体验,采用鼠标点击的方式选择行列值。

在游戏进行过程中,玩家要能够实时地看到棋盘上珠子的信息,所以在游戏界面需要有一个信息框,用以给出棋盘上6种颜色的小球的数量,为了使其更美观,信息更具有参考性,同时给出小球数量的占比。玩家在界面上移动鼠标时,如果鼠标移动到棋盘上时,显示出鼠标的坐标,即显示出鼠标的位置是棋盘的第几行、第几列。

玩家在意的往往是得分,显示分数是必然的,设置一个分数栏用于实时地显示分数。在游戏过程中统计并且显示6种颜色小球的消去数量,玩家可以根据消去小球的数量自己计算出得分。对于玩家来说,下一次生成的三个球是什么颜色影响着整体局势的判断,但是又不能给出太多的信息,所以在当前轮次显示出下一轮将加入到棋盘的三个球的颜色,而不会给出这第三个球的具体位置,通过添加一个“球框”来显示下一轮加入棋盘的三个球。

为了使得用户在游戏过程中体验更佳,背景音乐必不可少,同时也不能只有一首歌作为背景音乐,这样的话过于枯燥。所以游戏至少会有两种背景音乐,每一局游戏的背景音乐到底是什么是随机产生的,同时将背景音乐的名字显示在界面的一角,方便用户知晓。

在游戏进行过程中,通过鼠标点击来移动珠子,点击左键选中珠子或者目的地进行移动,点击右键退出本局。通过循环来重复进行操作,循环的跳出条件有两个,一个是点击右键手动退出,另外一个是棋盘满,无空闲位置,这时会自动退出循环。

用户可以进行在启动游戏之后进行多局游戏,当某一局游戏结束之后,玩家可以选择再来一局,也可以点击退出游戏。

玩家会比较关心自己的历史得分,程序可以记录最高的三次得分,并且在游戏开始和游戏结束的时候显示、更新得分排行榜,主要通过文件的读写实现这一功能。

游戏玩法

游戏的设计环境是VS2022,Release,x86。

游戏基本流程是:程序运行后,鼠标点击选择行列值,点击“确认”,进入游戏,左键点击小球选中小球,左键点击空位置,如果有路径的话,小球便会移动到空位置。如果达到“五连珠”,会消去相连的珠子并且得分,如果没有达到“五连珠”,不会消去珠子,反而会在棋盘上添加三个珠子。之后循环进行下去,想要退出本局游戏,直接点击右键即可,也可以等到棋盘变满,也会退出本局游戏。退出游戏后可以再次选择行列值,再次游戏,也可以点击“退出游戏”,程序结束。

注意事项:

游戏默认是9*9的棋盘,如果不选择行列值,直接点击“确认”,将会得到9*9的棋盘。

珠子在移动过程中、在选中状态时,点击鼠标右键是无法退出游戏的。

array_data.txt文件中的三个整数类型的得分按照从大到小的顺序填写,中间用空格分开,最后换行。(初始时为0分)

运行界面

进入游戏

进行游戏

运行方式

第一种方法:在VS中编译使用

一共需要使用3个文件,一个头文件,两个cpp文件。

具体位置如下:

将array_data.txt,头文件,cpp文件,两个音乐文件放在同一个文件夹下,就是将txt文本和wav文

件放在与cpp同一个文件夹下,由于VS播放音乐需要进行一定的设置(文章下一部分),设置完成之后,在VS中运行即可。

第二种方法:使用exe可执行文件使用

 将exe文件、两个wav文件、一个txt文件放在同一个文件夹下,双击exe文件开始游戏,放置如下图:

相应的设置:

控制台设置(都需要)

如果是WIN11版本,界面发生了一定的变化,不容易设置控制台,按照下面的步骤设置:
windows搜索栏里搜索命令提示符,点击打开文件位置:

右键“命令提示符”,点击“属性”,在属性页面点击“选项”,就可以进入设置界面了。

如下图:使用旧版控制台,取消快速编辑模式,取消插入模式,然后选择“布局”,为了显示效果,缓冲区以及窗口设置建议如下。设置好之后需要重新启动才有效。

VS编译设置(在VS中运行需要)

在VS 中运行时,还需要对链接器进行操作才能播放背景音乐。

流程为:右键项目,选择“属性”,“链接器”,“输入”,“编辑”

添加内容“Winmm.lib”,“确认”,“确认”。

之后就可以在VS中运行了,不会出现音乐播放相关的问题了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值