JAVA实现的CrazyArcade泡泡堂游戏

发布时间:2021-07-06 11:12 来源:脚本之家 阅读:0 作者:JiangJian1998 栏目: 开发技术

目录

      项目地址

      示例图片

      项目结构

      • frame:包含如开始、游戏中、结束的JFrame
      • main:包含程序入口和其它游戏控制
      • model:
        • model.loader:包含资源加载器用于读取配置文件等信息,使用了单例设计模式
        • model.manager:包含元素管理器、工厂等,用于控制游戏各元素
        • model.vo:各种实体类,包括玩家、NPC、炸弹、方块等等
      • pro:配置文件目录,包含人物、道具、地图、方块、游戏设置等配置文件
      • thread:配合游戏一起执行的各种线程,如音乐、键盘监听、游戏控制等
      • utiil:工具包

      机器人

      为了尽量复原泡泡堂游戏,我们初步实现了机器人功能。该机器人可以判断障碍物释放炸弹、规避炸弹、攻击玩家。目前该机器人仍存在一些小问题,比如某些情况会卡住不动

      平滑碰撞

      人物在拐角处移动的时候经常不是刚好对齐的状态,程序会判定玩家碰撞了障碍物所以导致玩家无法拐弯。所以我们在处理这种情况的时候,会让玩家进行平滑的移动使得玩家看上去是滑进去的,增强玩家游戏体验

      其它特性

      •  音乐
      •  使用配置文件扩展游戏
      •  道具
      •  单/双人模式

      使用

      打包文件

      如果您仅是想试玩该泡泡堂游戏,那么可以选择以下方式获得打包文件夹,并执行其中的CrazyArcade.jar文件

      注意:无论您使用哪种方式,在运行程序之前请确保您安装了JRE环境

      • ,并解压缩
      • 克隆或下载该项目,打开RELEASE->DIST文件夹

      项目文件

      如果您是想获取该项目源代码进行参考、学习或者修改,可以按以下步骤进行

      1. 使用git克隆或直接下载该项目
      2. 使用Eclipse等导入该Java项目
      3. 由于编译使用的Java版本可能不一致,如果提示错误请根据您电脑的环境修改项目配置
      4. 编译并运行GameStart.java游戏入口文件

      声明

      该项目是练习项目,没有参与任何商业行为。

      主要代码

      游戏启动入口

        
      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 进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。