为了尽量复原泡泡堂游戏,我们初步实现了机器人功能。该机器人可以判断障碍物释放炸弹、规避炸弹、攻击玩家。目前该机器人仍存在一些小问题,比如某些情况会卡住不动
人物在拐角处移动的时候经常不是刚好对齐的状态,程序会判定玩家碰撞了障碍物所以导致玩家无法拐弯。所以我们在处理这种情况的时候,会让玩家进行平滑的移动使得玩家看上去是滑进去的,增强玩家游戏体验
如果您仅是想试玩该泡泡堂游戏,那么可以选择以下方式获得打包文件夹,并执行其中的CrazyArcade.jar文件
注意:无论您使用哪种方式,在运行程序之前请确保您安装了JRE环境
如果您是想获取该项目源代码进行参考、学习或者修改,可以按以下步骤进行
该项目是练习项目,没有参与任何商业行为。
游戏启动入口
package com.a225.main;
import java.io.IOException;
import com.a225.frame.GameFrame;
import com.a225.model.loader.ElementLoader;
import com.a225.thread.GameMusicPlayer;
/**
* 游戏启动入口
* @ClassName: GameStart
* @Description:
* @author: WeiXiao
* @CreateDate: 2019年4月8日 下午4:17:37
*/
public class GameStart {
private static GameFrame gameFrame;
//游戏启动入口
public static void main(String[] args) {
// 资源加载
try {
ElementLoader.getElementLoader().readGamePro();
ElementLoader.getElementLoader().readImagePro();
ElementLoader.getElementLoader().readCharactorsPro();
ElementLoader.getElementLoader().readBubblePro();
ElementLoader.getElementLoader().readSquarePro();
} catch (IOException e) {
System.out.println("资源加载失败");
e.printStackTrace();
}
//初始化
gameFrame = new GameFrame();
//界面显示
gameFrame.setVisible(true);
//音乐播放
GameMusicPlayer musicPlayer = new GameMusicPlayer();
musicPlayer.start();
}
/**
* 界面切换
* @param panelName 界面名称
*/
public static void changeJPanel(String panelName){
if(panelName == "game") {
GameController.setGameRunning(true);
gameFrame.addListener();
} else {
GameController.setGameRunning(false);
gameFrame.removeListener();
}
gameFrame.changePanel(panelName);
//强制刷新,否则监听无效
gameFrame.setVisible(false);
gameFrame.setVisible(true);
}
public static void startNewGame() {
GameController.setGameRunning(true);
gameFrame.startGame();
changeJPanel("game");
}
}
游戏控制信息类
package com.a225.main;
/**
* 游戏控制信息类
* @ClassName: GameController
* @Description:
* @author: WeiXiao
* @CreateDate: 2019年4月12日 上午9:13:13
*/
public class GameController {
private static boolean gameRunning = false;
private static boolean twoPlayer;
private static int npcNum;
public static boolean isGameRunning() {
return gameRunning;
}
public static void setGameRunning(boolean gameRunning) {
GameController.gameRunning = gameRunning;
}
public static boolean isTwoPlayer() {
return twoPlayer;
}
public static void setTwoPlayer(boolean twoPlayer) {
GameController.twoPlayer = twoPlayer;
}
public static int getNpcNum() {
return npcNum;
}
public static void setNpcNum(int npcNum) {
GameController.npcNum = npcNum;
}
}
代码过多,不便全部放出,获取完整项目,前往
以上就是JAVA实现的CrazyArcade泡泡堂游戏的详细内容,更多关于Java CrazyArcade泡泡堂游戏的资料请关注脚本之家其它相关文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、来自互联网转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系QQ:712375056 进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
Copyright © 2009-2021 56dr.com. All Rights Reserved. 特网科技 特网云 版权所有 珠海市特网科技有限公司 粤ICP备16109289号
域名注册服务机构:阿里云计算有限公司(万网) 域名服务机构:烟台帝思普网络科技有限公司(DNSPod) CDN服务:阿里云计算有限公司 中国互联网举报中心 增值电信业务经营许可证B2
建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站


