这次的java实验,我设计了一个元气骑士走迷宫的小游戏,至于为什么是元气骑士,因为我找到了它的图片,一个像素20*40的小图片
我使用maven创建项目,导入了jdk15的依赖
项目亮点:
1、使用了map.txt这种二维数组的形式表示一个背景图
用0表示墙壁,1表示道路,画出了下面的图形
2、设有三个线程,三个出口
第一个线程是人物的运动
第二个线程是倒计时
第三个线程是小球(机关)的反弹
有三个出口
第一个出口是人物在规定时间内到达指定区域,获得胜利
第二个出口是人物碰到运动的球体,死亡
第三个出口是倒计时结束,game over
项目缺点:
1、使用JLabel绘制背景图,每一个图片都是使用
JLabel jknight=new JLabel(new ImageIcon("image/knight.png"));
方式插入,更好的方式是使用
Graphics 绘图类 Paint()函数
绘制图形
2、小球机关的设置,我是使用
while(flag)
{
while(this.by<=280)
{
this.by++;
//System.out.println(this.by);
bullet.setBounds(this.bx,this.by,20,20);
try {
Thread.sleep(5);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
while(this.by>=160)
{
this.by--;
//System.out.println(this.by);
bullet.setBounds(this.bx,this.by,20,20);
try {
Thread.sleep(5);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
这种方式设置,为了方式小球运动过快的问题,我设置了休眠时间
不过也产生了一个问题,小球和人物的碰撞在哪一个点无法确定,甚至有时候二者还会不发生碰撞,出现图形重叠的情况
以上两点,我还没有进行改进,不过不影响这个项目的整体使用
下面的网盘的连接,里面含有项目的代码和元气骑士的素材
https://qpfxgg.lanzoui.com/b01id2a0f
密码:gu8j