亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mapmanager.java

?? 此為一款基于J2ME的手機游戲
?? JAVA
字號:
/**********************************************************
  
 File name:MapManager.java
 
 Author:夏文濤
 
 Version:Beta1.0
 
 Data:2007/10/16
  
 Description:
 
    地圖數據的讀取和相應的處理.
    
 Function List:
 
    1.createTiledLayerByForeground(Image,int)   創建前景層.
    2.createTiledLayerByBackground(Image,int)   創建背景層.
    3.getBackg()                                獲取背景元素.
    4.creatMap(Image,String,int,int)            創建地圖.

 *********************************************************/

package com.Izual.MetalMax;

import javax.microedition.lcdui.game.TiledLayer;
import javax.microedition.lcdui.Image;

import java.io.IOException;
import java.io.InputStream;


public class MapManager implements IData{

	/*地圖編號*/
	public int stage = 0;
	
	/*地圖大小,暫時沒用*/
	public static int screenWidth = 240;
	public static int screenHeight = 240;
	
	/*英雄在地圖的初始位置,暫時沒用*/
	public static int heroPx = 0;
	public static int heroPy = 0;
	
	/*空構造函數*/
	public MapManager() {
		// TODO 自動生成構造函數存根
				
	}

	/*************************************************
	Function: createTiledLayerByForeground(Image,int)
	
	Description: 根據地圖編號創建相應地圖的前景圖層
	
	Calls: creatMap(Image,String,int,int);
	
	Called By: MetalMaxCanvas.java
	
	Input: image:創建地圖所需的圖片資源;newstage:新的地圖編號
	
	Output: 無
	
	Return: 創建好的前景圖層
	
	Others: 無
	*************************************************/
	
	public  TiledLayer createTiledLayerByForeground(Image image,int newstage) {
		
		/*要返回的圖層*/
		TiledLayer tiledLayer = null;
		
		/*更新地圖編號*/
		this.stage = newstage;
		
		/*更具不同的地圖編號創建不同的地圖*/
		switch(newstage){
                    
		case WORLD_MAP :
			
			tiledLayer = creatMap(image,"/map/f_mmmap.txt",15,15);
			
			break;
		
		case LADUO_MAP:

			tiledLayer = creatMap(image,"/map/f_mm_laduo.txt",17,26);
			
			break;
			
		case ZHUJUE_1F_MAP:

			tiledLayer = creatMap(image,"/map/f_mm_zhujue_1f.txt",18,18);
			
			break;
			
		case ZHUJUE_2F_MAP:

			tiledLayer = creatMap(image,"/map/f_mm_zhujue_2f.txt",16,12);
	
			break;
			
		case LADUO_BAR_MAP:

			tiledLayer = creatMap(image,"/map/f_mm_laduo_bar.txt",16,16);
			
			break;
			
		case LADUO_CHUANSONG_MAP:
			
			tiledLayer = creatMap(image,"/map/f_mm_laduo_chuansong.txt",16,16);
			
			break;
			
		case LADUO_HEROITEM_MAP:
			
			tiledLayer = creatMap(image,"/map/f_mm_laduo_heroitem.txt",14,14);
			
			break;
			
		case LADUO_INN_MAP:
			
			tiledLayer = creatMap(image,"/map/f_mm_laduo_inn.txt",18,16);
			
			break;
			
		case LADUO_MINGQI_MAP:
			
			tiledLayer = creatMap(image,"/map/f_mm_laduo_mingqi.txt",22,19);
			
			break;
			
		case LADUO_SHANGJIN_MAP:
			
			tiledLayer = creatMap(image,"/map/f_mm_laduo_shangjin.txt",16,16);
			
			break;
		
		case TANK1_1F_MAP:
			
			tiledLayer = creatMap(image,"/map/f_mm_tank1_1f.txt",21,21);
			
			break;
		

		case TANK1_2F_MAP:
			
			tiledLayer = creatMap(image,"/map/f_mm_tank1_2f.txt",36,50);
			
			break;

		case TANK1_3F_MAP:
	
			tiledLayer = creatMap(image,"/map/f_mm_tank1_3f.txt",32,48);
			
			break;
			
		default :
			break;
		}
	
		return tiledLayer;
	}
	
	/*************************************************
	Function: createTiledLayerByBackground(Image,int)
	
	Description: 根據地圖編號創建相應地圖的背景圖層
	
	Calls: creatMap(Image,String,int,int);
	
	Called By: MetalMaxCanvas.java
	
	Input: image:創建地圖所需的圖片資源;newstage:新的地圖編號
	
	Output: 無
	
	Return: 創建好的背景圖層
	
	Others: 無
	*************************************************/
	
