课程设计报告猜数字小游戏
可爱图-古代诗词歌赋
移动应用开发技术大作业
题目名称:猜数字小游戏
班级: 计Y103
学生姓名:
学号: 2
日期: 2013年 5 月 14 日
一:程序的功能。
1、
欢迎动画界面:游戏运行后,首先进入的界面
2、
菜单的选择:设计出菜单界面,并且在菜单界面提供四种菜单项供用户选择。
3、
游戏音效:游戏的过程中需要在适当的位置添加音效,并且可以对音效进行开与关闭的
设置。
4、 游戏帮助,需要为游戏添加帮助界面,简单介绍游戏的基本功能及玩法。
5、
开始游戏:单击即可进入游戏,根据提示可进行游戏。
二:程序的结构.
1、
1)
public class
PushBoxActivity extends Activity{
*整个游戏的框架
类,根据不同类传回来的handle消息,调用不同的方法,执
行不同的类,实现不同的模块功能。(
模块功能:欢迎动画界面模块、开始游戏
模块、游戏帮助模块、游戏帮助模块。)
*}
2)
Handler myHandler = new Handler(){public
void handleMessage(Message msg) {
*
用来更新UI线程中的控件.
接收各个view发来的handle消息,根据消息的不同类型进行不同的处理.
Msg为2,选择了开始游戏;为10,选择了游戏说明;
*
3)
initAndToMenuView(){
调用方法函数,切换到菜单界面
}
4)
initAndToGameView2(){
调用方法函数,显示游戏帮助界面
}
5)
initAndToWelcomeView(){
启动后,自动调用方法函数,首先进入欢迎动画界面
}
2、
1)public class WelcomeView extends SurfaceView
implements ck, OnClickListener{
初始化欢迎界面使用的
各种图片,并引用。调用WelcomeViewDrawThread类,
动态改变图片的位置,实现
欢迎界面的动态效果。动画结束后,传handle信息
给PushBoxActivity使其继续执
行。
}
2)public WelcomeView(PushBoxActivity
pushBoxActivity) {
*构造器,得到pushBoxActivity的引用,初
始化WelcomeViewDrawThread绘制
线程,将获得的holder传递进去;并进行
图片初始化工作
*
3)protected void onDraw(Canvas
canvas) {
绘制欢迎动画界面
}
4)public void
surfaceCreated(SurfaceHolder holder) {
创建时被调用,启动welcomeViewDrawThread刷帧线程
}
5)public void onClick(View v) {
接受单击事件,结束该View,直接向activity放送消息,类型为1
}
3、
public class WelcomeViewDrawThread
extends Thread{
public
WelcomeViewDrawThread(WelcomeView
welcomeView,SurfaceHolder
surfaceHolder){
*调用WelcomeViewgoThread方法,实现各个图片动态移动位置;
调用WelcomeView中onDraw方法,将动画显示到界面上
*
}
4、
publicclass WelcomeViewGoThread
extends Thread{
*
动态改变欢迎界面各个图片的位置,若每个位置均到位
,则向
PushBoxActivity发送
消息,类型
}
public
void surfaceDestroyed(SurfaceHolder holder) {
在welcomeView被摧毁时被调用
为1
*
}
5、
1)public class MenuView extends
SurfaceView
implements ck{
初始化菜单界面使用的各种图片
,并引用。调用MenuViewDrawThread类,动
态改变图片的位置,实现欢迎界面的动态
效果。动画结束后,传handle信息给
PushBoxActivity使其继续执行
}
2)public MenuView(PushBoxActivity
pushBoxActivity) {
构造器,得到pushBoxActivity的引用,初始
化MenuViewDrawThread绘制线程,
将获得的holder传递进去;并进行图片初始
化工作
}
3)protected void onDraw(Canvas
canvas) {
绘制动画界面
}
4)public
boolean onTouchEvent(MotionEvent event) {
获取鼠标单击的各项选择,并将选择传递给PushBoxActivity
}
5)public void surfaceCreated(SurfaceHolder
holder) {
创建时被调用,启动MenuViewDrawThread刷帧线程
}
6、
publicclass
MenuViewDrawThread extends Thread{
public
MenuViewDrawThread(MenuView menuView,SurfaceHolder
surfaceHolder){
*调用
}
MenuViewgoThread方法,实现各个图片动态移动位置;
调用MenuView中onDraw方法,将动画显示到界面上
7、
publicclassMenuViewGoThread extends Thread{
*
动态改变欢迎界面各个图片的位置,若每个位置均到位,则向
PushBoxAc
tivity发送
消息,类型
为1
*
}
8、
1)public class GameView extends
SurfaceView implements ck, OnClickListener{ 初始化菜单界面使用的各种图片,并引用。调用GameViewDrawThread类,画
出图
片的位置,实现游戏界面的效果。若单击返回,则返回菜单项。
}
2)protected
void onDraw(Canvas canvas) {
绘制图片,根据真假值,绘制数字图片或错误图片
}
3)public
boolean onTouchEvent(MotionEvent event) {
接收鼠标单击,并判断随机数和单击数字的大小,给status置不同的值
}
4)public void onClick(View v) {
实现OnClickListener,提示信息或提示猜对数字或返回菜单
}
9、
publicclassGameViewDrawThread
extends Thread{
publicGameViewDrawThread
(GameView GameView,SurfaceHolder surfaceHolder){ <
br>
*调用GameViewgoThread方法,调用MenuView中onDraw方法,将
动画显示
到界面上
}
10、
public class
GameView2 extends
SurfaceView implements ck,
OnClickListener{
初始化游戏说明界面使用的各种图片,并引用。调用GameVi
ewDrawThread2
类,画出图片的位置,实现游戏界面的效果。若单击返回,则返回菜单项。
}
11、
publicclassGameViewDrawThread2extends Thread{
publicGameViewDrawThread (GameView
GameView,SurfaceHolder surfaceHolder){
*调用GameView中onDraw方法,将动画显示到界面上
三、游戏步骤和效果。
1、游戏开启时,木门缓缓打开
2、木门打开之后,铁栏慢慢拉起
3、铁栏拉起后,墙也慢慢打开
,打开后可以看到山水画的背景。墙打开后,自动进入菜单
界面。(注:如想跳过启动过程,可在启动过
程任何阶段单击鼠标,即可进入菜单界面)
4、进入菜单界面后,可根据选择进行菜单选择。
声音开关:关闭和开启开始音乐与背景音乐;
游戏说明:游戏的玩法说明;
退出游戏:单击即可退出游戏;
开始游戏:进入游戏。
游戏主界面:
单击数字0,给出提示,按提示继续:
单击数字8,给出提示,按提示继续:
若单击数字
若单击的数字与随机数不符,则将该数字位置显示为错误图片。