今天天气不错,利用一段时间给大家分享一个大球吃小球的游戏,该游戏也属于一个比较优秀的作品。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步!!
开发环境
开发语言为Java,开发环境Eclipse或者IDEA都可以。运行主程序,或者执行打开JAR文件即可以运行本程序
系统框架
利用JDK自带的SWING框架开发,不需要安装第三方JAR包。纯窗体模式,直接运行Main文件即可以。选中Main.java,点右键 run as application启动相关程序。也客户把程序打包成JAR包,双击JAR即可以启动相关的程序。
游戏运行方法
进入游戏方法
1 点击火箭开始游戏
2 点击Exit退出游戏
3 右上角显示当前成绩和历史最高
4 退出自动保存最高成绩
游戏玩方法
1 进度条缓慢减少 吃小球进度条+
2 黑球吃黄球 玩家变回初始值
3 黑球吃药品,进度条生命值增加。吃炸弹,游戏马上结束
4 难度等级随着积分增加不断增加,难度等级越高,球的运行速度越快。
5 黑球始终只有一个,通过鼠标控制黑球的位置,和进行相关的移动
运行效果
1 游戏启动界面
2 游戏运行界面
3 游戏结束界面
关键代码
while (gameplaying) {
for (int i = 0; i < enemies.length; i++) {
if (enemies[i] != null && player[0] != null) {
if (boom(enemies[i], player[0])) {
//炸弹检测
if(enemies[i].color.equals("#EED5D2")) {
gameplaying = false;
break;
}
//药 检测
if(enemies[i].color.equals("#6A5ACD")) {
gui.jProBar.addValue(5);
enemies[i] = null;
continue;
}
//普通球检测
if (player[0].getR() > enemies[i].getR()) {
if (i != CIRCLECOUNT / 2) {
player[0].resize(1);
score++;
gui.currentScoreLabel.setText("当前成绩:" + score);
if(score != 0 && score % 10 == 0) {
if(enemyMovingSpeed > 40) {
enemyMovingSpeed -= 20;
}else if(enemyMovingSpeed > 20) {
enemyMovingSpeed -= 5;
}else if(enemyMovingSpeed > 1) {
enemyMovingSpeed -= 1;
}
gui.gameLevelLabel.setText("难度等级:" + (100- enemyMovingSpeed));
}
gui.jProBar.addValue(3);
} else {
player[0].resize(-1 * (player[0].getR() - ORIGNALR));
}
enemies[i] = null;
} else {
gameplaying = false;
break;
}
}
}
}
}
项目总结
(1)在写代码之前,在大脑里一定要把思路理清楚,不能模模糊糊,一定要把功能图和流程图画出来,然后根据它去实现每一个功能块,要多分析,培养一种良好的逻辑思维能力。
(2)在写代码的过程中,一定要采取就近原则,同一个功能,或者对同一个组件的设置一般要写在一块,这样写的程序比较清晰,不容易出错,也便于查找。
(3)要养成良好的注释习惯,一是有利于别人阅读你的程序,同时也有利于自己以后再看,就能很快的读懂程序,提高效率。
(4)把功能模块化,即把实现相同功能的代码段封装成一到一个类或者一个方法中,实现的时候调用即可,这样能提高代码的可读性
(5)养成创建包来存放不同功能的类,使系统的结构更加模块化和规范化。
(6)在编写代码的时候,一定要边写边调试,要适时的设置断点,或者把某些变量的值输出到控制台,通过观察和分析变量的值,便于判断问题所在,同时,需要捕获异常的一定要把异常信息打印出来,便于分析问题。