今学期选修选了java,点知完全唔识,如果补考再不行就无得拿毕业证,现在有份试卷,但无答案,
求各位高人提供下答案,感激不尽啊
试卷如下:
一、填空题
1、阅读下列程序,然后填空.
import java.io.IOException;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
public class PlaneSprite extends Sprite {
protected int m_nSpeedX=0;
protected int m_nSpeedY=0;
public BulletSprite m_Bullet=null;
public PlaneSprite(Image image, int nWidth, int nHeight) {
super(image, nWidth, nHeight);
// TODO Auto-generated constructor stub
try{
Image BImag=Image.createImage("/Bullet.png");
m_Bullet=new BulletSprite(BImag,5,5);
}
catch(IOException e){
setVisible(false);
defineReferencePixel(nWidth/2,nHeight/2);//D
}
}
public void SetSpeed(int nSpeedX,int nSpeedY){
m_nSpeedX=nSpeedX;
m_nSpeedY=nSpeedY;
}
public void Logic(){
m_Bullet.logic();
}
}
1)
上述类中,共有______成员变量和______成员方法.
2)
创建飞机精灵的语句是___________.
3)
创建导弹精灵的语句是___________.
4)
设置飞机飞行速度的方法名为_______________.
5)
自动发射导弹的方法名为_______________.
6)
引入精灵类包的语句是________________________________.
7)
类的头是___________________________________________________.
8)
Try---catch语句的作用是____________________________________________.
9)
引入图像类包的语句是___________________________________________.
10)
引入异常类包的语句是___________________________________________.
2、阅读下列程序然后填空
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;
public
class MyPlane extends PlaneSprite{
public MyPlane(Image image, int nWidth, int nHeight) {
super(image, nWidth, nHeight);
// TODO Auto-generated constructor stub
m_nSpeedY=2;
m_nSpeedX=2;
}
public
void Input(int keyStates){
if(isVisible()==false)
return;
int nX=getRefPixelX();
int nY=getRefPixelY();
if((keyStates & GameCanvas.UP_PRESSED)!=0)
nY=-m_nSpeedY;
if((keyStates & GameCanvas.LEFT_PRESSED)!=0)
nX-=m_nSpeedY;
if((keyStates & GameCanvas.RIGHT_PRESSED)!=0)
nX+=m_nSpeedX;
if((keyStates & GameCanvas.DOWN_PRESSED)!=0)
nY+=m_nSpeedY;
if((keyStates & GameCanvas.FIRE_PRESSED)!=0)
CreateBullet();
setRefPixelPosition(nX,nY);
}
public
void Logic(){
super.Logic();
}
private
void CreateBullet(){
if(m_Bullet.isVisible())
return;
m_Bullet.setRefPixelPosition(getRefPixelX(), getRefPixelY());
m_Bullet.SetSpeed(0,-3);
m_Bullet.setVisible(true);
}
}
11)
上述代码说明移动玩家飞机可以使用手机上的____________键.
12)
上述代码说明移动玩家发射导弹可以使用手机上的____________键.
13)
玩家飞机(MyPlane)的父类是_____________.
14)
设置玩家飞机位置的参考点的语句是________________.
15)
Input方法的作用是____________________________________.
16)
CreateBullet方法的作用是___________________________________.
17)
keyStates & GameCanvas.UP_PRESSED)!=0 表示玩家按下_________键。
18)
super.Logic();是调用________类的方法.
19)
m_Bullet.setSpeed(0,-3);表示导弹向_______方向飞行。
20)
if(m_Bullet.isVisible()) return;表示已经发射的导弹还可见时,input方法_______执行任何操作并立即返回。
二、选择题
1、配置JDK的环境时要设置的系统变量是
A . JAVA_HOME
B .PATH
C .CLASSPATH
D .前面三个都要
2、WTK是
A.SUN公司提供的无线开发工具包
B. 是JAVA开发包
C 是JAVA语言开发平台
D J2ME插件.
3、运行WTK使用
A.KToolbar
B. Run midlet
C. wtk run
D.start
4、读取图片文件的方法是
A.createImage
B. readImage
C. drawImage
D.paintImage.
5、将图片显示到手机屏幕上的方法是
A.
paint
B. drawImage
C. paintImage
D.crateImage.
6、以下不是Midlet中必须实现的方法是
A.startApp
B. pauseApp
C. destroyApp
D.run.
7、创建动态精灵的方法是
A.
Sprite(Image image,int x,int y,boolean pixelLeavel)
B. Sprite(Image image)
C. setFrame(int sequence)
D.defineRefencePixel(int x,int y).
8、设置精灵的帧的方法是
A. Sprite(Image image,int x,int y,boolean pixelLeavel)
B. Sprite(Image image)
C. setFrame(int sequence)
D.defineRefencePixel(int x,int y).
9、检测精灵与精灵碰撞的方法是
A.collidesWith(TiledLayer t,boolean pixelLeavel)
B. Sprite(Image image)
C. setFrame(int sequence)
D.collidesWidth(Sprite s,boolean pixelLeavel).
10、检测精灵与背景中物体碰撞的方法是
A.collidesWith(TiledLayer t,boolean pixelLeavel)
B. Sprite(Image image)
C. setFrame(int sequence)
D.collidesWidth(Sprite s,boolean pixelLeavel).
11、TiledLayer类是用来生成游戏
A.
精灵
B背景 C 音效 D启动界面。
12、LayerManager 类是用来管理游戏中
A.
图像的各层,B.精灵间的碰撞,C精灵和物体间的碰撞,D.图像的显示。
13、GrameCanvas类是用来
A.
线程处理,B.绘图处理,C.消息处理, D.以上三个。
14、GameCanvas中的方法getKeyStates()的作用是
A.
得到按键状态,B.得到精灵的位置,C.得到精灵的大小,D.得到打来电话。
15.GameCanvas中的方法flushGraphics的作用是
A.
把内存中的图像显示在手机屏幕上,B.停止游戏,C重启游戏,D.退出游戏。
16、Sprite中的方法paint的作用是
A绘制精灵,B.绘制背景,C.消息处理, D.音乐播放。
17、游戏的背景是由贴砖构成,贴砖的编号由___开始,从左到右依次增加。
A. 1, B.2
C.0
D.-1.
18.通常用数组来表示游戏的背景,数组中的元素是
A.
贴砖的编号,B.图片,C,图像指针,D.图像大小。
19、LayerManger中的方法append用于添加图层,后添加的图层被先绘制,
位于屏幕的_____层。
A.
上,B.中,C.底,D.最上。
20.LayerManger中的方法setViewWindow(int x,int y,int width,int height)作用是设置游戏视窗,其中的参数x,y表示
A.视窗的位置,B.视窗的大小,C.视窗的可见性,D.以上均不是。
三、简答题
1、写出创建一个手机游戏的步骤
2、写出播放游戏背景音乐的方法
3、写出构造游戏静态背景的步骤
4、写出创建游戏精灵的步骤
5、写出“坦克”类,该类的父类是精灵类,它有两个成员变量:水平方向速度和铅直方向速度,两个成员方法:设置水平方向速度的方法和设置铅直方向速度的方法和构造方法,在构造方法中创建坦克精灵。
四、名词解释
1.RMS
2.Eclipse
3.流程图
4.RPG
5.PUZ
6.摄像机跟随
7.手机游戏开发团队的组成
8.中国手机游戏产业链结构
9.手机游戏的策划工作
10.Midlet的作用和要实现的方法