AppInvenor开发手游《数字华容道》

来源 :电脑报 | 被引量 : 0次 | 上传用户:squllwu20090907
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读

一、思路与原理


  本以为用AppInvenor做这个游戏很简单,就用手指拖动图像精灵(数字)到其他位置就行了,但实际写出来却发现常出现各种错误,比如无法移动或图像重叠,只能暂时搁置。过了一段时间突发灵感找到了问题的突破口!就是确定九个位置,点击数字时,让程序自动判断向旁边的空位移动,周围没有空位便不动。现在和大家分享这个3×3的《数字华容道》,如果理解了这个思路明白了原理,学会后还可以扩展到N×N个方格(图1)。


二、制作过程


  1.素材准备
  本程序使用WxBit 汉化版(app.wxbit.com)。游戏界面如图1,扫码关注壹零社,下载素材包,其中有全部代码截图和游戏演示视频。准备1-8的数字图片素材。
  2.组件设计(见下表)



  3.程序设计
  (1)初始化及变量设置:声明相应变量,屏幕初始化时要把变量放入内存,这样显示速度会快很多。“数2”定义9个位置的列表变量,“数”用于在数2中取得对应项的位置坐标,然后确定怎么移动的变量;“坐标”把界面分成9部分,并定义每个部分的坐标的列表变量(二级列表)。“当前1位置”,即是精灵“数字1”当前在哪个位置,它向那个方向移动时也需用到这个变量。“最佳成绩”和“计时”都是为了在界面显示相应信息。“精灵”变量是存储画布上的精灵,即对应的数字图片,“精灵图片”存储精灵对应的图片(图2)。



  (2)初始化数字函数:游戏开始前用计时器1将数字位置随机打乱,并加载相应的图片。为了避免位置重复,选出一个位置后,将其从数据库中删除。我是从最后也就是数字“8”开始删除,这样不会影响前面的数字。
  定义了两个数据库,一个是“图片做标签”,即用图片对應位置的存储数据库,一个是“位置做标签”,即用位置存储图片的数据库,这两个数据库是同步存储的,以方便程序调用,用来确定哪个数字在哪个位置。将其封装为函数即过程,方便调用(图3)。



  (3)开始代码块:每次开始游戏,都需要重新初始化数字,清除数据库原来的数据,重设变量来清除上次游戏的数据。启用计时器,以计算游戏时间,并显示在手机屏幕上(图4)。



  (4)数字定位:1、3、7、9四个位置在角上,只能向两个方向移动。比如“位置1”,它可以移动到“位置2”和“位置4”,所以在位置做标签数据库里,查找标记为“2”或“4”的数据是否为空,如果为“空”,则将当前位置保存为当前数字,然后将“位置1”清空,如果不为空,则忽略。其他代码类似(图5)。



  2、4、6、8四个位置在边界的中间,有3个方向的移动,需要如果和两个否则如果共3个判断(图6)。



  位置5在中间,有2、4、6、8四个位置需要判断(图7)。



  (5) 精灵移动:例如,当“精灵1”被按下,实质就是希望移动“数字1”。点击后,先在图片做标签的数据库里找到对应的位置值,然后按位置值调用对应的移动函数,移动相应的精灵到相邻的空位置上(图8)。



  (6) 计时器:除了计时功能,还用来检测各个数字是否按顺序排列。如果按数字顺序移动完成,则提示游戏结束,并显示成绩(图9)。



  (7)成绩统计函数:将用时显示在计时文本中,游戏结束后和变量“最佳成绩”数据进行比较,然后将用时最短的成绩再次存入到变量“最佳成绩”中,同时用对话框作相应的提示(图10)。



  (8)退出:退出游戏,释放内存(图11)。


三、调试


  边写代码边调试,保证每一步的正确性。最后完善程序设计和UI设计。相关素材和源代码请扫下方二维码下载。