	public TiledLayer createTiledLayerByBackground(Image image,int newstage) {
		
		TiledLayer tiledLayer = null;
		
		this.stage = newstage;
		
		switch(newstage){
		
		case WORLD_MAP: 
			
			tiledLayer = creatMap(image,"/map/b_mmmap.txt",15,15);
			break;
			
		case LADUO_MAP:
								
			tiledLayer = creatMap(image,"/map/b_mm_laduo.txt",17,26);
			
			break;
			
		case ZHUJUE_1F_MAP:
			
			tiledLayer = creatMap(image,"/map/b_mm_zhujue_1f.txt",18,18);
			
			break;
			
		case ZHUJUE_2F_MAP:
		
			tiledLayer = creatMap(image,"/map/b_mm_zhujue_2f.txt",16,12);
			
			break;
			
		case LADUO_BAR_MAP:
			
			tiledLayer = creatMap(image,"/map/b_mm_laduo_bar.txt",16,16);
						
			break;			

		case LADUO_CHUANSONG_MAP:
			
			tiledLayer = creatMap(image,"/map/b_mm_laduo_chuansong.txt",16,16);
			
			break;
			
		case LADUO_HEROITEM_MAP:
			
			tiledLayer = creatMap(image,"/map/b_mm_laduo_heroitem.txt",14,14);
			
			break;
			
		case LADUO_INN_MAP:

			tiledLayer = creatMap(image,"/map/b_mm_laduo_inn.txt",18,16);
			
			break;
			
		case LADUO_MINGQI_MAP:

			tiledLayer = creatMap(image,"/map/b_mm_laduo_mingqi.txt",22,19);
			
			break;
			
		case LADUO_SHANGJIN_MAP:
			
			tiledLayer = creatMap(image,"/map/b_mm_laduo_shangjin.txt",16,16);
			
			break;
			
		case TANK1_1F_MAP:
			
			tiledLayer = creatMap(image,"/map/b_mm_tank1_1f.txt",21,21);
			break;

	    /*為了節省資源,Tank1洞穴的2層和3層的背景暫時設為沙地*/
		case TANK1_2F_MAP:

			tiledLayer = new TiledLayer(50, 36, image, 16, 16);
			for (int i = 0; i < 50; i++)
				for (int j = 0; j < 36; j++)
					tiledLayer.setCell(i, j, 10);
			
			break;

		case TANK1_3F_MAP:
	
			tiledLayer = new TiledLayer(48, 32, image, 16, 16);
			for (int i = 0; i < 48; i++)
				for (int j = 0; j < 32; j++)
					tiledLayer.setCell(i, j, 10);
			
			break;
		
		default: 
			break;
		}
					
		return tiledLayer;
	}
	
	/*獲取背景信息,只是世界地圖的信息*/
	public int getBackg(int x, int y){
		
		byte mBackMap_worldMap[][] = {
				
				{ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 },
				{ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 },
				{ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 },
				{ 13, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 },
				{ 13, 13, 13, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 },
				{ 13, 13, 13, 13, 10, 10, 10, 13, 13, 10, 10, 10, 10, 10, 10 },
				{ 13, 13, 13, 13, 13, 10, 13, 14, 13, 13, 13, 10, 10, 10, 10 },
				{ 13, 13, 13, 13, 13, 10, 14, 2, 2, 13, 13, 13, 13, 10, 10 },
				{ 13, 13, 13, 13, 13, 10, 10, 13, 2, 2, 13, 13, 13, 13, 13 },
				{ 13, 13, 13, 13, 13, 13, 10, 13, 13, 13, 13, 13, 13, 13, 13 },
				{ 13, 13, 13, 13, 13, 13, 13, 10, 13, 13, 13, 13, 13, 13, 13 },
				{ 13, 13, 13, 13, 13, 13, 13, 10, 13, 13, 13, 13, 13, 10, 13 },
				{ 13, 13, 13, 13, 13, 13, 13, 10, 10, 10, 10, 10, 9, 9, 9 },
				{ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 10, 9, 9, 9, 9 },
				{ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 9, 9, 9 }
			};
		return mBackMap_worldMap[y][x];
	}
	
	/*************************************************
	Function: creatMap(Image,String,int,int)
	
	Description: 根據存儲在外部的地圖信息創建地圖
	
	Calls: TiledLayer(int,int,Image,int,int);
	       getResourceAsStream(String); 
	
	Called By: createTiledLayerByForeground(Image,int)
	           createTiledLayerByBackground(Image,int)
	
	Input: image:創建地圖所需的圖片資源;
	       filePath:地圖數據存放的路徑
	       row:地圖的行數
	       col:地圖的列數
	
	Output: 無
	
	Return: 創建好的地圖圖層
	
	Others: 無
	*************************************************/
	
