图3.1 用户需求图
游戏开发成功后,最终用户为各个年龄段的人群,用户范围相当广泛。但是用户对软件产品也有一定的要求:
1.简单易学:时间不管对于谁来说都是宝贵的,用户不会愿意花大量时间去学习使用一款软件。一款软件如果操作界面不友好,让用户难以上手使用,那就说明这款软件开发得不够成功,从而失去大量的用户。所以本项目必须拥有良好的交互界面,让用户安装之后就能进行游戏。
2.运行稳定:一款软件设计得不够好,那么就有可能在运行的时候出现一些不可预料的错误从而造成软件崩溃。如果用户正在游戏突然软件崩溃了,无疑会让用户感到非常不舒服,有可能就把软件给卸载了,这样也会失去很多用户。
3.操作方便:用户不是程序员,他们不知道程序的内部逻辑。所以程序员必须提供给用户便捷的操作接口来供用户操作,灵活便捷的操作性直接影响了一款软件的好坏。软件是做给用户使用的,所以一切都要站在用户的角度来看问题。 3.2.3 功能需求分析
本项目是一个运行在Android手机上的游戏,所以在应该实现以下功能:
1.响应键盘事件:玩家可以从手机键盘或者触屏开始游戏,操控游戏,暂停游戏,结束游戏。
2.绘制游戏图形界面:玩家开始游戏后,在手机屏幕上绘制出一条初始由7个节点组成小蛇。蛇能够在屏幕上移动,屏幕上随机位置出现食物,当蛇吃到食物后蛇的身体会增长一截同时移动速度也会响应加快。蛇不能向相反方向移动,例如蛇头朝南时则不能向北移动。当蛇头碰到墙壁或者碰到自己的身体时游戏结束。
3.记录玩家分数:当游戏结束后,显示并保存玩家在游戏中所获得的分数。
4 概要设计
4.1 程序流程设计
本游戏的流程如下图4.1所示:
进入游戏画面 触摸屏幕游戏开始,蛇开始移动 键盘操作: 左移 右移 向下 向上 没有吃到食物且蛇碰到边界 游戏中途欲中断,稍后继续游戏 游戏结束 触摸屏幕暂停游戏 再次触摸屏幕游戏恢复 图4.1 游戏处理流程图
4.2模块设计 4.2.1 模块划分
从面向对象程序设计的角度,本项目总体地可以分为游戏界面模块、数据存
储模块和控制模块。 如下图4.2所示:
贪吃蛇游戏 主界面模块 数据存储模块图4.2 游戏总设计模块
控制模块
4.2.2 游戏主界面模块
游戏界面主框架主要包括游戏图形区域界面、游戏的开始按钮、暂停按钮、游戏的退出按钮。
游戏界面主框架的主要结构图如图4.3所示:
游戏的主界面游戏图形区域界面 (即游戏画布) 游戏控制按钮
图4.3 游戏主界面
4.2.3 游戏控制模块
游戏控制模块主要通过手机键盘上的按钮来控制游戏的开始、游戏的暂停、游戏的退出这三个功能以及控制游戏分数变化。在这个模块中,需要给各个按钮添加响应事件代码,来对上述的功能加以进一步的实现。
游戏控制模块的主要框架如图4.4所示:
游戏控制模块 移动速度功能 暂停功能 重新开始 功能 图4.4 游戏控制模块框架
4.2.4 游戏数据模块
游戏数据模块是使用SQLite数据库来实现的,在数据库中用一个二维 表来存储游戏的相关数据。
在SQLite中创建一张表,表的结构如下表1所示:
表1 用来存放玩家数据的表的结构
字段名 类型 意义 player varchar 玩家名字 4.3 模块实现原理 4.3.1游戏界面模块实现
本游戏采用Activity作为游戏背景的载体,在Android中一个Activity就相当于windows中的一个窗口,Activity上可以放置许多类型的控件。一个activity主要有三个状态:
1.运行状态:当在屏幕前台时(位于当前任务堆栈的顶部),它是活跃或运行的状态。Activity会获得焦点,用户可对其进行操作,此时手机系统会调用void onCreate(Bundle savedInstanceState) 、void onStart() 、void
score int 玩家分数
相关推荐: