《Arduino开发实战指南:LabVIEW卷》6.8 基于Arduino的俄罗斯方块游戏

6.8 基于Arduino的俄罗斯方块游戏

6.8.1 实现的功能

本节将使用LabVIEW及Arduino设计实现一个“俄罗斯方块”的游戏。玩家通过摇杆控制方块左移、右移、旋转及快速下移。可以记录玩家分数,随着玩家分数及游戏等级的增加,游戏难度也将逐渐加大。

6.8.2 所需硬件

Arduino Uno R3板、摇杆模块。使用摇杆进行俄罗斯方块游戏的控制,摇杆上的左右键控制方块左右移动;摇杆上的向上键为方块旋转;摇杆上的向下键为加速下移。

6.8.3 程序设计及实现

本示例设计的游戏前面板如图6-44所示。主界面游戏区域使用一个15行10列的二维布尔数组控件实现,运动图块使用4行3列的二维布尔数组控件实现。程序可以显示玩家的分数及游戏的等级。游戏的程序框图如图6-45所示。程序框图中主要包含三个子VI,分别是improveKey.vi、HumanInteraction.vi和GameFlow.vi。improveKey.vi主要是用来实现消除抖动,避免误操作;HumanInteraction.vi主要是根据用户的输入来对运动块进行控制,比如向右移动运动块、向左移动运动块、旋转运动块等。HumanInteraction.vi的程序框图如图6-46所示,该VI中还包括另外一个子VI即drawBlocks.vi,该子VI的作用主要是对游戏区前界面进行更新,drawBlocks.vi程序框图如图6-47所示。

GameFlow.vi用来控制整个游戏的流程,该子VI内实现了流程控制的状态机,该状态机包含以下几个状态:MAKENEWBLOCK、SHOWNEWBLOCK、CHECKING、SCORING、WAITING、SLIDING。通过该子VI实现整个游戏流程的控制,GameFlow.vi的程序框图如图6-48所示。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值