	public TiledLayer creatMap(Image image,String filePath,int row,int col){
		
		/*輸入流*/
		InputStream is = null;
		
		/*要創建的圖層*/
		TiledLayer tiledLayer = null;
		
		/*根據行列數創建圖層*/
		tiledLayer = new TiledLayer(col, row, image, 16, 16);
		
		/*獲取外部文件信息*/
		is = getClass().getResourceAsStream(filePath);
		
		try{
			
			/*從地圖文件中讀取的數據*/
			int ch = -1;
			
			/*圖塊最大編號不會超過三位數,構建一個長度為3的數組存放圖塊編號*/
			int num[] = {-1,-1,-1};
			
			/*控制圖塊數據存放在數組里的位置,填入順序為num[0],num[1],nm[2]*/
			int j = 0;
			
			/*num[]數組里不為0的數字的個數*/
			int count = 0;
			
			/*循環row * col次讀取地圖文件的數據*/
			for( int nRow = 0; nRow < row; nRow ++ )
			{
				for( int nCol = 0; nCol < col;)
				{
					/*每次循環ch初始值設置為-1,使之能正常進入while()循環*/
					ch = -1;
					
					/*當讀出的不是文件結束符號-1時,讀取地圖文件數據*/
					while(ch < 0)
					{
						/*ch為輸入流從地圖文件中讀入的一位文件數據的ASCII值*/
						ch = is.read();

						/*如果是文件結束符號,退出循環*/
						if( ch == -1 ){
							
							break;
						}
						
						/*ch減去字符0的ASCII值,獲得的就是實際的地圖文件存儲數據*/
						ch = ch - '0';
						
						/*如果讀出的數據大于0,則寫入num[]數組相應的位置*/
						if(ch >= 0){
							
							num[j] = ch;
							j++;
						}
						
						/*如果讀取的是數據的分隔符",",表示已經讀完一個地圖數據*/
						if(ch == -4){
							
							/*計算num[]數組中不為0的數的個數*/
							for(int i = 0; i < 3; i++){
								
								if(num[i] != -1){
									
									count ++;
								}
							}
							
							/*如果只有一個數不為0,則它肯定是個位*/
							if(count == 1){
								
								ch = num[0];
							}
							
							/*如果有兩個數不為0,則先讀入的是十位,后讀入的是個位*/
							if(count == 2){
								
								ch = num[0]*10 + num[1];
							}
							
							/*如果都不為0,則先讀入的是百位,然后是十位和個位*/
							if(count == 3){
								
								ch = num[0]*100 + num[1]*10 + num[2];
							}
							
							/*根據更新過ch值進行圖層填充*/
							tiledLayer.setCell(nCol, nRow, ch);
							
							/*填充完畢后,記錄用的數據復原,列數增加,開始讀下一個數據*/
							num[0] = -1;
							num[1] = -1;
							num[2] = -1;
							nCol ++;
							j = 0;
							count = 0;
						}

					}
					
				}
			}
			/*關閉輸入流*/
			is.close();
		}
		catch (IOException e){}	
		
		/*返回填充完畢的圖層*/
		return tiledLayer;
	}
   
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品美女久久久久av爽李琼| 日韩免费观看高清完整版| 久久国产精品免费| 日本亚洲视频在线| 免费一级欧美片在线观看| 一区二区三区日韩精品| 亚洲色图欧洲色图婷婷| 亚洲色图19p| 亚洲黄色小视频| 亚洲一卡二卡三卡四卡| 亚洲一区二区三区不卡国产欧美| 亚洲一区免费视频| 日本在线不卡视频一二三区| 久久精品国产99国产| 国产一区 二区| 97久久精品人人澡人人爽| 99久久精品久久久久久清纯| 97久久精品人人爽人人爽蜜臀| 日本道色综合久久| 欧美一区二区精品久久911| 久久久久久久性| 中文字幕一区二区在线播放| 伊人一区二区三区| 欧美aaa在线| 国产成人精品午夜视频免费| 99久久国产综合精品麻豆| 在线免费观看日本一区| 欧美成人福利视频| 亚洲色图19p| 日本视频中文字幕一区二区三区| 裸体歌舞表演一区二区| 波多野结衣中文一区| 制服丝袜激情欧洲亚洲| 亚洲国产精品99久久久久久久久| 亚洲国产精品成人综合| 日本欧美韩国一区三区| 粉嫩高潮美女一区二区三区| 欧美主播一区二区三区| 久久久精品免费免费| 亚洲一级不卡视频| 国产不卡免费视频| 色久综合一二码| 欧美一区二区精品| 国产精品入口麻豆原神| 日韩av中文字幕一区二区| 成人18精品视频| 欧美刺激午夜性久久久久久久| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 日韩影院精彩在线| 色婷婷久久久久swag精品| 精品国产自在久精品国产| 亚洲夂夂婷婷色拍ww47 | 97aⅴ精品视频一二三区| 欧美精品三级在线观看| 亚洲欧美日韩一区二区 | 91在线视频观看| xnxx国产精品| 日韩成人精品在线| 欧美三级视频在线观看| 亚洲乱码国产乱码精品精小说| 国产精品羞羞答答xxdd | 成人动漫一区二区三区| 日韩欧美一区二区三区在线| 亚洲一区二区三区四区不卡 | 亚洲成人午夜影院| 色婷婷综合久久久中文一区二区| 国产网站一区二区| 极品少妇xxxx精品少妇| 欧美一级夜夜爽| 日韩高清不卡在线| 91精品国产91久久综合桃花| 亚洲午夜免费福利视频| 97国产一区二区| 椎名由奈av一区二区三区| 粉嫩av一区二区三区在线播放| 精品处破学生在线二十三| 麻豆精品一区二区综合av| 日韩欧美在线不卡| 久久99精品久久久久久国产越南| 欧美一区二区精美| 麻豆精品一区二区av白丝在线| 欧美日本在线观看| 免费观看成人av| 日韩精品自拍偷拍| 国产精品1区2区3区在线观看| 久久综合999| jiyouzz国产精品久久| 日韩毛片精品高清免费| 色综合视频在线观看| 亚洲素人一区二区| 欧美三区在线视频| 免费美女久久99| 久久婷婷国产综合精品青草| 国产精品18久久久久| 国产精品三级av| 欧美色网站导航| 日韩国产在线观看一区| 久久综合国产精品| 91麻豆国产福利在线观看| 天天综合色天天| 久久精品亚洲精品国产欧美kt∨| 成人性生交大合| 亚洲国产欧美在线| 欧美成人精品3d动漫h| 99久久精品一区二区| 免费在线成人网| 国产精品美女久久久久av爽李琼| 在线观看亚洲专区| 国产精品一区二区男女羞羞无遮挡| 欧美激情一区二区三区蜜桃视频 | 国产欧美日本一区视频| 色婷婷久久一区二区三区麻豆| 天堂va蜜桃一区二区三区| 国产女人aaa级久久久级| 91福利国产成人精品照片| 国产一区二区三区在线观看精品 | 亚洲一二三四久久| 久久久久久久免费视频了| 欧美在线观看一二区| 国内精品视频一区二区三区八戒| 国产精品久久看| 欧美不卡一区二区| 欧美日韩大陆一区二区| 成人高清免费在线播放| 美腿丝袜在线亚洲一区| 亚洲伦理在线精品| 国产网站一区二区| 日韩欧美的一区| 欧美色视频一区| 一本色道综合亚洲| 国产精品综合二区| 日韩精品成人一区二区在线| 日韩毛片视频在线看| 国产视频一区二区在线观看| 欧美一区二区在线播放| 在线视频一区二区三| 91在线丨porny丨国产| 国产成人综合亚洲网站| 石原莉奈一区二区三区在线观看| 亚洲欧美日韩国产综合在线| 国产午夜精品美女毛片视频| 精品福利视频一区二区三区| 91精品国产麻豆| 欧美丰满一区二区免费视频 | 日韩高清中文字幕一区| 亚洲精品中文在线影院| 亚洲视频在线观看三级| 国产精品成人免费在线| 国产精品区一区二区三| 中日韩av电影| 国产欧美精品国产国产专区 | 色欲综合视频天天天| eeuss鲁片一区二区三区在线观看| 国产盗摄视频一区二区三区| 国产美女久久久久| 国产成都精品91一区二区三| 国产成人精品综合在线观看| 国产精品一二三四| 99久久精品99国产精品| 99精品视频在线播放观看| www.久久精品| 91成人免费在线视频| 欧美三级电影网站| 日韩一二在线观看| 26uuu成人网一区二区三区| 久久无码av三级| 国产精品久线观看视频| 亚洲最色的网站| 日日夜夜免费精品| 国产自产2019最新不卡| 风间由美中文字幕在线看视频国产欧美| 国产精品一区二区男女羞羞无遮挡| 粉嫩嫩av羞羞动漫久久久| 91麻豆精东视频| 日韩欧美二区三区| 国产精品久久综合| 亚洲chinese男男1069| 激情都市一区二区| 成人美女在线观看| 欧美三级资源在线| 久久久久久久电影| 亚洲综合视频在线| 国产一区二区三区久久悠悠色av| 成人高清视频在线观看| 在线播放中文一区| 欧美激情中文字幕| 三级久久三级久久| 国产成人精品亚洲午夜麻豆| 欧美影院一区二区三区| 久久综合九色综合97婷婷| 亚洲欧美色图小说| 国产麻豆精品一区二区| 日本丶国产丶欧美色综合| www国产精品av| 亚洲自拍偷拍网站| 国产成人精品免费视频网站| 欧美日韩国产精选| 中文字幕亚洲综合久久菠萝蜜| 日韩av中文字幕一区二区三区| 91网页版在线|