当前位置:首页 > 移动设备应用程序开发大作业
《移动设备应用程序开发设计》
玩家提示“此关卡未开启”对话框。在开始界面按返回按钮时则会退出游戏。游戏的流程图如图2-2所示:
图2-2系统流程图
2.2.2 系统模块设计
算法设计
(1)当有两张卡片相同时,向它们可以碰撞的方向滑屏,卡片会移动到最底边并生成其两倍数字的卡片,并且生成一个“2”或“4”的卡片,如图2-3所示:
图2-3 简单卡片合成
(2)当有两张卡片相同时,且在他相同的方向有张跟它们之和的卡片,向它们
5
《移动设备应用程序开发设计》
可以碰撞的方向滑屏,相同的卡片会移动到无法移动的位置并生成期两倍数字的卡片,但合成的卡片不会跟那张两倍数字的卡片合并,并且生成一个“2”或“4”的卡片,如图2-4所示:
图2-4 复杂卡片合成
(3)当界面上没有空位并且两两相邻的卡片不相同时游戏结束。如图2-5所示:
图2-5游戏结束
第3章 系统实现
3.1 开始界面的实现
游戏的主界面是按钮图片,只是实现了界面的跳转,当玩家点击此界面时就会调用ZuomianActivity此函数让页面跳转到游戏界面开始游戏,如图3-1所示:
public class ZuomianActivity extends Activity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main0);
6
《移动设备应用程序开发设计》
}
图3-1 开始界面
3.2 游戏界面的实现
游戏界面主要是在MainActivity_main.xml中当前分数、最高分数、游戏区域,当跳转到游戏界面时就会调用并执行MainActivity.java函数来展示游戏界面,如图3-2所示。
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }
图3-2 主界面
7
《移动设备应用程序开发设计》
3.3 游戏滑屏卡片移动的实现
当玩家滑动屏幕时,主要是通过initGameView函数来监听玩家手指滑动的位置,先通过获取开始坐标和结束坐标,然后通过比较结束坐标跟开始坐标的差值来判断玩家是怎样滑动屏幕的。判断出玩家的滑动轨迹后,通过调用swipeLeft、swipeRight、swipeUp、swipeDown方法来实现卡片的移动,如图3-3所示。
图3-3 卡片移到
public void initGameView() {
setColumnCount(4);
setOnTouchListener(new OnTouchListener() {
private float startX, startY, offsetX, offsetY;
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startX = event.getX(); startY = event.getY(); break;
offsetX = event.getX() - startX; offsetY = event.getY() - startY;
if (Math.abs(offsetX) > Math.abs(offsetY)) {
if (offsetX < -5) {
swipeLeft();
8
case MotionEvent.ACTION_UP:
共分享92篇相关文档