赛车手机游戏实训工作报告.docx

上传人:b****4 文档编号:3010307 上传时间:2022-11-17 格式:DOCX 页数:32 大小:253.37KB
下载 相关 举报
赛车手机游戏实训工作报告.docx_第1页
第1页 / 共32页
赛车手机游戏实训工作报告.docx_第2页
第2页 / 共32页
赛车手机游戏实训工作报告.docx_第3页
第3页 / 共32页
赛车手机游戏实训工作报告.docx_第4页
第4页 / 共32页
赛车手机游戏实训工作报告.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

赛车手机游戏实训工作报告.docx

《赛车手机游戏实训工作报告.docx》由会员分享,可在线阅读,更多相关《赛车手机游戏实训工作报告.docx(32页珍藏版)》请在冰豆网上搜索。

赛车手机游戏实训工作报告.docx

赛车手机游戏实训工作报告

综合实训报告

2008~2009学年第一学期

课题名称

手机游戏设计

综合实训

赛车手机游戏开发

系别

专业

计算机多媒体技术

班级

学号

学生姓名

 

指导教师:

2008年11月14日

一、综合实训项目名称

赛车手机游戏开发

二、实训目的

让我们能够熟练掌握eclipse软件的使用,能够自己独立编写J2ME手机游戏程序代码。

巩固我们的所学知识,使我们把理论知识与实践结合起来,能够更好的理解J2ME手机游戏程序的编写,掌握它各部分的含义。

掌握游戏闪屏设计技术,游戏屏幕类GameCanvas制作游戏界面,游戏多重背景的制作技巧,实现赛车的各种功能以及游戏实现技巧。

三、实训内容和要求

a)用JAVAMEMIDP2.0提供的GameAPI实现手机赛车游戏程序开发;

b)游戏屏幕类GameCanvas的应用;

c)应用图层类LayerManager实现游戏场景;

d)应用图层管理类LayerManager实现对游戏背景的管理。

e)应用游戏精灵类Sprite实现赛车的功能。

f)游戏线程的应用;

g)手机程序代码优化;

h)综合掌握调试手机游戏程序技巧。

四、实训工作记录

实训工作记录

日期

项目内容

项目实施

存在的问题

解决方法

不足

2008.10.27~31

市场调研、制定方案、收集素材、赛车游戏的准备工作

1、在网上查找各赛车游戏的类型与前景;

2、利用网络收集赛车游戏所须的材料;

3、利用photoshop软件对素材进行整理与修改。

1、网络上的赛车游戏太难,以我的水平还无法制作;

2、网络上的材料很难找到自己所须的;

3、在eclipse软件所在的操作系统上没有photoshop软件。

1、只能自己设计一个较简单的赛车游戏;

2、只能找一些差不多的材料,再利用photoshop软件修改;

3、先在其他操作系统上进行修改材料,再返回原系统。

因为材料不够好,所以游戏中的障碍物显得很粗糙。

因为不断的改换操作系统,所以浪费了较多的时间。

2008.11.1~3

游戏策划、游戏功能架构图、流程图、类继承关系图

1、根据所收集的资料对赛车游戏进行策划;

2、根据自己的策划绘制手机游戏功能架构图、流程图和类继承关系图。

对于各图的含义和它们之间的区别不太清楚,所以一开始不会绘制。

通过查找书本资料和在网上查找资料,并且通过询问同学,基本上理解了各个图的含义和其之间的关系和区别。

并没有对各图做到深刻了解。

2008.11.4~11

游戏开发、各功能模块的实现

1、开始制作游戏,编写游戏程序代码;

2、通过实训中的各模块的要求,一步步的编写代码,实现各个模块的功能。

由于对J2ME知识还不够深入了解,所以在许多细节方面还不会编写。

通过对书本上的知识进行巩固和进一步的了解,并且向同学进行询问,基本上解决了这个问题。

只是基本上解决了这个问题,并没有能够完美的解决,还存在许多方面的问题。

2008.11.12~14

游戏测试、优化及改进,完成实训报告

1、通过eclipse软件进行游戏测试,使其显示在手机屏幕上;

2、对游戏的各个功能进行检测和完善;

3、通过对程序进行分析,完成实训报告。

1、一开始程序上存在着许多细节方面的不足,使其无法在手机屏幕上显示;

2、各个功能不够完善,存在缺陷。

1、通过查找书本和询问同学,解决了这些不足,并能够在手机屏幕上显示;

