⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 level.java

📁 J2ME开发的手机游戏需要安装诺基亚手机模拟器才能正常运行
💻 JAVA
字号:
package org.gamecollege.j2me.rpg;

import java.util.Hashtable;

/**
 * 游戏关卡 一个游戏存在多个关卡,一个关卡包含多个地图 每个关卡对应一个关卡文件。关卡文件的命名规则是:level[关卡号].lev
 * 例如level0.lev代表编号为0的关卡文件。
 */
public class Level {
	

	//关卡任务描述
	String missionDesc;
	//过关任务类型,比如0表示打老虎。
	int missionType;
	//过关需完成的任务数量,比如在打老虎一关中需杀死的老虎数量
	int missionValue;

	/**
	 * 关卡号
	 */
	int levelNo;

	/**
	 * 关卡名称
	 */

	String name;

	/**
	 * 关卡描述
	 */
	String description;

	/**
	 * tile 宽度
	 */

	int tileWidth;

	/**
	 * tile 高度
	 */

	int tileHeight;

	/**
	 * 关卡中涉及到的Image key:图片文件的编号,Integer对象 value:图片文件对应的Image对象
	 */
	Hashtable allImages;

	/**
	 * 关卡中涉及到的技能 key:技能编号,Integer对象 value:Skill对象
	 */

	Hashtable skills;

	/**
	 * 关卡中涉及到的道具 key:道具编号,Integer对象 value:Property对象
	 */

	Hashtable properties;

	/**
	 * 关卡中涉及到的NPC key:NPC编号,Integer对象 value:NPC对象
	 *  
	 */

	Hashtable npcs;

	/**
	 * 关卡当前地图
	 */
	Map curMap;

	/**
	 * 连接区集合,key:Link对象编号,Integer类型 value:Link对象
	 *  
	 */
	Hashtable links;

	/**
	 * 地图集合。key:地图编号,Integer对象 value:Map对象
	 *  
	 */

	Hashtable maps;
	//关卡中的当前地图号
	int curMapNo;
	

	/**
	 * 利用LevelLoader单例,
	 * 装载解析关卡文件进行关卡初始化
	 *  
	 */
	public void initLevel() {
		LevelLoader.instance.loadLevel(this);

	}
	
	/**
	 * 关卡中进行地图切换的方法
	 * @param linker 触发地图切换动作的地图连接区
	 * @param hero 主角
	 */

	public void changeMap(Linker linker, Player hero) {
		int nextMapId = linker.nextMapID;
		//改变当前地图
		curMap = (Map) this.maps.get(new Integer(nextMapId));
		//根据Linker,改变英雄出现的行和列
		MyRPGGameMIDlet.mc.myPlayer.col = linker.newHeroColNo;
		MyRPGGameMIDlet.mc.myPlayer.row = linker.newHeroRowNo;
		MyRPGGameMIDlet.mc.myPlayer.moveTimes=0;
		
		curMap.heroAppearRow = linker.newHeroRowNo;
		//构建新地图。
		MyRPGGameMIDlet.mc.constructMap();
	}
	
	/**
	 * 根据过关条件,过关任务数量,判断是否过关
	 * @return
	 */
	
	public boolean isCompleted(){
		switch (this.missionType) {
		//打老虎
		case 0:
			if(MyRPGGameMIDlet.mc.killTigerCount>=this.missionValue){
				return true;
			}
			return false;
			

		default:
		   return false;
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -