




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于Android的趣味拼图的实现 陆毅军 黄俊 彭巧珍【Summary】本文基于Android操作系统,根据软件工程的设计思想,以Androidstudio等为开发工具,设计出一款能够开发青少年智力并对其进行海洋生物知识科普的拼图游戏。本游戏包括游戏设置界面,海洋生物图片导读及选择页面,并能显示玩家的当前游戏所用时间和步数。本软件以培养兴趣及科普知识为主。【Key】Android 拼图游戏 知识科普一、引言目前随着智能手机的全面深入普及,青少年也成为手机app开发的新兴对象。对于青少年而言,寓教于乐的app非常有助于其的智力开发与兴趣培养。实现一款海洋生物科普类的趣味拼图app便是本次的课
2、题。二、需求分析在这个迅猛发展的互联网时代,智能手机的普及已经涉及青少年,对此我们设想设计一款能让青少年在游戏过程中学到科普知识并且得到智力开发与兴趣培养的app。由此,我们设计了此款趣味拼图,使青少年在游戏的过程中学习到海洋生物科普知识。此款app面向的用户为7岁到14岁间的青少年,其基本功能:(1)能对一些海洋生物的基本图片进行浏览。(2)展示页面根据海洋生物的栖息深度进行不同的归类。(3)当点击对应的海洋生物的图片后,将进入新的页面,此页面将展示此海洋生物的相关科普信息,青少年可以自由浏览并进行记忆熟悉。(4)可以根据情况进行游戏困难度的选择。三、系统设计与实现(一)游戏设置用户通过游戏
3、设置按钮进入后,可选择难度设置和背景音乐的设置,难度设置分为3X3、4X4、5X5等适应不同层次用户的选择,给用户带来不同的难度挑战。背景音乐可以试听,在试听后选择自己喜欢的音乐作为背景音乐。(二)知识展示用户在海洋生物分类中选择了自己感兴趣的生物后,点击图片即可跳转到有关该动物的科普知识展示页面,用户可以在这个页面自由浏览或者记录,了解和学习相关的知识。(三)拼图游戏用户浏览完科普知识后可选择进入游戏,游戏环节中的图片就是我们知识展示页面中的生物图片,而用户进入游戏后图片已被智能分块,在游戏过程中用户发挥自己的智慧,通过移动方块,将智能分块并打乱的图片拼成它原来的模样即为成功,当然在游戏过程
4、中可点击查看原图协助游戏。(四)核心功能/判断分割的数据是否能还原成原图public static boolean canSolve(List data) /获取空格Idint blankId = mBlankItemBean.getmItemId();/ 可行性原则if (data.size() % 2 = 1)return getInversions(data) % 2 = 0;else / 从底往上数,空格位于奇数行if (blankId - 1) / PuzzleActivity.TYPE) % 2 = 1)return getInversions(data) % 2 = 0;else
5、 / 从底往上数,空位位于偶数行return getInversions(data) % 2 = 1;/计算倒置和算法public static int getInversions(List data) int inversions = 0;int inversionCount = 0;for (int i = 0; i data.size(); i+) for (int j = i + 1; j data.size(); j+) int index = data.get(i);if (data.get(j) != 0 & data.get(j) index)inversionCount+;i
6、nversions += inversionCount;inversionCount = 0;return inversions;/判断拼图是否成功复原public static boolean isSuccess() for (ImageItemBean tempBean : mItemBeans) if(tempBean.getmItemId() != 0 & tempBean.getmItemId() = tempBean.getmBitmapId()continue;else if(tempBean.getmBitmapId() = 0 &tempBean.getmItemId() =
7、 PuzzleActivity.TYPE * PuzzleActivity.TYPE)continue;else return false;return true;四、相關知识核心算法:计算倒置和算法。拼图的实现是将一张完整的图片切成n等分,如果随机切割排列会导致图片无法还原,使用计算倒置和算法得到图片生成的情况,然后判断拼图是否有解。五、小结本文利用Android studio 等开发工具设计了一款立足于青少年智力开发及海洋知识科普的趣味拼图游戏。由于经验不足,该应用仍存在一些不足的地方,功能方面还可以后续拓展。Reference:1郭霖.第一行代码Android(第2版)人民邮电出版社,2016.2李兴华.名师讲坛Java开发实战经典(第2版),2018.基金项目:课题资助:南昌航空大学第14届“三小”课题。商情2020年35期商
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美国签约合同范本
- 日化铺货合同范本
- 2025至2030年中国特效洁版膏数据监测研究报告
- 2025至2030年中国燃气铸铁热水炉数据监测研究报告
- 科技推动下的社交网络信息传播革新
- 展览陈列 施工合同范本
- 物流行业的大数据技术应用案例
- 机械车库出租合同范本
- 劳务合作协议补充协议
- 外包服务协议书模板
- 2025年四川绵阳科技城新区投资控股集团有限公司招聘笔试参考题库附带答案详解
- 2025年碳化硅(SiC)市场分析现状
- 2024年湖南高速铁路职业技术学院高职单招数学历年参考题库含答案解析
- 2024年沙洲职业工学院高职单招语文历年参考题库含答案解析
- 2024年广东省《辅警招聘考试必刷500题》考试题库【学生专用】
- 水文工程施工方案
- 学校食堂餐厅管理者食堂安全考试题附答案
- 2025延长石油(集团)限责任公司社会招聘高频重点提升(共500题)附带答案详解
- 《没有纽扣的红衬衫》课件
- 病原微生物安全
- 玻璃电动平移门施工方案
评论
0/150
提交评论