2、通过查找书本和询问同学,尽量完善各个功能。

各个功能还是存在一些不足。

五、功能模块(算法)描述(可用文字描述,也可用流程图)

1、闪屏的实现

2、欢迎界面的实现

3、进行游戏各功能的选择

4、进行游戏(显示计分)

5、结束游戏

6、退出程序

六、关键类的源代码(*.java文件。

程序应符合以下规范要求:

A 可读性:

有注释;B 交互性:

有输入提示;C 结构化程序设计风格:

分层缩进、隔行书写)

CARDemoMIDlet

importjavax.microedition.lcdui.Display;

importjavax.microedition.lcdui.*;

importjavax.microedition.midlet.*;

importjavax.microedition.midlet.MIDlet;

importjavax.microedition.midlet.MIDletStateChangeException;

publicclassCARDemoMIDletextendsMIDletimplementsCommandListener

{

Displaydisplay;

Listlist;

CommandokCommand;//定义确定按钮

CommandbackCommand;//定义返回按钮

CommandhelpCommand;//定义帮助按钮

Alertalert;

inti;

publicCARDemoMIDlet(){//创建构造函数CARDemoMIDlet()

display=Display.getDisplay(this);

alert=newAlert("游戏天地");//构造Alert的、默认的单参数构造函数为提示信息的头部

alert.setString("赛车游戏");//设置提示信息

alert.setTimeout(2000);//设置Alert的时间,单位为毫秒

list=newList("Welcometothegame",List.IMPLICIT);//设置欢迎界面的头部信息

okCommand=newCommand("确认",Command.OK,2);

backCommand=newCommand("返回",Command.BACK,2);

list.setCommandListener(this);//设置控制监听器

}

publicvoidstartApp()

{

display.setCurrent(alert,list);

list.append("开始游戏",null);//添加列表

list.append("游戏说明",null);

list.append("离开",null);

list.addCommand(okCommand);

list.addCommand(backCommand);

}

publicvoidpauseApp(){}

publicvoiddestroyApp(booleanunconditional){}

publicvoidcommandAction(Commandcmd,Displayabledisp)

{

if(cmd==okCommand)//设置按钮为确定状态

{

switch(list.getSelectedIndex())

{

case0:

for(i=0;i

list.delete(i);

CARCanvasdisplayable=newCARCanvas();

Display.getDisplay(this).setCurrent(displayable);//设置显示的下一个屏幕为游戏界面

list.removeCommand(okCommand);

break;

case1:

for(i=0;i

list.delete(i);

list.set(0,"在这个游戏中,玩家可以用上下左右键来控制赛车向下行驶."+

"注意不要撞到其他赛车和人物",null);//设置下一个界面的显示内容为括号中的内容

list.removeCommand(okCommand);

break;

case2:

destroyApp(false);//退出程序

notifyDestroyed();

break;

}

}

elseif(cmd==backCommand)//设置按键状态为返回

{

for(i=0;i

list.delete(i);

startApp();//开始程序

}

}

}

CARCanvas

importjavax.microedition.lcdui.Graphics;

importjavax.microedition.lcdui.game.*;

publicclassCARCanvasextendsGameCanvasimplementsRunnable

{

privatestaticfinalintX=0;//定义常量X的值为0

privatestaticfinalintY=1;//定义常量Y的值为1

privatestaticfinalintWIDTH=2;//定义常量WIDTH的值为2

privatestaticfinalintHEIGHT=3;//定义常量HEIGHT的值为3

privatestaticfinalintSTEP=3;//定义常量STEP的值为3

privateHeroloader;

privateSpritehero;

privateThreadthread;

privateTiledLayerlayer;

privateMapmap;

privateintlastState=-1;

privateintWORLD_WIDTH;//定义常量WORLD_WIDTH

privateintWORLD_HEIGHT;//定义常量WORLD_HEIGHT

privateint[]view=newint[4];//定义整型数组view

privatebooleaninitialized=false;

privatebooleanpaused=false;//布尔变量用来控制是否暂停

privateObjectexecutionLock=newObject();

intscore=100;//定义初始化分数为100

StringscoreStr="得分:

";

publicCARCanvas()

{

super(true);//抑制键盘

setFullScreenMode(true);//设置全屏模式为真

}

publicvoidshowNotify()

{

if(initialized)

{

synchronized(executionLock)//同步

{

if(paused)

{

paused=false;

executionLock.notify();//死锁的通知

}

}

}

}

publicvoi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1