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

📄 npcsprite.java

📁 利用J2ME复刻FC经典RPG游戏<<重装机兵>>,基本实现了 该游戏的所有功能,如碰撞探测,地图转换,NPC对话,商店处理, 事件处理,横版回合制战斗系统,随机遇敌,并根
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	public void talk(Graphics g){

		String talk = "";
		int CharacterNumber = 120 / g.getFont().charWidth('夏');
		Vector vector = getSubsection(talk,CharacterNumber);

		switch(mapID){

		case WORLD_MAP:

			break;

		case LADUO_MAP:

			switch(npcID){

			case 0:

				talk = "欢迎到拉多镇!";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180 - 52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}		

				break;

			case 1:

				talk = "出色的勇士都到北方去了";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180  -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}		

				break;		

			case 2:

				talk = "战车不能开进村子,只要这个规定还在.即使是勇士,也不例外!";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180  -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}	

				break;

			case 3:

				talk = "山洞里的战车是一个叫红狼的勇士发现的";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180  -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}		

				break;

			case 4:

				talk = "见过住在那里的明齐博士吗?";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180  -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}		

				break;

			}
			break;

		case ZHUJUE_1F_MAP:

			switch(npcID){

			case 0:

				talk = "爸爸:怎么.是你呀!干吗回来了?";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180  -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}		

				break;

			case 1:

				talk = "这里是废弃铁屑处理场";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180  -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}		

				break;

			case 2:

				g.drawString("这里是勇士", 70, 180  -52, Graphics.LEFT|Graphics.TOP);
				g.drawString("财产保管处!", 70, 180  -52, Graphics.LEFT|Graphics.TOP);

				break;

			case 3:

				g.drawString("欢迎光临战车店", 70, 180  -52, Graphics.LEFT|Graphics.TOP);
				g.drawString("补充甚么?", 70, 180  -40, Graphics.LEFT|Graphics.TOP);

				break;

			case 4:

				talk = "装甲片如果为0的话战车还可以使用但如果受到攻击战车就会损坏.";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180  -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}		

				break;

			}
			break;

		case ZHUJUE_2F_MAP:

			switch(npcID){

			case 0:

				talk = "姐姐:Izaul终于回来了";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180  -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}		

				break;

			}

			break;

		case LADUO_SHANGJIN_MAP:

			switch(npcID){

			case 0:

				g.drawString("这里是探险家们", 70, 180  -52, Graphics.LEFT|Graphics.TOP);
				g.drawString("战斗记录的存储中心.", 70, 180  -40, Graphics.LEFT|Graphics.TOP);

				break;

			case 1:

				talk = "如果发现自动售货机就上前检查一下.";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180  -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}		

				break;

			case 2:

				g.drawString("欢迎光临", 70, 180  -52, Graphics.LEFT|Graphics.TOP);
				g.drawString("勇士办事处.", 70, 180  -40, Graphics.LEFT|Graphics.TOP);

				break;

			case 3:

				talk = "勇士把干掉怪物作为赚钱的途径!";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180 -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}		

				break;

			case 4:

				talk = "战车上只能坐一人,如果有了同伴的话,要考虑好谁坐战车谁步行?";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180 -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}

				break;
			}

			break;

		case LADUO_HEROITEM_MAP:


			switch(npcID){

			case 0:

				talk = "装备和工具可以分别带着.如果步行去外面应该买一点参丸.";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180 -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}

				break;

			case 1:

				talk = "武器和防具没有装备,等于一堆废品.";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180 -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}

				break;

			case 2:

				g.drawString("欢迎光临", 70, 180 -52, Graphics.LEFT|Graphics.TOP);
				g.drawString("武器店.", 70, 180 -40, Graphics.LEFT|Graphics.TOP);

				break;

			case 3:

				g.drawString("请进人类", 70, 180 -52, Graphics.LEFT|Graphics.TOP);
				g.drawString("工具店.", 70, 180 -40, Graphics.LEFT|Graphics.TOP);

				break;
			}

			break;

		case LADUO_BAR_MAP:

			switch(npcID){

			case 0:

				talk = "你听说过驾驶着红色战车的勇士的传闻吗?";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180 -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}

				break;

			case 1:

				talk = "那辆被鲜血染红的战车.连勇士们都感到畏惧..他是位赏金杀手.名叫红狼..";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180 -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}

				break;

			case 2:

				talk = "咦?人活着的目的?你自己去找答案吧!";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180 -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}

				break;

			case 3:

				g.drawString("喝点什么?", 70, 180 -52, Graphics.LEFT|Graphics.TOP);

				break;

			case 4:

				talk = "你看那被战火毁灭的世界!这个世界就是以去过多远的地方," +
				"见过多少人,来衡量一个人的人生价值.";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180 -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}

				break;

			}

			break;

		case LADUO_INN_MAP:

			switch(npcID){

			case 0:

				g.drawString("洞穴里有恶狗 - -", 70, 180 -52, Graphics.LEFT|Graphics.TOP);

				break;

			case 1:

				g.drawString("欢迎光临.", 70, 180 -52, Graphics.LEFT|Graphics.TOP);
				g.drawString("旅馆", 70, 180 -40, Graphics.LEFT|Graphics.TOP);		    	

				break;

			case 2:

				g.drawString("治疗麻木的气功按摩", 70, 180 -52, Graphics.LEFT|Graphics.TOP);
				g.drawString("要试一下么?", 70, 180 -40, Graphics.LEFT|Graphics.TOP);

				break;

			case 3:

				talk = "要想成为勇士.还得靠战车帮助啊!";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180 -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}

				break;

			}
			break;

		case LADUO_CHUANSONG_MAP:


			switch(npcID){

			case 0:

				talk = "这里以前叫时空隧道.可以把人带到很远的地方.";

				vector = getSubsection(talk,CharacterNumber);

				for(int i = 0; i < vector.size(); i++){

					g.drawString((String)vector.elementAt(i), 70, 180 -52 + 10*i, Graphics.LEFT|Graphics.TOP);
				}

				break;

			}
			break;

		case LADUO_MINGQI_MAP:

			switch(npcID){

			case 0:

				g.drawString("明齐:我是天才", 70, 180 -52, Graphics.LEFT|Graphics.TOP);
				g.drawString("科学家", 70, 180 -40, Graphics.LEFT|Graphics.TOP);
				g.drawString("明齐博士.", 70, 180 -30, Graphics.LEFT|Graphics.TOP);		    	

				break;

			case 1:

				g.drawString("一夫:没法救,没法救.", 70, 180 -52, Graphics.LEFT|Graphics.TOP);

				break;

			case 2:

				g.drawString("恩.", 70, 180 -52, Graphics.LEFT|Graphics.TOP);

				break;				   

			}
			break;
		}

	}

	public Vector getSubsection(String str, int CharacterNumber){

		Vector vector = new Vector();

		while(!str.equals("")){

			if(str.length() > CharacterNumber){

				vector.addElement(str.substring(0, CharacterNumber));
				str = str.substring(CharacterNumber);
			}else {

				vector.addElement(str);
				str = "";
			}
		}

		return vector;
	}
	
}

⌨️ 快捷键说明

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