安卓大作业—围住神经猫小游戏
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《移动终端应用开发》
大
作
业
报
告
书
题目:围住神经猫小游戏
专业:计算机科学与技术
学号:
学生姓名:××
指导教师:叉叉叉
完成日期:2016-5-31
目录
一、需求分析---------------------------- 错误!未定义书签。
二、系统功能描述------------------------ 错误!未定义书签。
三、系统概要设计---------------------------------------- 2
3.1功能模块设计 -------------------------------------- 2
3.1.1程序流程图 ----------------------------------- 2
3.1.2程序模块设计 --------------------------------- 2
3.1.3界面功能详细设计------------------------------ 3
四、系统主要代码---------------------------------------- 4
五、总结----------------------------------------------- 17
5.1开发中遇到的问题 --------------------------------- 17
5.2系统有待实现的功能 ------------------------------- 17
5.3收获总结 ----------------------------------------- 18
六、参考文献------------------------------------------- 18
一需求分析
安卓游戏已经是大势所趋,开发安卓游戏也将是游戏开发者的重中之重,所以我选择试做一个安卓小游戏来作为我的android课程大作业。围住神经猫是一款益智类的小游戏,它可以在人们生活烦躁工作无聊之时提高一种新的打发时间、舒缓压力的休闲方式,也可以锻炼人的逻辑思维能力、判断力和观察力。
首先我们从游戏界面开始分析,一开始是游戏欢迎界面,点击“开始游戏”,就可以切换到游戏界面,开始玩游戏了。在游戏界面中,有游戏背景,还有神经猫在移动时的样式,并把神经猫可移动的范围以坐标的方式分为若干个点。游戏结束时会对玩家进行提示,若玩家成功围住神经猫则显示玩家所用的步数。
然后是对神经猫这个游戏控制的分析,神经猫可移动的范围是9×9,我设置神经猫的初始位置是固定的,但是系统在游戏一开始生成的路障是随机的,一共是16个路障,之后玩家将根据游戏的情况对神经猫进行堵截,当玩家每选择一个点作为自己想设置的路障时,那个点将改变为橘色,而神经猫将根据可选择的路径自动移动到下一个地点,当神经猫移动到任意一个边缘时,游戏会提示玩家失败,当玩家成功围住神经猫时,游戏会提示玩家成功且会显示出玩家所用的步数。
这个游戏要用到二维数组,把神经猫可以移动的范围进行记录,还必须要对神经猫的移动方式进行设置,还有每个点不同状态的转换,路障的自动生成,还有对玩家所用步数的统计,这个游戏所要用到的主要软件是Eclipse、ADT,它的主要语言是java,操作系统是windows7.
二系统功能设计
项目具体功能描述如下:
1)游戏开始界面:有比较搞笑的背景图来吸引玩家,然后点击开始游戏,
切换到游戏界面
2)游戏界面:神经猫一开始在游戏的正中间,平且还有系统随机生成的16
个路障,范围是9×9的空间里,并且把它分成了点,玩家在
点上设置好路障后,神经猫会在看选取的路径中随机选取一
条,并移动到下一个点,直至游戏结束。
3)游戏结束界面:当神经猫移动到任意边缘时,会显示通关失败的提示;
但玩家成功围住神经猫时,则显示成功通关页面,并
且统计了玩家所用的步数。
三项目概要设计
3.1功能模块设计
(1)程序流程图
根据用户需求,本软件程序流程图如下:
成功
通关再来一次
图1.程序流程图
(2)程序模块设计
为了提高代码的重复利用率,程序设计时自定义了以下几个类:
①自定义坐标类(Dot):每一个点都是一个抽象的对象,需要把每一个点抽象为一个类,然后让每一个圆圈继承于这个类。
②自定义绘制布局类(playground):继承surfaceview,将制定的绘图呈现在surfaceview上,界面的响应和绘制都在surfaceview上完成的。
③自定义实现接口(OnTouchListener):为了界面的点击做出响应。(3)界面功能详细设计
各界面功能详尽介绍如下:
1) 游戏开始界面(图1:homepage):打开程序首先显示游戏开始界面,通过点击开始游戏,马上自动跳转到游戏界面图(homepage2)
图1:homepage
2)游戏界面(图2:homepage2):进入到游戏界面以后,就可以正式开始游戏啦玩家开始对神经猫进行围追截堵
图2:homepage2
3)游戏结束界面(图3:homepage3、图4:homepage4):若玩家成功围住神经猫则显示图3,若失败则显示图4
图3:homepage3 图4:homepage4
四项目主要代码
系统实现相应功能的主要代码如下:
记录每个场景中的元素它的X,Y坐标点的状态:
package com.example.crazycat;
public class Dot {//记录每个场景中的元素它的X,Y坐标点的状态。并不会直接参与界面的响应和界面的绘制
private int x, y;
private int status;//记录这个点的状态
public static final int STATUS_OFF = -1;//代表可走的路径
public static final int STATUS_IN = 0;//猫的当前位置
public static final int STATUS_ON = 1;//已经设置的路障
//指定x,y的坐标
public Dot(int x, int y) {
this.x = x;
this.y = y;
this.status = STATUS_OFF;
}
//指定geter和sette方法
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {