{
strBuf。
append(charArray[i]);
}
form。
append(strBuf。
toString());
form.addCommand(cmdStop);
form。
setCommandListener(newCommandListener(){
publicvoidcommandAction(Commandarg0,Displayablearg1){
//TODOAuto—generatedmethodstub
if(cmdStop==arg0){
notifyDestroyed();
destroyApp(true);
}
}
});
}
protectedvoidstartApp(){
//TODOAuto-generatedmethodstub
Display.getDisplay(this)。
setCurrent(form);
}
protectedvoidpauseApp(){
//TODOAuto-generatedmethodstub
}
protectedvoiddestroyApp(booleanarg0){
//TODOAuto-generatedmethodstub
}
}
实验名称:
开发带有图形的JavaME应用
时间:
2010/10/21地点:
8栋实验室
五、实验设备:
1.计算机
2.Eclipse环境:
Eclipse是一种可扩展的开放源代码IDE.集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。
为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。
Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。
任何Eclipse插件定义的扩展点都能够被其它插件使用,反之,任何Eclipse插件也可以遵从其它插件定义的扩展点.除了解由扩展点定义的接口外,插件不知道它们通过扩展点提供的服务将如何被使用。
利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。
Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的VisualStudio和Sun微系统公司的NetBeans平台。
Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。
缺点就是较复杂,对初学者来说,理解起来比较困难。
六、实验目的:
●熟悉实现用户界面的类与组件
●熟悉高级界面的实现
●了解Form所包含的ImageItem类
●低级界面的绘制
七、实验内容及方法:
Form窗体是Screen的一个子类,可以包含图片、只读文本、可编辑文本、进度条、选项组以及自定义项目,这些都是Item类的子类.也就是说,任何一个Item子类都可以显示在Form窗体中。
而Imageltem是Form的一个子类,主要用于显示图片对象。
本实验就是在Form窗体中运用ImageItem子类显示图片。
八、实验过程:
1.实验步骤
(1)创建项目
(2)添加MIDlet架构类
(3)编译与运行结果
2.流程图:
开始
进入标题界面
按退出
结束
3.源程序:
//增加了退出按钮,改变了图像显示的顺序与位置
packagech6;
importjavax。
microedition。
lcdui。
Command;
importjavax.microedition.lcdui。
Display;
importjavax.microedition.lcdui。
Form;
importjavax。
microedition.lcdui.Image;
importjavax。
microedition.lcdui.ImageItem;
importjavax。
microedition。
lcdui.Item;
importjavax。
microedition.lcdui。
ItemCommandListener;
importjavax。
microedition。
midlet。
MIDlet;
importjavax。
microedition.midlet.MIDletStateChangeException;
publicclassImageItemMIDletextendsMIDletimplementsItemCommandListener{
privateFormform;
privateCommandcmdExit=newCommand(”退出”,Command.EXIT,1);
privateCommandcmdImgItem1=newCommand("PLAIN”,Command。
ITEM,1);
privateCommandcmdImgItem2=newCommand("Button”,Command。
ITEM,1);
privateCommandcmdImgItem3=newCommand("Hyperlink”,Command。
ITEM,1);
publicImageItemMIDlet(){
//TODOAuto—generatedconstructorstub
try{
Imageimage1=Image。
createImage("/image2.png”);
ImageItemimageItem1=newImageItem(”1左对齐显示”,image1,Item。
LAYOUT_LEFT,null,Item。
PLAIN);
imageItem1.setItemCommandListener(this);
imageItem1。
addCommand(cmdImgItem1);
Imageimage2=Image。
createImage("/image1.png");
ImageItemimageItem2=newImageItem("2居中显示”,image2,Item。
LAYOUT_CENTER,null,Item.BUTTON);
imageItem2.setItemCommandListener(this);
imageItem2。
addCommand(cmdImgItem2);
Imageimage3=Image.createImage("/image3.png”);
ImageItemimageItem3=newImageItem("3右对齐显示",image3,Item。
LAYOUT_RIGHT,null,Item。
HYPERLINK);
imageItem3.setItemCommandListener(this);
imageItem3。
addCommand(cmdImgItem3);
imageItem3。
addCommand(cmdExit);
imageItem2.addCommand(cmdExit);
imageItem1。
addCommand(cmdExit);
form=newForm("ImageItem的显示”);
form.append(imageItem2);
form。
append(imageItem3);
form.append(imageItem1);
}catch(Exceptione){
e.printStackTrace();
}
}
protectedvoiddestroyApp(booleanarg0)throwsMIDletStateChangeException{
//TODOAuto-generatedmethodstub
}
protectedvoidpauseApp(){
//TODOAuto—generatedmethodstub
}
protectedvoidstartApp()throwsMIDletStateChangeException{
//TODOAuto—generatedmethodstub
Display.getDisplay(this)。
setCurrent(form);
}
publicvoidcommandAction(Commandcommand,Itemitem){
//TODOAuto-generatedmethodstub
if(command==cmdImgItem1){
System。
out。
println(”ImageItemPlain”);
}elseif(command==cmdImgItem2){
System。
out。
println("ImageItemButton”);
}elseif(command==cmdImgItem3){
System.out。
println(”ImageItemHyperlink");
}
}
}
实验名称:
利用Eclipse开发单机游戏示例
时间:
2010/10/21地点:
8栋实验室
九、实验设备:
1.计算机
2.Eclipse环境
Eclipse是一种可扩展的开放源代码IDE。
集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中.为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。
Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。
任何Eclipse插件定义的扩展点都能够被其它插件使用,反之,任何Eclipse插件也可以遵从其它插件定义的扩展点。
除了解由扩展点定义的接口外,插件不知道它们通过扩展点提供的服务将如何被使用。
利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。
Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的VisualStudio和Sun微系统公司的NetBeans平台.Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术.缺点就是较复杂,对初学者来说,理解起来比较困难。
十、实验目的:
完成一个小型贪吃蛇游戏开发,简单实现功能
1、项目功能及要求
1)游戏策划,定义游戏规则。
2)游戏规则实现;
3)界面清晰,功能完备。
4)能在模拟器上运行。
2、项目内容和要求
1)J2ME手机游戏开发MIDP程序编制;
2)综合掌握调试手机游戏程序技巧;
3)手机程序代码优化;
4)高级用户界面设计;
5)低级用户界面设计;
十一、实验内容及方法
贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,接着又随机出现食物,等待蛇来吃,贪吃蛇碰到自身身体游戏不结束而是咬掉自己身体的一部分继续游戏,如果蛇在移动中撞到墙则游戏结束(判断蛇是否撞倒墙则蛇死,false)。
程序关键在于表示蛇的图形及蛇的移动.用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体。
十二、实验过程:
1。
实验步骤
(1)创建Snake项目
(2)添加游戏架构类
(3)编译与运行结果
更改了背景色蛇咬了自己的身体撞墙则游戏结束
2。
流程图:
开始
进入游戏界面
是否撞墙
是否碰自身
结束
3.源程序:
//修改了游戏结束判断标准,贪吃蛇碰到自身身体游戏不结束而是咬掉自己身体的一部分,更改屏幕背景颜色
importjava.util。
Random;
importjavax.microedition。
lcdui。
Canvas;
importjavax.microedition。
lcdui.Graphics;
publicclassSnakeCanvasextendsCanvasimplementsRunnable{
/**食物的左上角X坐标*/
privateintfoodX;
/**食物的左上角Y坐标*/
privateintfoodY;
/**食物的颜色值*/
privateintfoodC;
/**贪吃蛇*/
privateint[]snake=newint[200*3];
/**贪吃蛇食物宽度*/
privatefinalintSNAKE_W=4;
/**贪吃蛇食物长度*/
privatefinalintSNAKE_H=4;
/**贪吃蛇的身体长度,即包含食物的个数*/
privateintsnakeNum;
/**方向变量*/
privateintdirection;
/**方向上*/
privatefinalintDIR_UP=0;
/**方向下*/
privatefinalintDIR_DOWN=1;
/**方向左*/
privatefinalintDIR_LEFT=2;
/**方向右*/
privatefinalintDIR_RIGHT=3;
/**Random对象,控制食物的随机出现*/
Randomrandom=newRandom();
/**可选颜色值*/
privatefinalint[]COLOR={0xff0000,0x00ff00,0x0000ff,0xffff00,0xff00ff,0x00ffff,0xff000f};
/**线程对象*/
privateThreadthread;
/**线程控制变量*/
privatebooleanisShow=true;
/**游戏是否退出控制变量*/
privatebooleanisExit=false;
/**屏幕宽*/
privateintSCREEN_W;
/**屏幕高*/
privateintSCREEN_H;
publicSnakeCanvas(){
//TODOAuto—generatedconstructorstub
/**获取屏幕宽度和高度*/
SCREEN_W=this。
getWidth();
SCREEN_H=this.getHeight();
//初始化贪吃蛇的长度
snake