基于Android平台益智游戏的设计与实现
一款基于Android平台益智游戏的设计与实现.pdf
Android 客户端应用开发 参考文献 专业指导
摘要:
近几年,随着 Android手机及其相关设备的迅速普及,针对Android平台游戏的开发需求日益增多。“2048游戏”是一款益智类游戏,老少皆宜。该文设计并实现了基于Android平台的2048游戏,最后在手机上测试运行,结果十分流畅。
关键词:Android平台;益智类游戏;2048游戏
中图分类号:TP311
文献标识码:A
文章编号:1009-3044(2015)34-0102-02
随着移动通信技术的迅速发展,人们对移动设备需求的不断变化,移动设备的智能化程度也在不断提高。Android平台作为三大移动平台之一,用户数量也在不断增长。同时,人们不再满足于传统的桌面游戏,移动游戏具有随时、随地和随身等特点,不断受到用户的青睐。因此,移动游戏相对传统游戏所占的市场份额也在日益扩大。
本文设计和实现了一种基于Android平台的2048益智游戏。该游戏是在Android应用平台上开发的,使用的开发语言为Java语言,开发工具为Eclipse,并包含ADT等插件。
系统设计
图1系统流程图
在对游戏进行详细需求分析的基础上,确定了系统的功能和性能要求,对游戏的主界面、屏幕绘制、布局设计、合并算法、游戏分数及最高分的统计进行了详细设计。游戏单项功能的实现:开始游戏、屏幕绘制、滑动合并、重新开始游戏、统计得分和最高分等功能。
然后自定义游戏视图,且能够根据控制器提供的布局数据来显示数字卡片方格,并提供选中合并、叠加和统计分数等功能。
当用户点击开始游戏后,用户可以以上下左右滑动卡片,与此同时游戏也开始统计得分,随着游戏得分越来越高,界面中的空格卡片的剩余量也越来越少,用户也可以退出游戏或重新开始游戏。
系统流程图如图1。
在游戏的过程中,当用户滑动卡片2,与卡片2相碰叠加,就会成为卡片4,与此类推,当卡片1024与卡片1024叠加成卡片2048,则证明游戏闯关成功。
算法设计
当用户进入游戏界面,开始游戏时,首先系统会默认自动生成两张数字卡片,可以任意滑动。整个游戏涉及到核心算法主要有:手势判定、移动卡片、判断游戏结束。
3.1 手势判定
手势的判断与识别,是手机游戏的关键所在,也是手机游戏体验好坏的重要因素之一。在本游戏中,手势判断方法,记录手势在x轴上的距离,与y轴的距离大小,并做出相应的判定。
比如手势在x轴距离大于+5单位,则向表示右移;小于-5单位,则向左移。以此类推,判断手势在y轴的移动。
private float startX, startY, offsetX, offsetY;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startX = event.getX();
startY = event.getY();
break;
case MotionEvent.ACTION_UP:
offsetX = event.getX() - startX;
offsetY = event.getY() - startY;
break;
}
在游戏中,手势判定是非常重要的,它可以判断用户的滑动方向和距离,从而实现卡片的合并和移动。
3.2 移动卡片
在游戏中,卡片的移动是非常重要的,它可以实现卡片的合并和叠加。卡片的移动可以通过手势判定的结果来实现。
3.3 判断游戏结束
在游戏中,判断游戏的结束是非常重要的,它可以判断用户是否闯关成功。如果用户成功合并了卡片2048,那么游戏就算结束。
本文设计和实现了一种基于Android平台的2048益智游戏,该游戏具有良好的游戏体验和挑战性,可以满足用户的需求。