分享一个基于labview的2048小游戏(附详细教程+代码)
分享⼀个基于labview的2048⼩游戏(附详细教程+代码)
游戏界⾯是参照官⽅标准的2048来设计的,话不多说,先看⼀下游戏效果!
这个⼩游戏是基于labview 2020SP1开发的,下⾯我详细的介绍⼀下游戏的整个制作过程 。
⾸先明确程序的设计思路:
第⼀:需求分析,游戏规则及需要的功能;
第⼆:前⾯板设计,游戏界⾯要做成什么样⼦;
第三:需求转换,将需求转换为代码;
第四:程序框图设计,完成代码编写;
最后:调试bug。
1 需求分析
1.1游戏规则
我相信很多⼈都玩过这个游戏,游戏规则⼤家也很熟悉,就是通过上下左右移动,将同⾏或同列相同数字叠加变成更⼤的数字⽐如
2048,4096,8192等,这⾥涉及到移动的算法,也是程序最核⼼的地⽅!完成⼀次有效的移动后,棋盘中空⽩格⼦需要随机⽣成⼀个数字(⼀般是2或4),如果棋盘所以格⼦全部占满且⽆法移动,那么
恭喜你,游戏结束!
1.2其他功能
除了游戏规则外,游戏本⾝需要计分功能及得分规则(记录当前得分,历史最⾼得分),游戏退出后,重新打开程序能够将上⼀次的得分记录及棋盘状态还原,并能重新开始新游戏。
2 前⾯板设计
需求分析之后我们知道了游戏规则以及要实现的功能,现在我们就可以开始进⾏前⾯板的布局了,⾸先我们需要⼀个4*4⼤⼩的数字棋盘,这⾥我们可以使⽤2维数组,然后是需要两个显控件来显⽰当前得分与历史最⾼得分,其次需要两个布尔按钮分别实现重开功能与退出游戏功能,最后是建⽴⼀个标签作为游戏标题。
2.1棋盘设计
如果我们⽤基本的⼆维数字数组作为游戏棋盘,那界⾯是相当丑陋,可以看⼀下效果:⾮常难看,⽽且数字数组有个缺点,就是你没法将指定⾏列设置为空⽩,必须显⽰数字。
为了⽤户的更好的游戏体验我们可以⾃定义⼀个⼆维图⽚数组,我们可以参照官⽅的2048游戏界⾯,利⽤PS把制作出不同背景颜⾊的数字,然后新建⾃定义图⽚控件,把所有数字放到图⽚控件⾥⾯。
我们新建⼀个⾃定义控件,在经典控件⾯板中添加⼀个图⽚下拉列表,把⾼度与宽度设置(100*100),然后利⽤⼯具选版把控件边框设置为透明,效果图如下:
接下来我们利⽤PS制作数字图⽚,图⽚样式我们直接参考官⽅2048的界⾯进⾏制作。
官⽅2048游戏界⾯
我们发现,不同的数字的背景颜⾊都不⼀样,打开PS,开始制作,PS的详细制作过程我这⾥就不细讲了,但是需要注意⼀点我们新建图层的⼤⼩必须要之前labview⾥⾯的⾃定义下拉图⽚控件⼤⼩保持⼀直,也就是像素⼤⼩为100*100,这样⼦才能保证导⼊之后图像不会失真!
我们只需要⼀个⽂字图层跟背景图层就⾏了,然后根据不同图层组合将所有数字导出到本地,注意!这⾥需要⼀张⽆数字的图⽚来作为空⽩背景。
我这⾥只做到了8192,也就是说玩到8192后,游戏就通关了,当然你们也可以新增数字或者更改图⽚样式来增加游戏的可玩性(⽐如换成姓⽒,朝代等等)。
图⽚设计完成后,就可以导⼊到刚刚新建的下拉图⽚控件中去了 。我们依次将空⽩图⽚,2 ,4,8192按顺序导⼊,有⼈肯定会问为什么要从⼩到⼤的顺序导⼊?这个到后⾯程序设计的时候我再解释,肯定是⽅便才这样⼦做。
最终效果图如下怎么制作游戏
把所有图标导⼊完成后,我们把控件类型设置为“严格⾃定义类型”,这样⼦后⾯我们如果需要新增或更改图⽚,所有调⽤这个⼦vi的⽗级vi都会⾃动更新,⾮常⽅便!
完成编辑后,记得保存!
2.1搭建主程序前⾯板
前⾯我们已经明确了前⾯板所需要的控件:
1个数字棋盘:⼆维图⽚数组;
1个得分显⽰控件;
1个历史最⾼得分显⽰控件;
1个布尔按钮:新游戏;
1个布尔按钮:退出;
1个标题标签:2048;
我们新建⼀个vi,并新建以上控件到前⾯板中去,这⾥所有的控件推荐使⽤经典⾯板框的,因为⽅便上⾊。
其中棋盘的构建⽅法我介绍⼀下,我们新建⼀个⼆维空数组,并将该数组边框设置为透明,将之前做好的“严格⾃定义类型”的下拉图⽚控件拖动到该数组中去,将其展开为四⾏四列,效果图如下;
棋盘设计
这⾥因为没有对数组进⾏初始化赋值,所以系统默认为空数组,我们可以⼿动为其赋值,选中任意⽅格更改图⽚样式即可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。