JAVA实验报告18-“打地鼠”游戏程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA 实验(18)

课程名称:Java 面向对象程序设计学院:管理学院专业班级:信息管理与信息系统6)班

学号:3 108006406 ___________________

姓名:张钟权

任课教师:聂小东

2010年06月15日

管理学院信息管理与信息系统专业08信管6班_______ 组

学号3108006406姓名张钟权协作者 ______ 教师评定_______________ 实验题目“打地鼠”游戏程序设计

-、实验目的与要求

(1) 实验目的:通过编写调试“打地鼠”游戏程序,分析了解“打地鼠” 游

戏的功能实现过程,掌握游戏设计的有关知识。

(2) 实验要求:按照实验教程的要求完成“打地鼠”游戏程序的编写和调试

工作。

二、实验方案

(1) HammerSprite 类:

①HammerSprite (Image image, int frameWidth,int frameHeight)方法:

锤子精灵的构造函数,设置精灵贴片图像及精灵的宽度与高度;

②moveTo (int x,int y)方法:为游戏操控者控制手机的按键,移动锤

子精灵到指定位置。

(2) MouseSprite类:

①MouseSprite (Image image, int frameWidth,int frameHeight) 方

法: 地鼠精灵的构造函数,设置精灵贴片图像及精灵的宽度与长度;

②moveTo (int s)方法:根据随机数s,移动地鼠精灵到指定的坐标位

(3) MainCanvas类:

①MainCanvas ()方法:对游戏进行初始化,设置游戏的背景图像及

背景音乐,并实例化游戏精灵;

②gameStart ()方法:游戏开始,加载地鼠精灵,让其随机现身。

(4) BeatSusliksMIDIet 类:执行程序的入口,定义了 “开始游戏”和“退

出游戏”按钮地方法。

三、实验结果和数据处理

import java.io.*; import java.util.*; import javax.microeditio n.l cdui.*; import javax.microeditio n.l cdui.game.*; import javax.microediti on. media.*; import javax.microediti on. media.c on trol.*; public class MainCan vas exte nds GameCa nvas impleme nts Runn able { private int level;

private long Score;

musicPlayer, musicPlayerl;

//构造函数,进行一些初始化的设置 public MainCan vas()

{

super(true);

//

frameDeleay = 33;

//

beg in = 0;

//得分回零

Score = 0;

try

{

//游戏背景图像 bkp = lmage.createlmage("/bk.p ng");

//游戏开始封面 private Thread private boolea n private int private int private Image gameOverImg; private HammerSprite

private MouseSprite r

t;

sleep ing;

beg in; frameDeleay;

bkp, hammerimage,

hammerSprite;

startimg,

mouseimage,

private Player

startlmg = lmage.createlmage("/start.p ng");

//锤子系列图像,构造锤子精灵

hammerimage = lmage.createlmage("/chuizi.p ng");

//地鼠锤子系列图像,构造地鼠精灵

mouselmage = lmage.createlmage("/shu.p ng");

//地鼠贴片的宽和高

mouseSprite = new MouseSprite( mouselmage, 40, 30 );

//锤子贴片的宽和高

hammerSprite = new HammerSprite( hammerlmage, 40, 30 );

//游戏结束画面

gameOverlmg = lmage.createlmage("/gameover.p ng");

}

catch(IOExcepti on e)

{ }

try {

// 定义声音文件的输入流

In putStream is = this.getClass().getResourceAsStream("Music.mid");

//建立midi文件媒体播放器

musicPlayer = Man ager.createPlayer(is, "audio/midi");

// 让播放器对声音流进行预提取

musicPlayer.prefetch();

// 设置声音的播放次数(无限循环)

musicPIayer.setLoopCo un t(-1);

// 启动播放器

musicPlayer.start();

}

catch (lOExcepti on ioe)

{}

catch (MediaExcepti on me)

{}

}

//精灵碰撞检测

private void checkSpritEve nt()

{

if(hammerSprite.collidesWith(mouseSprite, true)) {

mouseSprite.();

//加分

Score+=100;

//手机按键对应锤子精灵的坐标位置:

private void update()

{

//获取手机按键的键值

int keySelect = this.getKeyStates(); switch (())

相关文档
最新文档