labview2048小游戏详细解析+改进

本文详细解析了使用LabVIEW编程实现2048游戏的过程,包括状态机设计、二维数组操作、游戏逻辑与用户交互。作者通过学习CSDN上分享的源代码,理解并改进了游戏,增加了记录游戏时间和滚动条功能,降低了游戏依赖,简化了部分操作。
摘要由CSDN通过智能技术生成
    最近因为实验室需要,需要详细再回顾一下labview的知识,于是就想做个小游戏,可是发现自己水平太差,做不出来,于是就网上找了找看看有没有有关教程,发现好代码倒是有(一模一样的代码界面,好多人都说是自己编的...),注释很少,就是没人告诉我们编程的思路和内部是怎么实现的,网上能找到的2048的报告都只有几页,我估计是大家上课要交作业抄来抄去随便改改。

    非常感谢网上的代码,让我有了学习的机会,我下载的是CSDN上u010515100这个网友上传的源文件,地址http://download.csdn.net/download/u010515100/8091283,测试可用。

然后我就开始慢慢琢磨,它是怎么实现的,现在记录下来实现过程,内部很多数组的运用,实在太巧妙了,感觉我自己编要几百年才能写出来。给小白们分享,大神就不太用看了,欢迎批评指正。

    首先撸一撸思路,整个游戏其实就是一个状态机,初始化、用户操作、出现2或4、等等这些分别是不同的状态,整个游戏运行过程中,无非就是这几个状态跳来跳去,状态机其实是labview比起来其他代码编写优势的地方。几个状态之间的互相转化的过程,我简单的画了一下:



     然后就可以先构建一个状态机的大框架,然后分别编写每个状态内部的代码,

最外部肯定是一个大的while循环,内部就是一个条件结构,用来改变状态。

这个大的条件结构就可以有一下状态:初始化、用户操作、上下左右移动、生成24、失败、成功、结束。

然后就可以分别编写每个状态内的代码了。

 

    首先说明一下,整个4*4的数是通过一个二维数组来实现的,数组内的元素是一个枚举类型,所以一共有:空2 4 8 16 32 64 128 256 512 1024 2048共12种枚举元素。这12种元素的在数组中的数就是0 1 2 3 4 5 6 7 8 9 10 11,所以我们只需要改变这个0-11共12个数的大小就可以显示出空2 4 8 16 32 64 128 256 512 1024 2048 来了。

就像我下面的测试一样:


    所以我们一直改变的就是一个4*4的二维数组即可。

初始化:

    然后开始写内部代码,首先简单的初始化,大家可以看到源代码中有一个save文件,这是其实是一个初始化文件,大家可以用记事本打开,发现里面是一个4*4矩阵,其中有两个1,其他都是0,这其实就以为这刚开始的时候显示的界面上会有两个2,然后用户开始操作。它这个初始化有点复杂,其实想改简单一点非常容易。

    首先读取save中的数据,如果其中的数据有两个2或者4了,那就直接进行下一个状态了。如果全是0的话,就进行生成两次2和4的操作,即循环2次的for循环,每次生成一个24,这生成24的过程是两个子函数,在生成24状态中也是一样的这两个韩函数,

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值