今天为大家分享波波推箱子游戏的开发与制作,目前系统已经完成了初步功能,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步
开发环境
开发语言为Java,开发环境Eclipse或者IDEA都可以。运行主程序,或者执行打开JAR文件即可以运行本程序。
系统框架
利用JDK自带的SWING框架开发,不需要安装第三方JAR包。纯窗体模式,直接运行Main文件即可以。选中Main.java,点右键 run as application启动相关程序。也客户把程序打包成JAR包,双击JAR即可以启动相关的程序。
游戏背景:
经典的推箱子是一个来自日本的古老游戏,目的是在训练你的逻辑思考能力。在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,才能顺利的完成任务
游戏规则
推箱子游戏一共有6关,游戏种有三个场景:灰太狼、喜洋洋、笼子、障碍物
1 上下左右控制灰太狼移动,所有喜洋洋都关进笼子胜利。
2当你不小心走错路按Enter可以撤回一次。
3按Esc键可以在你所在的关卡重新开始。
游戏策略
1. 观察地图
推箱子游戏中的每一关地图都有特定的设计,玩家可以先仔细观察,找出机关、障碍物、箱子之间的
关系,找到终通关的路径。
2. 尝试多种方案
每一关都有多种不同的解决方案,玩家可以尝试多种方案,发现更多的有效破解方法。
3. 坚持尝试
有时候,玩家会遇到比较复杂的关卡,可能会因为推错箱子而放弃,但是玩家不要灰心,应该坚持尝
试,直到找到终的解决方案。
运行效果
1 效果1
2 效果2
3 效果3
关键代码
/**目的地的初始化*/
private void targetInit() {
//制作笼子的方式同人物或者箱子的制作 1.创建图片
Icon i = new ImageIcon("8.png");
//2.JLable
JLabel lab_target1 = new JLabel(i);
//制作其他两个笼子
JLabel lab_target2 = new JLabel(i);
JLabel lab_target3 = new JLabel(i);
//3.设位置 每关笼子 放的位置 不一样才好玩 注意datas 数组中对应的位置应该是 8
switch (pass) {
case 0://第一关
lab_target1.setBounds(700 + 12, 300 + 36, 50, 50);
lab_target2.setBounds(700 + 12, 350 + 36, 50, 50);
lab_target3.setBounds(700 + 12, 400 + 36, 50, 50);
break;
case 1://第二关 笼子
lab_target1.setBounds(700 + 12, 300 + 36, 50, 50);
lab_target2.setBounds(700 + 12, 350 + 36, 50, 50);
lab_target3.setBounds(700 + 12, 400 + 36, 50, 50);
break;
case 2://第三关 笼子
lab_target2.setBounds(350 + 12, 100 + 36, 50, 50);
lab_target3.setBounds(400 + 12, 100 + 36, 50, 50);
lab_target1.setBounds(450 + 12, 100 + 36, 50, 50);
break;
case 3://第4关 笼子
lab_target2.setBounds(300 + 12, 150 + 36, 50, 50);
lab_target3.setBounds(200 + 12, 250 + 36, 50, 50);
lab_target1.setBounds(450 + 12, 250 + 36, 50, 50);
break;
case 4://第5关 笼子
lab_target2.setBounds(450 + 12, 250 + 36, 50, 50);
lab_target3.setBounds(450 + 12, 300 + 36, 50, 50);
lab_target1.setBounds(450 + 12, 350 + 36, 50, 50);
break;
case 5://第5关 笼子
lab_target2.setBounds(200 + 12, 300 + 36, 50, 50);
lab_target3.setBounds(250 + 12, 300 + 36, 50, 50);
lab_target1.setBounds(200 + 12, 350 + 36, 50, 50);
break;
}
//4.添加到窗体里
this.add(lab_target1);
this.add(lab_target2);
this.add(lab_target3);
}