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

📄 loadgameresource.java

📁 经典FC游戏《超惑星战记》的J2ME版本!!功能基本上都实现了
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		enemySprite32=new EnemySprite32[0];
		
		/** EnemySprite16 */
		enemySprite16=new EnemySprite16[0];
		
		/**StaticGoods*/
		staticGoods=new StaticGoods[0];
		
		/** Corps */
		corps=new Corps[0];
	}
	
	protected void c11(){
		
		/** EnemySprite32 */
		enemySprite32=null;
		enemySprite32=new EnemySprite32[1];
		/* 石孔雀*/
		enemySprite32[0]=new RockFowl(gm,6*16-Maps.x,8*16-Maps.y);
		/**
		 *  EnemySprite16 
		 */
		enemySprite16=null;
		enemySprite16=new EnemySprite16[4];
		/* 摇杆 */
		enemySprite16[0]=new Rocker(gm,16*16-Maps.x,23*16-Maps.y,false);
		enemySprite16[1]=new Rocker(gm,12*16-Maps.x,23*16-Maps.y,false);
		enemySprite16[2]=new Rocker(gm,9*16-Maps.x,25*16-Maps.y,false);
		enemySprite16[3]=new Rocker(gm,6*16-Maps.x,25*16-Maps.y,false);
		
		
		/**
		 * ---------------Goods-----------------------
		 */
		staticGoods=null;
		staticGoods=new StaticGoods[3];
		staticGoods[0]=new StaticGoods(gm,11*16-Maps.x,4*16-Maps.y,StaticGoods.MISSILE);
		staticGoods[1]=new StaticGoods(gm,11*16-Maps.x,5*16-Maps.y,StaticGoods.GUN);
		staticGoods[2]=new StaticGoods(gm,10*16-Maps.x,5*16-Maps.y,StaticGoods.HOV);
		
		/** Corps */
		corps=new Corps[0];
	}
	
	protected void c12(){
		/** EnemySprite32 */
		enemySprite32=null;
		enemySprite32=new EnemySprite32[0];
		
		/** EnemySprite16 */
		enemySprite16=null;
		enemySprite16=new EnemySprite16[10];
		enemySprite16[0]=new Nut(gm,8*16-Maps.x,34*16-Maps.y);
		enemySprite16[1]=new Nut(gm,9*16-Maps.x,40*16-Maps.y);
		enemySprite16[2]=new Nut(gm,24*16-Maps.x,41*16-Maps.y);
		enemySprite16[3]=new Nut(gm,28*16-Maps.x,34*16-Maps.y);
		/* Frisbeer */
		enemySprite16[4]=new Frisbeer(gm,16*16-Maps.x,7*16-Maps.y);
		enemySprite16[5]=new Frisbeer(gm,15*16-Maps.x,21*16-Maps.y);
		enemySprite16[6]=new Frisbeer(gm,17*16-Maps.x,14*16-Maps.y);
		enemySprite16[7]=new Frisbeer(gm,39*16-Maps.x,5*16-Maps.y);
		enemySprite16[8]=new Frisbeer(gm,40*16-Maps.x,15*16-Maps.y);
		enemySprite16[9]=new Frisbeer(gm,41*16-Maps.x,23*16-Maps.y);
		
		/**Goods*/
		staticGoods=null;
		staticGoods=new StaticGoods[11];
		staticGoods[0]=new StaticGoods(gm,21*16-Maps.x,20*16-Maps.y,StaticGoods.POW);
		staticGoods[1]=new StaticGoods(gm,28*16-Maps.x,20*16-Maps.y,StaticGoods.BOLT);
		staticGoods[2]=new StaticGoods(gm,31*16-Maps.x,18*16-Maps.y,StaticGoods.POW);
		staticGoods[3]=new StaticGoods(gm,40*16-Maps.x,20*16-Maps.y,StaticGoods.SUPERPOW);
		staticGoods[4]=new StaticGoods(gm,41*16-Maps.x,20*16-Maps.y,StaticGoods.POW);
		staticGoods[5]=new StaticGoods(gm,38*16-Maps.x,13*16-Maps.y,StaticGoods.SUPERHOV);
		staticGoods[6]=new StaticGoods(gm,38*16-Maps.x,14*16-Maps.y,StaticGoods.HOV);
		staticGoods[7]=new StaticGoods(gm,34*16-Maps.x,4*16-Maps.y,StaticGoods.POW);
		staticGoods[8]=new StaticGoods(gm,20*16-Maps.x,7*16-Maps.y,StaticGoods.GUN);
		staticGoods[9]=new StaticGoods(gm,9*16-Maps.x,19*16-Maps.y,StaticGoods.GUN);
		staticGoods[10]=new StaticGoods(gm,7*16-Maps.x,4*16-Maps.y,StaticGoods.POW);
		/** Corps */
		corps=null;
		corps=new Corps[0];
	}
	
	protected void c13(){
		/** EnemySprite32 */
		enemySprite32=null;
		enemySprite32=new EnemySprite32[5];
		/* 石孔雀*/
		enemySprite32[0]=new RockFowl(gm,17*16-Maps.x,33*16-Maps.y);
		enemySprite32[1]=new RockFowl(gm,23*16-Maps.x,22*16-Maps.y);
		/* Snoot */
		enemySprite32[2]=new Snoot(gm,14*16-Maps.x,19*16-Maps.y); 
		enemySprite32[3]=new Snoot(gm,10*16-Maps.x,25*16-Maps.y); 
		enemySprite32[4]=new Snoot(gm,3*16-Maps.x,23*16-Maps.y); 
		
		/** EnemySprite16 */
		enemySprite16=null;
		enemySprite16=new EnemySprite16[11];
		/** Nut */
		enemySprite16[0]=new Nut(gm,14*16-Maps.x,25*16-Maps.y);
		enemySprite16[1]=new Nut(gm,14*16-Maps.x,18*16-Maps.y);
		enemySprite16[2]=new Nut(gm,23*16-Maps.x,41*16-Maps.y);
		enemySprite16[3]=new Nut(gm,28*16-Maps.x,38*16-Maps.y);
		enemySprite16[4]=new Nut(gm,19*16-Maps.x,26*16-Maps.y);
		enemySprite16[5]=new Nut(gm,28*16-Maps.x,20*16-Maps.y);
		enemySprite16[6]=new Nut(gm,14*16-Maps.x,5*16-Maps.y);
		/* 摇杆 */
		enemySprite16[7]=new Rocker(gm,19*16-Maps.x,1*16-Maps.y,false);
		enemySprite16[8]=new Rocker(gm,18*16-Maps.x,12*16-Maps.y,false);
		enemySprite16[9]=new Rocker(gm,11*16-Maps.x,1*16-Maps.y,true);
		enemySprite16[10]=new Rocker(gm,10*16-Maps.x,1*16-Maps.y,false);
		
		/**StaticGoods*/
		staticGoods=null;
		staticGoods=new StaticGoods[2];
		staticGoods[0]=new StaticGoods(gm,3*16-Maps.x,4*16-Maps.y,StaticGoods.SUPERGUN);
		staticGoods[1]=new StaticGoods(gm,4*16-Maps.x,5*16-Maps.y,StaticGoods.SUPERHOV);
		/** Corps */
		corps=null;
		corps=new Corps[0];
	}
	
	protected void c14(){
		
		/** EnemySprite32 */
		enemySprite32=null;
		enemySprite32=new EnemySprite32[0];
		
		/** EnemySprite16 */
		enemySprite16=null;
		enemySprite16=new EnemySprite16[18];
		/** Nut */
		enemySprite16[0]=new Nut(gm,43*16-Maps.x,22*16-Maps.y);
		enemySprite16[1]=new Nut(gm,37*16-Maps.x,34*16-Maps.y);
		enemySprite16[2]=new Nut(gm,42*16-Maps.x,37*16-Maps.y);
		enemySprite16[3]=new Nut(gm,18*16-Maps.x,39*16-Maps.y);
		enemySprite16[4]=new Nut(gm,9*16-Maps.x,35*16-Maps.y);
		enemySprite16[5]=new Nut(gm,21*16-Maps.x,31*16-Maps.y);
		enemySprite16[6]=new Nut(gm,16-Maps.x,17*16-Maps.y);
		enemySprite16[7]=new Nut(gm,5*16-Maps.x,16*16-Maps.y);
		enemySprite16[8]=new Nut(gm,14*16-Maps.x,5*16-Maps.y);
		/* Frisbeer */
		enemySprite16[9]=new Frisbeer(gm,29*16-Maps.x,11*16-Maps.y);
		enemySprite16[10]=new Frisbeer(gm,28*16-Maps.x,28*16-Maps.y);
		enemySprite16[11]=new Frisbeer(gm,17*16-Maps.x,35*16-Maps.y);
		enemySprite16[12]=new Frisbeer(gm,17*16-Maps.x,10*16-Maps.y);
		enemySprite16[13]=new Frisbeer(gm,9*16-Maps.x,5*16-Maps.y);
		enemySprite16[14]=new Frisbeer(gm,10*16-Maps.x,33*16-Maps.y);
		/* Rocker*/
		enemySprite16[15]=new Rocker(gm,36*16-Maps.x,25*16-Maps.y,true);
		enemySprite16[16]=new Rocker(gm,38*16-Maps.x,27*16-Maps.y,true);
		enemySprite16[17]=new Rocker(gm,36*16-Maps.x,31*16-Maps.y,true);
		
		/**StaticGoods*/
		staticGoods=null;
		staticGoods=new StaticGoods[12];
		staticGoods[0]=new StaticGoods(gm,35*16-Maps.x,43*16-Maps.y,StaticGoods.SUPERPOW);
		staticGoods[1]=new StaticGoods(gm,12*16-Maps.x,42*16-Maps.y,StaticGoods.GUN);
		staticGoods[2]=new StaticGoods(gm,15*16-Maps.x,40*16-Maps.y,StaticGoods.POW);
		staticGoods[3]=new StaticGoods(gm,15*16-Maps.x,41*16-Maps.y,StaticGoods.HOV);
		staticGoods[4]=new StaticGoods(gm,20*16-Maps.x,28*16-Maps.y,StaticGoods.MISSILE);
		staticGoods[5]=new StaticGoods(gm,8*16-Maps.x,23*16-Maps.y,StaticGoods.GUN);
		staticGoods[6]=new StaticGoods(gm,8*16-Maps.x,24*16-Maps.y,StaticGoods.POW);
		staticGoods[7]=new StaticGoods(gm,8*16-Maps.x,7*16-Maps.y,StaticGoods.GUN);
		staticGoods[8]=new StaticGoods(gm,8*16-Maps.x,8*16-Maps.y,StaticGoods.HOV);
		staticGoods[9]=new StaticGoods(gm,19*16-Maps.x,3*16-Maps.y,StaticGoods.POW);
		staticGoods[10]=new StaticGoods(gm,28*16-Maps.x,11*16-Maps.y,StaticGoods.MISSILE);
		staticGoods[11]=new StaticGoods(gm,28*16-Maps.x,12*16-Maps.y,StaticGoods.HBALL);
		/** Corps */
		corps=null;
		corps=new Corps[0];
	}
	
	protected void c15(){
		/** EnemySprite32 */
		enemySprite32=null;
		enemySprite32=new EnemySprite32[3];
		/* 石孔雀*/
		enemySprite32[0]=new RockFowl(gm,43*16-Maps.x,59*16-Maps.y);
		/* Snoot */
		enemySprite32[1]=new Snoot(gm,38*16-Maps.x,34*16-Maps.y);
		enemySprite32[2]=new Snoot(gm,35*16-Maps.x,19*16-Maps.y);
		
		/** EnemySprite16 */
		enemySprite16=null;
		enemySprite16=new EnemySprite16[11];
		/* 摇杆 */
		enemySprite16[0]=new Rocker(gm,2*16-Maps.x,74*16-Maps.y,true);
		enemySprite16[1]=new Rocker(gm,2*16-Maps.x,76*16-Maps.y,true);
		enemySprite16[2]=new Rocker(gm,10*16-Maps.x,73*16-Maps.y,true);
		enemySprite16[3]=new Rocker(gm,31*16-Maps.x,69*16-Maps.y,true);
		enemySprite16[4]=new Rocker(gm,26*16-Maps.x,68*16-Maps.y,true);
		enemySprite16[5]=new Rocker(gm,31*16-Maps.x,66*16-Maps.y,true);
		enemySprite16[6]=new Rocker(gm,26*16-Maps.x,87*16-Maps.y,false);
		/** Nut */
		enemySprite16[7]=new Nut(gm,20*16-Maps.x,73*16-Maps.y);
		enemySprite16[8]=new Nut(gm,22*16-Maps.x,50*16-Maps.y);
		enemySprite16[9]=new Nut(gm,25*16-Maps.x,56*16-Maps.y);
		enemySprite16[10]=new Nut(gm,36*16-Maps.x,59*16-Maps.y);
		/**StaticGoods*/
		staticGoods=null;
		staticGoods=new StaticGoods[10];
		staticGoods[0]=new StaticGoods(gm,28*16-Maps.x,81*16-Maps.y,StaticGoods.POW);
		staticGoods[1]=new StaticGoods(gm,33*16-Maps.x,83*16-Maps.y,StaticGoods.POW);
		staticGoods[2]=new StaticGoods(gm,38*16-Maps.x,81*16-Maps.y,StaticGoods.SUPERPOW);
		staticGoods[3]=new StaticGoods(gm,34*16-Maps.x,37*16-Maps.y,StaticGoods.SUPERPOW);
		staticGoods[4]=new StaticGoods(gm,38*16-Maps.x,82*16-Maps.y,StaticGoods.GUN);
		staticGoods[5]=new StaticGoods(gm,41*16-Maps.x,73*16-Maps.y,StaticGoods.POW);
		staticGoods[6]=new StaticGoods(gm,41*16-Maps.x,76*16-Maps.y,StaticGoods.POW);
		staticGoods[7]=new StaticGoods(gm,37*16-Maps.x,75*16-Maps.y,StaticGoods.POW);
		staticGoods[8]=new StaticGoods(gm,32*16-Maps.x,63*16-Maps.y,StaticGoods.POW);
		staticGoods[9]=new StaticGoods(gm,42*16-Maps.x,28*16-Maps.y,StaticGoods.POW);
		/** Corps */
		corps=null;
		corps=new Corps[0];
	}
	//根据屏幕的背景的偏移,计算游戏中的Sprite的偏移
	public void objectOffset(){
		//静止坦克坐标修正
		if(!staticTankSprite.isHidden){
			staticTankSprite.x+=TankSprite.bgdx;
			staticTankSprite.y+=TankSprite.bgdy;
		}
		//Tank装置坐标修正
		if(!beam.isHidden){
			beam.x+=TankSprite.bgdx;
			beam.y+=TankSprite.bgdy;
		}
		//16X16 敌人 坐标修正
		for(int i=enemySprite16.length-1;i>=0;i--){
			if(!enemySprite16[i].isHidden){
				enemySprite16[i].x+=TankSprite.bgdx;
				enemySprite16[i].y+=TankSprite.bgdy;
			}
		}
		//32X32 敌人 坐标修正
		for(int i=enemySprite32.length-1;i>=0;i--){
			if(!enemySprite32[i].isHidden){
				enemySprite32[i].x+=TankSprite.bgdx;
				enemySprite32[i].y+=TankSprite.bgdy;
			}
		}
		//爆炸效果 坐标修正
		for(int i=bomb.length-1;i>=0;i--){
			if(!bomb[i].isHidden){
				bomb[i].x+=TankSprite.bgdx;
				bomb[i].y+=TankSprite.bgdy;
			}
		}
		//动态物品 坐标修正
		for(int i=goods.length-1;i>=0;i--){
			if(!goods[i].isHidden){
				goods[i].x+=TankSprite.bgdx;
				goods[i].y+=TankSprite.bgdy;
			}
		}
		//静止物品 坐标修正
		for(int i=staticGoods.length-1;i>=0;i--){
			if(!staticGoods[i].isHidden){
				staticGoods[i].x+=TankSprite.bgdx;
				staticGoods[i].y+=TankSprite.bgdy;
			}
		}
		//Tank 子弹 坐标修正
		for(int i=tankBullet.length-1;i>=0;i--){
			if(!tankBullet[i].isHidden){
				tankBullet[i].x+=TankSprite.bgdx;
				tankBullet[i].y+=TankSprite.bgdy;
			}
		}
		//敌人子弹 坐标修正
		for(int i=enemyBullet.length-1;i>=0;i--){
			if(!enemyBullet[i].isHidden){
				enemyBullet[i].x+=TankSprite.bgdx;
				enemyBullet[i].y+=TankSprite.bgdy;
			}
		}
		
		//动态砖块
		for(int i=corps.length-1;i>=0;i--){
			if(!corps[i].isHidden){
				corps[i].x+=TankSprite.bgdx;
				corps[i].y+=TankSprite.bgdy;
			}
		}
	}

	/** 地图切换 */
	public static boolean joinData;
	public static int data;
	
	public void initData(){
		switch(TankSprite.spriteState){
		case TankSprite.TANK:
			switch(data){
			//Area 1-1 -> Area 1-2
			case 0x09:	
				level(12);
				GameManage.mapIndex=12;
				tankSprite.initOffset(4,9);
				a12();
				System.gc();
				break;
			//Area 1-2 -> Area 1-3,Area 1-1
			case 0x0b:	
				if(tankSprite.isLeft){
					level(11);
					GameManage.mapIndex=11;
					tankSprite.initOffset(10,10);
					a11();
					System.gc();
				}else{
					level(13);
					GameManage.mapIndex=13;
					tankSprite.initOffset(4,8);
					a13();
					System.gc();
				}
				break;
			//Area 1-3 -> Area 1-2 , Area 1-4;
			case 0x0c:
				if(tankSprite.isLeft){
					level(12);
					GameManage.mapIndex=12;
					tankSprite.initOffset(106,29);
					a12();
					System.gc();
				}else{
					level(14);
					GameManage.mapIndex=14;
					tankSprite.initOffset(4,3);
					a14();
					System.gc();
				}
				break;
			//Area 1-4 -> Area 1-3
			case 0x0e:
				level(13);
				GameManage.mapIndex=13;
				tankSprite.initOffset(10,20);
				a13();
				System.gc();
				break;
			//***** -> Area 1-4 , Area 1-5;
			case 0x0d:
				if(tankSprite.isLeft){
					level(15);
					GameManage.mapIndex=15;
					tankSprite.initOffset(10,6);
					a15();
					System.gc();
				}else{
					level(14);
					GameManage.mapIndex=14;
					tankSprite.initOffset(4,34);
					a14();
					System.gc();
				}
				break;
			}
			break;
		/**---------------------------------------*/
		case TankSprite.TANE:
			switch(data){
			// Area 1-4 -> Cave 1-1
			case 0x20:
				level(16);
				GameManage.mapIndex=16;
				TankSprite.spriteState=TankSprite.KANE;
				tankSprite.initOffset(28,24);
				c11();
				System.gc();
				break;
			// Area 1-4 -> Cave 1-2
			case 0x21:
				level(17);
				GameManage.mapIndex=17;
				TankSprite.spriteState=TankSprite.KANE;
				tankSprite.initOffset(3,35);
				c12();
				System.gc();
				break;
			// Area 1-4 -> Cave 1-3	
			case 0x22:
				level(18);
				GameManage.mapIndex=18;
				TankSprite.spriteState=TankSprite.KANE;
				tankSprite.initOffset(4,41);
				c13();
				System.gc();
				break;
			// Area 1-4 -> Cave 1-4	
			case 0x23:
				level(19);
				GameManage.mapIndex=19;
				TankSprite.spriteState=TankSprite.KANE;
				tankSprite.initOffset(42,19);
				c14();
				System.gc();
				break;
			// Area 1-4 -> Cave 1-5		
			case 0x024:
				level(18);
				GameManage.mapIndex=18;
				TankSprite.spriteState=TankSprite.KANE;
				tankSprite.initOffset(4,87);
				c15();
				System.gc();
				break;
			}
			break;
		/**-------------------------------------------------*/
		case TankSprite.KANE:
			switch(data){
			case 0x01:
				tankSprite.initOffset(4,87);	//计算地图偏移
				TankSprite.isBoss=false;		//boss OVER
				break;
			//Cave 1-1 -> Area 1-4;
			case 0x11:	//c1
				level(14);
				GameManage.mapIndex=14;
				TankSprite.spriteState=TankSprite.TANE;
				tankSprite.initOffset(8,23);
				staticTankSprite.setPot(Maps.x, Maps.y);
				a14();
				System.gc();
				break;
			//Cave 1-2 -> Area 1-4;	
			case 0x12:	//c2
				level(14);
				GameManage.mapIndex=14;
				TankSprite.spriteState=TankSprite.TANE;
				tankSprite.initOffset(20,23);
				staticTankSprite.setPot(Maps.x, Maps.y);
				a14();
				System.gc();
				break;
			//Cave 1-3 -> Area 1-4;
			case 0x13:	//c3
				level(14);
				GameManage.mapIndex=14;
				TankSprite.spriteState=TankSprite.TANE;
				tankSprite.initOffset(44,15);
				staticTankSprite.setPot(Maps.x, Maps.y);
				a14();
				System.gc();
				break;
			case 0x14:	//c4
				level(14);
				GameManage.mapIndex=14;
				TankSprite.spriteState=TankSprite.TANE;
				tankSprite.initOffset(4,48);
				staticTankSprite.setPot(Maps.x, Maps.y);
				a14();
				break;
			//Cave 1-5 -> Area 1-4;
			case 0x15:	//c5
				level(14);
				GameManage.mapIndex=14;
				TankSprite.spriteState=TankSprite.TANE;
				tankSprite.initOffset(104,35);
				staticTankSprite.setPot(Maps.x, Maps.y);
				a14();
				System.gc();
				break;
			//Cave 1-5 -> BOSS 1
			case 0x16:
				level(1);
				boss1();
				GameManage.mapIndex=1;
				tankSprite.x=TankGameCanvas.width/2;
				tankSprite.y=TankGameCanvas.height/2;
				break;
			}
			break;
		}
	}
}

	
	

⌨️ 快捷键说明

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