温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JAVA如何实现CrazyArcade泡泡堂游戏

发布时间:2021-04-26 12:00:02 来源:亿速云 阅读:224 作者:小新 栏目:开发技术

这篇文章将为大家详细讲解有关JAVA如何实现CrazyArcade泡泡堂游戏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Java有哪些集合类

Java中的集合主要分为四类:1、List列表:有序的,可重复的;2、Queue队列:有序,可重复的;3、Set集合:不可重复;4、Map映射:无序,键唯一,值不唯一。

项目地址

https://github.com/SCNU-A225/CrazyArcade

示例图片

JAVA如何实现CrazyArcade泡泡堂游戏

项目结构

  • 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泡泡堂游戏”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI