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

📄 rpg_demo.java

📁 这是本人及团队成员用j2me开发的手机游戏《骑士荣耀》
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
    		vec.removeAllElements();
    		state_Map=MAP_STATE_DIED;
    	}
    	if(Hero.px==150&&Hero.py==296)
    	{
    		duibai_pd++;
    		g.setColor(0x00ffffff);
        	g.drawRect(0,getHeight()-40,getWidth(),40);
        	g.setColor(0x00f3ddaa);
        	g.fillRect(1,getHeight()-39,getWidth()-1,39);
        	g.setColor(0x000000);
        	g.setFont(medium);
        	g.drawString("我,加伊。定能成为勇敢的骑士。",3,getHeight()-37,20);
    	}
    	if(Hero.px>480&&Hero.px<512&&Hero.py>32&&Hero.py<64&&mapindex==MAP_CUNZI)
    	{
    		System.out.println("run h!!!");
    		 To_mapindex=MAP_YANSHI;
    		state_Child=CHILD_STATE_CHANGEMAP;
    		
    	}else if(Hero.px>16*14&&Hero.px<16*17&&Hero.py>16*30&&Hero.py<16*32&&mapindex==MAP_CUNZI)
    	{
    		To_mapindex=MAP_SENLIN;
    		state_Child=CHILD_STATE_CHANGEMAP;
    	}else if(Hero.px>464&&Hero.px<496&&Hero.py>0&&Hero.py<32&&mapindex==MAP_YANSHI)
    	{
    		To_mapindex=MAP_SHAMO;
    		state_Child=CHILD_STATE_CHANGEMAP;
    	}else if(Hero.px>0&&Hero.px<32&&Hero.py>0&&Hero.py<32&&mapindex==MAP_YANSHI)
    	{
    		To_mapindex=MAP_CUNZI;
    		state_Child=CHILD_STATE_CHANGEMAP;
    	}else if(Hero.px>240&&Hero.px<272&&Hero.py>0&&Hero.py<16&&mapindex==MAP_SENLIN)
    	{
    		To_mapindex=MAP_CUNZI;
    		state_Child=CHILD_STATE_CHANGEMAP;
    	}else if(Hero.px>0&&Hero.px<16&&Hero.py>0&&Hero.py<32&&mapindex==MAP_SHAMO)
    	{
    		To_mapindex=MAP_YANSHI;
    		state_Child=CHILD_STATE_CHANGEMAP;
    	}
    }
    public void npc_Judge()
    {
    	
    }
    public void guai_Judge()
    {
    	for(int i=0;i<vec.size();i++)
		{
    		((Enemy)(vec.elementAt(i))).Enemy_display(guai_up, guai_down, guai_left, guai_right, guai_hurt_up,guai_hurt_down,
					guai_hurt_left, guai_hurt_right, guai_walk, Hero.getX(), Hero.getY(), Hero.attack);
	   
		   if(((Enemy)(vec.elementAt(i))).hp<=0)
		   {
		   Hero.exp+=((Enemy)(vec.elementAt(i))).hp_max/2;
		   Hero.money+=((Enemy)(vec.elementAt(i))).hp_max/2;
		   lm.remove(((Enemy)(vec.elementAt(i))));
		   vec.removeElementAt(i);
		   }
		}  
    }
    public void DrawDead()
    {
    	
    }
    public void DrawManssage()
    {
    	g.setColor(0x00ffffff);
    	g.drawRect(0,0,getWidth(),getHeight());
    	g.setColor(0x00ff0000);
    	g.fillRect(0,0,getWidth(),getHeight());
    	g.drawImage(shuxing_Image,0,0,20);
    	//设置信息字体颜色
    	g.setColor(0x00141414);
    	g.fillRect(0,0,getWidth(),getHeight());
    	g.drawImage(shuxing_Image,0,0,20);
    	g.drawString(buffer.append(Hero.lev).toString(),67,25,20);
    	buffer.delete(0, buffer.length());
    	g.drawString(buffer.append(Hero.money).append("金").toString(),109,25,20);
    	buffer.delete(0, buffer.length());
    	g.drawString(buffer.append(Hero.hp).toString(),57,45,20);
    	buffer.delete(0, buffer.length());
    	g.drawString(buffer.append(Hero.mp).toString(),119,45,20);
    	buffer.delete(0, buffer.length());
    	g.drawString(buffer.append(Hero.attack).toString(),57,65,20);
    	buffer.delete(0, buffer.length());
    	g.drawString(buffer.append(Hero.fy).toString(),119,65,20);
    	buffer.delete(0, buffer.length());
    	g.drawString("没到10级,未领取任务。",30,100,20);
    }
    public void stop()
    {
    	if_pause=true;
    }
    public void chang_Map(int form,int to)
    {
    	try {
			lm.remove(tl_BG);
			lm.remove(tl_PZ);
			lm.remove(npc_king);
			lm.remove(npc_tiejiang);
			lm.remove(npc_shangdian);
			for(int i=0;i<vec.size();i++)
				lm.remove((Enemy)vec.elementAt(i));
			//npc_king=null;
			
			tl_BG=null;
			tl_PZ=null;
			vec.removeAllElements();
			switch(form)
			{
			case MAP_CUNZI:
				if(guaiwu_qiulin_Image!=null)
					guaiwu_qiulin_Image=null;
				if(guaiwu_yanshi_Image!=null)
					guaiwu_yanshi_Image=null;
				if(guaiwu_senlin_Image!=null)
					guaiwu_senlin_Image=null;
				if(npc_king_Image!=null)
					npc_king_Image=null;
				if(npc_shangdian_Image!=null)
					npc_shangdian_Image=null;
				if(npc_tiejiang_Image!=null)
					npc_tiejiang_Image=null;
			
				
			    break;
			case MAP_YANSHI:
				if(guaiwu_qiulin_Image!=null)
					guaiwu_qiulin_Image=null;
				if(guaiwu_yanshi_Image!=null)
					guaiwu_yanshi_Image=null;
				if(guaiwu_senlin_Image!=null)
					guaiwu_senlin_Image=null;
				if(npc_king_Image!=null)
					npc_king_Image=null;
				if(npc_shangdian_Image!=null)
					npc_shangdian_Image=null;
				if(npc_tiejiang_Image!=null)
					npc_tiejiang_Image=null;
				break;
			case MAP_SHAMO:
				if(guaiwu_qiulin_Image!=null)
					guaiwu_qiulin_Image=null;
				if(guaiwu_yanshi_Image!=null)
					guaiwu_yanshi_Image=null;
				if(guaiwu_senlin_Image!=null)
					guaiwu_senlin_Image=null;
				if(npc_king_Image!=null)
					npc_king_Image=null;
				if(npc_shangdian_Image!=null)
					npc_shangdian_Image=null;
				if(npc_tiejiang_Image!=null)
					npc_tiejiang_Image=null;
				if(boss_Image!=null)
					boss_Image=null;
				break;
			case MAP_SENLIN:
				if(guaiwu_qiulin_Image!=null)
					guaiwu_qiulin_Image=null;
				if(guaiwu_yanshi_Image!=null)
					guaiwu_yanshi_Image=null;
				if(guaiwu_senlin_Image!=null)
					guaiwu_senlin_Image=null;
				if(npc_king_Image!=null)
					npc_king_Image=null;
				if(npc_shangdian_Image!=null)
					npc_shangdian_Image=null;
				if(npc_tiejiang_Image!=null)
					npc_tiejiang_Image=null;
				break;
			}
			System.gc();
			switch(to)
			{
			case MAP_CUNZI:
				Hero.px=496;
				Hero.py=32;
				viewWindowX=Hero.px-SCREEN_WIDTH;
				viewWindowY=Hero.py-32;
				try {
					guaiwu_yanshi_Image=Image.createImage("/yanshi.png");
					//guaiwu_qiulin_Image=Image.createImage("/qiulin.png");
					//boss_Image=Image.createImage("/boss.png");
				} catch (IOException e1) {
					// TODO 自动生成 catch 块
					e1.printStackTrace();
				}
				try 
				{
					player.stop();
					player.close();
					is=getClass().getResourceAsStream("/map1.mid");
					player=Manager.createPlayer(is,"audio/midi");
					player.realize();
					player.setLoopCount(-1);
					player.start();
				} 
				catch (MediaException e) 
				{
					e.printStackTrace();
				}
				catch (IOException e)
				{
					e.printStackTrace();
				}
				cunzi=new Map_cuizi();
				bg=cunzi.BG_cell;
				pz=cunzi.PZ_cell;
				cunzi=null;
				mapindex=MAP_CUNZI;
				vec.addElement(new Enemy(guaiwu_yanshi_Image,32,32,1,5,0,50,Hero.spend_Move-1,368,128,"丘陵怪"));
		    	vec.addElement(new Enemy(guaiwu_yanshi_Image,32,32,1,5,0,50,Hero.spend_Move-1,400,240,"丘陵怪"));
		    	vec.addElement(new Enemy(guaiwu_yanshi_Image,32,32,1,5,0,50,Hero.spend_Move-1,192,112,"丘陵怪"));
		    	vec.addElement(new Enemy(guaiwu_yanshi_Image,32,32,1,5,0,50,Hero.spend_Move-1,112,16,"丘陵怪"));
		    	vec.addElement(new Enemy(guaiwu_yanshi_Image,32,32,1,5,0,50,Hero.spend_Move-1,320,16,"丘陵怪"));
		    	vec.addElement(new Enemy(guaiwu_yanshi_Image,32,32,1,5,0,50,Hero.spend_Move-1,476,272,"丘陵怪"));
		    	vec.addElement(new Enemy(guaiwu_yanshi_Image,32,32,1,5,0,50,Hero.spend_Move-1,80,80,"丘陵怪"));
		    	vec.addElement(new Enemy(guaiwu_yanshi_Image,32,32,1,5,0,50,Hero.spend_Move-1,208,16,"丘陵怪"));
		    	vec.addElement(new Enemy(guaiwu_yanshi_Image,32,32,1,5,0,50,Hero.spend_Move-1,416,80,"丘陵怪"));
		    	for(int i=0;i<vec.size();i++)
					lm.insert((Enemy)vec.elementAt(i), 1);
				tl_BG=new TiledLayer(32,32,map_cunzi_Image,16,16);
				tl_PZ=new TiledLayer(32,32,map_cunzi_Image,16,16);
				Hero.setPosition(480,32);
				break;
			case MAP_SHAMO:
				//lm.setViewWindow(Hero.getX(),Hero.getY(),SCREEN_WIDTH,SCREEN_HEIGHT);
				Hero.px=16;
				Hero.py=32;
				viewWindowX=Hero.px-16;
				viewWindowY=Hero.py-32;
				try {
					guaiwu_yanshi_Image=Image.createImage("/yanshi.png");
					guaiwu_qiulin_Image=Image.createImage("/qiulin.png");
					boss_Image=Image.createImage("/boss.png");
				} catch (IOException e1) {
					// TODO 自动生成 catch 块
					e1.printStackTrace();
				}
				try 
				{
					player.stop();
					player.close();
					is=getClass().getResourceAsStream("/menu.mid");
					player=Manager.createPlayer(is,"audio/midi");
					player.realize();
					player.setLoopCount(-1);
					player.start();
				} 
				catch (MediaException e) 
				{
					e.printStackTrace();
				}
				catch (IOException e)
				{
					e.printStackTrace();
				}
				shamo=new Map_shamo();
				bg=shamo.BG_cell;
				pz=shamo.PZ_cell;
				shamo=null;
				mapindex=MAP_SHAMO;
				vec.addElement(new Enemy(boss_Image,32,32,2,20,5,250,Hero.spend_Move-1,208,192,"岩石怪"));
				vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,2,7,0,50,Hero.spend_Move-1,32,208,"岩石怪"));
				vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,2,7,0,50,Hero.spend_Move-1,0,144,"岩石怪"));
				vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,2,7,0,50,Hero.spend_Move-1,48,96,"岩石怪"));
				vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,2,7,0,50,Hero.spend_Move-1,96,32,"岩石怪"));
				vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,2,7,0,50,Hero.spend_Move-1,224,48,"岩石怪"));
				vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,2,7,0,50,Hero.spend_Move-1,160,128,"岩石怪"));
				for(int i=0;i<vec.size();i++)
					lm.insert((Enemy)vec.elementAt(i), 1);
				tl_BG=new TiledLayer(15,15,map_cunzi_Image,16,16);
				tl_PZ=new TiledLayer(15,15,map_cunzi_Image,16,16);
				Hero.setPosition(16,16);
				//System.out.println("   "+Hero.getX());
				//System.out.println(Hero.getY());
				/*
				//System.out.println(Hero.getFrameSequenceLength());
				Hero.setFrameSequence(moveright);
				Hero.setFrame(3);*/
				break;
			case MAP_YANSHI:
				Hero.px=16;
				Hero.py=32;
				viewWindowX=Hero.px-16;
				viewWindowY=Hero.py-32;
				System.out.println("++++"+Hero.px);
				System.out.println("----"+Hero.py);
				    try {
						guaiwu_yanshi_Image=Image.createImage("/yanshi.png");
						guaiwu_qiulin_Image=Image.createImage("/qiulin.png");
					} catch (IOException e1) {
						// TODO 自动生成 catch 块
						e1.printStackTrace();
					}
					try 
					{
						player.stop();
						player.close();
						is=getClass().getResourceAsStream("/map3.mid");
						player=Manager.createPlayer(is,"audio/midi");
						player.realize();
						player.setLoopCount(-1);
						player.start();
					} 
					catch (MediaException e) 
					{
						e.printStackTrace();
					}
					catch (IOException e)
					{
						e.printStackTrace();
					}
//					if(npc_king!=null)
//						npc_king=null;
					yanshi=new Map_yanshi();
					bg=yanshi.BG_cell;
					pz=yanshi.PZ_cell;
					yanshi=null;
					npc_Name_king="";
					npc_Name_tiejiang="";
					npc_Name_shangdian="";
					mapindex=MAP_YANSHI;
					
					vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,1,5,0,50,Hero.spend_Move-1,128,32,"岩石怪"));
					vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,1,5,0,50,Hero.spend_Move-1,224,64,"岩石怪"));
					vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,1,5,0,50,Hero.spend_Move-1,320,16,"岩石怪"));
					vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,1,5,0,50,Hero.spend_Move-1,416,32,"岩石怪"));
					vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,1,5,0,50,Hero.spend_Move-1,368,96,"岩石怪"));
					vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,1,5,0,50,Hero.spend_Move-1,304,208,"岩石怪"));
					vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,1,5,0,50,Hero.spend_Move-1,480,128,"岩石怪"));
					vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,1,5,0,50,Hero.spend_Move-1,432,256,"岩石怪"));
					vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,1,5,0,50,Hero.spend_Move-1,288,288,"岩石怪"));
					vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,1,5,0,50,Hero.spend_Move-1,143,304,"岩石怪"));
					vec.addElement(new Enemy(guaiwu_qiulin_Image,32,32,1,5,0,50,Hero.spend_Move-1,128,432,"岩石怪"));
					for(int i=0;i<vec.size();i++)
						lm.insert((Enemy)vec.elementAt(i), 1);
					tl_BG=new TiledLayer(32,32,map_cunzi_Image,16,16);
					tl_PZ=new TiledLayer(32,32,map_cunzi_Image,16,16);
					//System.out.println("   "+Hero.getX());
					//System.out.println(Hero.getY());
					Hero.setPosition(16,32);
					/*Hero.setPosition(16,32);
					//System.out.println(Hero.getFrameSequenceLength());
					Hero.setFrameSequence(moveright);
					Hero.setFrame(3);*/
				break;
			case MAP_SENLIN:
				Hero.px=242;
				Hero.py=32;
				viewWindowX=Hero.px-16;
				viewWindowY=Hero.py-32;
				try {
						guaiwu_qiulin_Image=Image.createImage("/qiulin.png");
						guaiwu_senlin_Image=Image.createImage("/senlin.png");
					} catch (IOException e) {
						// TODO 自动生成 catch 块
						e.printStackTrace();
					}
					try 
					{
						player.stop();
						player.close();
						is=getClass().getResourceAsStream("/map2.mid");
						player=Manager.createPlayer(is,"audio/midi");

⌨️ 快捷键说明

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