其他文献
Win10系统自带的日历应用,可以支持 Outlook、Google、Yahoo 和 iCloud 等常用的日历服务,但是却不支持QQ日历等一些第三方的服务。其实只需要通过一个小技巧,就可以在日历应用中添加对应的 CalDAV 账号,从而方便用户添加并更新自己需要的日历服务。创建一个虚假账号  先点击Win10系统的“开始”按钮,在弹出的菜单中找到“日历”或者“Calendar” ,点击它以后启动
期刊
微云是腾讯开发的一款网络硬盘,但是它现在和百度网盘一样,针对普通用户在很多方面做了限制。这样用户在上传和下载文件时的速度就非常慢,那么通过什么方法可以提高文件的下载速度呢?  先打开手机中安装的QQ客户端,点击工具栏中的“联系人”按钮后,在列表中找到“设备”中的“我的电脑”选项,点击它以后进入到“我的电脑”的操作界面。接着点击工具栏中的文件夹图标,在弹出的列表中选择最上方的“微云”选项,这样就进入
期刊
现在的3A大作,场景越做越精细、特效越做越炫酷,要是没有一款好显卡,这一切效果都出不来。那么想要玩转2021年度开年大作,你需要一些什么样的显卡呢?高性能、实时光线追踪一个都不能少  纵观目前在玩家中人气比较高的3A大作,依然是之前比较火的《赛博朋克2077》《使命召唤17》《看门狗:军团》《灵媒》《光明记忆》等游戏,这些游戏的特点在于都已加入光线追踪效果,比如《赛博朋克2077》这样的游戏,加入
期刊
数据不能代表手感的全部  在OnePlus 9系列发布时,张老板提到今年一加将采用“旗舰战斗群”的产品规划,不是机海战术,而是通过OnePlus 9系列和三款OnePlus 8系手机共同组成战略方阵,全力进攻线上、线下各渠道。  在这个阵列中,除了此前我们已体验过的OnePlus 9 Pro之外,OnePlus 9显然同样占有非常重要的位置。  每一代一加标准数字系列取胜的地方,可能就是一个小点—
期刊
外观设计:造型简洁,主打轻薄国风  七彩虹将星X15的A面以星蓝色为整体色调,在室内光下,看起来更贴近银灰色。它的外观造型相当简洁:A面没有采用任何元素进行修饰。此外,整机造型包括出风口也都是比较方正齐整的风格,显得低调沉稳,契合各种环境使用。  屏幕面为时下流行的窄边框设计,屏幕上方保留了摄像头,下方印有COLORFUL的字母LOGO。C面的右侧腕托雕刻着雷震子展翅飞翔的形象——雕刻形象的肌理代
期刊
高刷屏下放  进入到三四月,各家的春季新品蜂拥而至,几乎每周都有两到三款新机发布或上市。其中,中高端旗舰机占据了大半。但市场上1000~3000元价位,尤其是1500元左右的千元机,才是出货量的主力。  近日,iQOO发布了旗下最新的中端手机——Z3,这是近一两个月少有的千元级产品。受限于成本,千元机在产品定义时,往往容易“顾此失彼”,如何权衡,才是考验一个品牌的关键。  iQOO Z3的做法是,
期刊
虽然Win10系统有很多不错的功能,但是该系统自从诞生之日起,就存在着一系列莫名其妙的问题。有时仅仅是因为用户更新了最新的安全补丁,就可能造成系统蓝屏、无法开机等问题。最近微软为Win10推送了2020年12月份累积更新KB4592438,结果在运行ChkDsk磁盘扫描工具后,又一次出现了让人抓狂的系统蓝屏。出现的蓝屏问题  由于蓝屏信息显示错误信息“NTES_FILE_SYSTEM”,因此可以看
期刊
站长点评:玩家的主力购买区间依旧还是中端及甜品级的显卡,在NVIDIA抢先发布RTX 3060Ti和RTX 3060之后,AMD也推出了RX 6700 XT作为回应。这款显卡搭配锐龙5 5600X可以组成一套极具竞争力的3A主机配置,A饭可别错过。  RX 6700 XT采用了7nm工艺的RDNA2架构,拥有2560个流处理器、40个光线加速器、160个纹理单元以及64个光栅单元,显卡在2K分辨率
期刊
现在很多APP都存在随意调用手机权限的问题,这样就会大量收集用户的手机数据,从而造成个人隐私泄露的风险。正常情况下当APP调用相应的权限时,手机系统都应该提示用户进行管理。但是并不是所有的智能手机都可以做到,那么如何快速检测手机中存在的隐私风险呢?  先安装最新版的“隐私风险自测”的应用(https://www.coolapk.com/apk/com.magic.mouse),接着在打开的应用窗口
期刊
在这个短视频为王的信息时代,大家就算不发到相关社交媒体平台,相信也时不时会用手机拍一些家庭、生活、工作相关的视频内容,即便是现代手机摄像头基本都具备光学防抖和数字补偿算法的加持,但很多时候也一样会不可避免地产生画面的抖动,比如边走边拍,比如坐在车船上拍摄,或跟拍一些正在移动的对象,比如拍小朋友、宠物等等。对于熟悉Premiere、AfterEffect等专业视频软件的用户来说,其实基本就是傻瓜化的
期刊