基于java的吃豆子小游戏开发-毕设论文

2026/4/28 16:20:11

常州大学本科生毕业设计(论文)

游戏音乐算法流程图

背景音乐播放控制的算法流程如图5-4所示: 开始 背景音乐播放控制线程 否 是否处在 是否接受到 暂停状态 恢复信息 是 否 是 播放背景音乐 接受到停止信息

结束

图5-4 背景音乐播放控制流程图

第 20 页 共41页

20

5.4

常州大学本科生毕业设计(论文)

6详细设计

6.1主界面设计

由于这个程序的界面并不是很复杂,所以用到的控件也不多,主要核心内容还是后台的代码设计。根据数组元素值,来显示图片。

①色彩上:总结人们的视觉习惯和色彩对眼睛的健康影响,决定对于画布采用黑色背景,神秘而大方;左边的控制区中墙体采用类似砖头的颜色的图片,配合左边纯黑的背景,是的空间显得更大更有立体感。

②功能上:背景就是窗体,右侧是一个groupbox[18]控件,用来显示生命值和得分情况, 游戏主界面截图,如图6-1所示:

图6-1开始界面

游戏主界面的程序,代码如下:

public class Packman extends JApplet implements KeyListener, ActionListener{ private Ticker t;//定义了一个ticker的对象t

private Image offScreenImage;//定义了一个图片对象offScreenImage //定义吃豆者

private Player player; //定义四个敌人

private Enemy Red, Cyan, Pink, Orange; private int health, Scores; //健康值与分数 private boolean gameover; //游戏是否结束

第 21 页 共41页

21

常州大学本科生毕业设计(论文)

private boolean gameStarted; //游戏是否开始 private int alarmTime;//敌人失去反抗的时间 private boolean alarm;//是否失去反抗能力 private boolean UP_TYPED, DOWN_TYPED, LEFT_TYPED, RIGHT_TYPED;//是否能够向上,向下,向左,向右 private Image[] WALL; //定义墙 private AudioClip[] SOUND;//定义音乐 private Wall[] wall;//定义墙的数组 private Gold[] gold; //定义豆子的数组 private int gameFlow;

private boolean levelComplete;//是否升级

g.setColor(Color.white);//设置颜色为白色 g.drawString(\生命: \ g.drawString(\积分: \ if(!gameStarted){//游戏没开始

g.setColor(Color.cyan);//绘制开始这几个字的颜色 g.drawString(\ 按空格开始\ 153, 273);

}

if(gameover && gameFlow > 100){ g.setColor(Color.red); g.drawString(\游戏结束\ 179, 238); } }

public void keyPressed(KeyEvent e)//定义一个键盘输入 if(e.getKeyCode() == KeyEvent.VK_SPACE){ SOUND[6].play(); gameStarted = true; //点击“空格”,游戏开始 }

if(e.getKeyCode() == KeyEvent.VK_UP){

player.ChangeDirection(0); //点击方向键,执行相应的操作 UP_TYPED = true;

DOWN_TYPED = false; LEFT_TYPED = false;

RIGHT_TYPED = false;

第 22 页 共41页

22

常州大学本科生毕业设计(论文)

}

if(e.getKeyCode() == KeyEvent.VK_DOWN){ player.ChangeDirection(1); UP_TYPED = false; DOWN_TYPED = true; LEFT_TYPED = false; RIGHT_TYPED = false; }

if(e.getKeyCode() == KeyEvent.VK_LEFT ){ player.ChangeDirection(2); UP_TYPED = false; DOWN_TYPED = false; LEFT_TYPED = true; RIGHT_TYPED = false; }

if(e.getKeyCode() == KeyEvent.VK_RIGHT){ player.ChangeDirection(3); UP_TYPED = false; DOWN_TYPED = false;

LEFT_TYPED = false; RIGHT_TYPED = true; } }

public void keyReleased(KeyEvent e){} public void keyTyped(KeyEvent e){} public void update(Graphics g) { Graphics offScreenGraphics; if (offScreenImage == null) {

offScreenImage = createImage(545, 482); //返回创建一幅用于双缓冲的、可在屏幕外绘制的图像。

//如果组件是不可显示的,则返回值可能为 null。 }

offScreenGraphics = offScreenImage.getGraphics();

offScreenGraphics.setColor(Color.white); offScreenGraphics.fillRect(0, 0, 545, 482);

第 23 页 共41页

23


基于java的吃豆子小游戏开发-毕设论文.doc 将本文的Word文档下载到电脑
搜索更多关于: 基于java的吃豆子小游戏开发-毕设论文 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219