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

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

?? board.java

?? 斜45度游戲《NetIntruder》
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package isoj2me;import java.util.*;import javax.microedition.lcdui.*;/** * <p> * isoj2me: Board * </p> * <p> * This is the main class. It manages a Board where you can add, remove and move * Characters and Items. It manages Maps too. This class perform the draw method * to paint the Board on the device * </p> * <p> * Copyright: Copyright (c) 2006 * </p> * <p> * License: Lesser GPL (http://www.gnu.org) * </p> * <p> * Company: <a href=http://www.mondonerd.com target="_blank">Mondonerd.com</a> * </p> *  * @author Massimo Maria Avvisati * @version 0.5 */public class Board {	public static Hashtable tiles = new Hashtable(12); //TODO this value have to be a variable to optimize the result	/**	 * This one of the main method of this class. It paint on the given Graphics	 * the board with its tiles and characters.	 * 	 * @param x	 *            where to paint on the Graphics (x)	 * @param y	 *            where to paint on the Graphics (y)	 * @param cellX	 *            starting cell on the map (x)	 * @param cellY	 *            starting cell on the mpa (y)	 * @param width	 *            width of the map area to be painted (starting from cellX)	 * @param height	 *            height of the map area to be painted (starting from cellY)	 * @param g	 *            Graphics object where to paint	 */	public int cellX = 0;	public int cellY = 0;	public int charactersClipWidth = 60;    public int charactersClipHeight = 60;	public Hashtable characters = new Hashtable(1);	private Hashtable charactersPositions = new Hashtable(1);//	public Hashtable items = new Hashtable();////	private Hashtable itemsPositions = new Hashtable(20);	public Map map;	public String tileSet = "";	public int tileWidth, tileHeight;	public int width, height;	/**	 * Constructor. The tileset basic name will be an empty string.	 */	public Board() {	}	/**	 * Constructor. The tileset basic name will be tileSet and it will be used	 * when loading tiles image files.	 * 	 * @param tileSet	 *            basic name for tile files	 */    private Canvas canvas = null;	public Board(String tileSet, Canvas canvas) {        this.canvas = canvas;		this.tileSet = tileSet;	}	/**	 * This method call the Map() constructor passing the base name for the map	 * files and the number of layers	 * 	 * @param baseFilename	 *            base name for the map files	 * @param numberOfLayers	 *            number of layers to load	 */	public void createMap(String baseFilename, int numberOfLayers) {		map = new Map(baseFilename, numberOfLayers);	}	boolean lastDrawn = false;	int initI = 0;	int lastI = 30;	public void drawTile(int mapX, int mapY, int x, int y, Graphics g) {		Image tempImage = null;        if (map.layers[0][(mapY * map.getWidth()) + mapX] != 48) {		try {			String imageCode = ""					+ map.layers[0][(mapY * map.getWidth()) + mapX];			tempImage = Utility.loadImage(tileSet + imageCode, tiles);		} catch (Exception e) {		}		if (tempImage != null) {			g.drawImage(tempImage, x - (tempImage.getWidth() / 2), y					- tempImage.getHeight() + tileHeight * 2, Graphics.TOP					| Graphics.LEFT);		}        }	}	public void drawCharacter(int mapX, int mapY, int x, int y, Graphics g) {		// Paint characters		if (charactersPositions.containsKey(mapX + "_" + mapY + "_0")) {			isoj2me.Character tempCharacter = (isoj2me.Character) charactersPositions					.get(mapX + "_" + mapY + "_0");			int tempCharX = x + (-tempCharacter.getCurrentImage().getWidth())					/ 2;			if ("player".equals(tempCharacter.name)) {				int xMod = 0;				int yMod = 0;//                if (tempCharacter.speed > 2) {//                    tempCharacter.speed = 2;//                }				if (tempCharacter.getCurrentAction().indexOf("SW") > 0) {					// System.out.println("SW");					if (tempCharacter.speed > 2) {						// System.out.println("Step 1");						tempCharacter.speed = 2;						xMod = +11;						yMod = -5;					} else if (tempCharacter.speed > 1) {						// System.out.println("Step 2");						tempCharacter.speed = 1;						xMod = +8;						yMod = -4;					} else if (tempCharacter.speed > 0) {						// System.out.println("Step 3");						tempCharacter.speed = 0;						tempCharacter.isMoving = false;					}				} else if (tempCharacter.getCurrentAction().indexOf("NW") > 0) {					// System.out.println("NW");					if (tempCharacter.speed > 2) {						// System.out.println("Step 1");						tempCharacter.speed = 2;						xMod = +11;						yMod = +5;					} else if (tempCharacter.speed > 1) {						// System.out.println("Step 2");						tempCharacter.speed = 1;						xMod = +8;						yMod = +4;					} else if (tempCharacter.speed > 0) {						// System.out.println("Step 3");						tempCharacter.speed = 0;						tempCharacter.isMoving = false;					}				} else if (tempCharacter.getCurrentAction().indexOf("SE") > 0) {					// System.out.println("SE");					if (tempCharacter.speed > 2) {						// System.out.println("Step 1");						tempCharacter.speed = 2;						xMod = -11;						yMod = -5;					} else if (tempCharacter.speed > 1) {						// System.out.println("Step 2");						tempCharacter.speed = 1;						xMod = -8;						yMod = -4;					} else if (tempCharacter.speed > 0) {						// System.out.println("Step 3");						tempCharacter.speed = 0;						tempCharacter.isMoving = false;					}				} else if (tempCharacter.getCurrentAction().indexOf("NE") > 0) {					// System.out.println("NE");					if (tempCharacter.speed > 2) {						// System.out.println("Step 1");						tempCharacter.speed = 2;						xMod = -11;						yMod = +5;					} else if (tempCharacter.speed > 1) {						// System.out.println("Step 2");						tempCharacter.speed = 1;						xMod = -8;						yMod = +4;					} else if (tempCharacter.speed > 0) {						// System.out.println("Step 3");						tempCharacter.speed = 0;						tempCharacter.isMoving = false;					}				}				tempCharacter.draw(tempCharX + xMod, y + yMod, g);				tempCharacter.lastDrawnX = tempCharX + xMod						+ tempCharacter.getCurrentImage().getWidth() / 2;				tempCharacter.lastDrawnY = y + yMod						- tempCharacter.getCurrentImage().getHeight() / 2						+ tempCharacter.modifierY;			} else {				tempCharacter.draw(tempCharX, y, g);				tempCharacter.lastDrawnX = tempCharX						+ tempCharacter.getCurrentImage().getWidth() / 2;				tempCharacter.lastDrawnY = y						- tempCharacter.getCurrentImage().getHeight() / 2						+ tempCharacter.modifierY;				tempCharacter.speed = 0;				tempCharacter.isMoving = false;			}		}	}//	private void drawItem(int mapX, int mapY, int x, int y, Graphics g) {//		// Paint items////		if (itemsPositions.containsKey(mapX + "_" + mapY + "_0")) {//			Item tempItem = (Item) itemsPositions.get(mapX + "_" + mapY + "_0");//			Image tempImage = tempItem.getCurrentImage();//			g.drawImage(tempImage, x - (tempImage.getWidth() / 2), y//					- tempImage.getHeight() + tileHeight * 2, Graphics.TOP//					| Graphics.LEFT);//		}//	}	public Image cachedBoard = null;	public boolean changed = true;	// Image characterBoard = null;	//Image cuttedBoard = null;	//int characterCounter = 0;	private int clipWidth;	private int clipHeight;	public void draw(int x, int y, Graphics gInit, boolean centered) {		Character c = null;		if (!centered) {			cachedBoard = Image.createImage(gInit.getClipWidth(), canvas.getHeight());			drawEmpty(x, y, cachedBoard.getGraphics(), true);			gInit.drawImage(cachedBoard, 0, 0, Graphics.TOP | Graphics.LEFT);		} else {			if (changed || cachedBoard == null) {				cachedBoard = Image.createImage(gInit.getClipWidth(), canvas.getHeight());				drawEmpty(x, y, cachedBoard.getGraphics(), false);				gInit						.drawImage(cachedBoard, 0, 0, Graphics.TOP								| Graphics.LEFT);				changed = false;			} else {				gInit						.drawImage(cachedBoard, 0, 0, Graphics.TOP								| Graphics.LEFT);				Enumeration charEnum = characters.elements();				int charactersCounter = 0;				for (Enumeration iter = charEnum; iter.hasMoreElements();) {								c = (Character) iter.nextElement();				//if (c.x >= cellX && c.y >= cellY && c.x < cellX + width && c.y < cellY + height) { //TODO verify				if (true) {					charactersCounter++;					clipWidth = gInit.getClipWidth();					clipHeight = canvas.getHeight();					int clipWidthTemp = charactersClipWidth; //TODO configuration					int clipHeightTemp = charactersClipHeight; //TODO configuration											gInit.setClip(c.lastDrawnX - clipWidthTemp / 2,											c.lastDrawnY - clipHeightTemp / 2, clipWidthTemp,							clipHeightTemp);					drawCharacterBoard(c, x, y, gInit);					// characterboard on					// draw					gInit.setClip(0, 0, clipWidth, clipHeight);				}				}			}		}	}	boolean repaint = true;	public void drawEmpty(int x, int y, Graphics gInit, boolean withPlayer) {		gInit.setColor(0x000000);		gInit.fillRect(0, 0, gInit.getClipWidth(), canvas.getHeight());		boolean firstPainted = false;		int xTemp = x;		int yTemp = 0;		int xInit = x;		lastDrawn = false;		//int lastItemp = lastI;		for (int i = 0; i < height; i++) { // y cycle (counter is "i")			yTemp = y + tileHeight * i;			xTemp = xInit - (tileWidth / 2) * i;			for (int j = 0; j < height; j++) {				if (onScreen(xTemp - tileWidth / 2, yTemp, gInit)						&& (j + cellX < map.getWidth())						&& (i + cellY) < map.getHeight() && (j + cellX >= 0)						&& (i + cellY >= 0)) { //TODO verify// && (map.getCell(0, j + cellX, i + cellY) > 65 || "player".equals(isCharacter(j + cellX, i + cellY, 0)))					if (firstPainted != true) {						firstPainted = true;					}										if (withPlayer) {						drawCharacter(j + cellX, i + cellY, xTemp, yTemp, gInit);					} else {						drawTile(j + cellX, i + cellY, xTemp, yTemp, gInit);					}					if (!lastDrawn) {						lastI = i + 1;					}				}				xTemp = xTemp + tileWidth / 2;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线视频观看一区| 国产欧美日韩激情| 国产欧美日韩另类视频免费观看| 亚洲欧美一区二区久久| 激情成人综合网| 一本大道久久a久久综合| 久久嫩草精品久久久精品一| 一区二区三区国产豹纹内裤在线| 日本美女一区二区| 在线视频观看一区| 中文字幕在线视频一区| 久久99精品久久久久久国产越南| 欧洲亚洲国产日韩| 国产精品久久久久久久久果冻传媒| 免费观看成人鲁鲁鲁鲁鲁视频| 99精品国产视频| 亚洲精品一区二区三区精华液| 亚洲午夜电影网| 色综合天天性综合| 国产精品另类一区| 国产a级毛片一区| 久久五月婷婷丁香社区| 久色婷婷小香蕉久久| 91精品国产综合久久久久久久久久 | 日韩一级免费一区| 亚洲综合一区二区| 色综合久久久久综合| 国产欧美日韩卡一| 成人毛片在线观看| 亚洲国产电影在线观看| 国产在线视视频有精品| 欧美成人r级一区二区三区| 亚洲1区2区3区视频| 欧洲国内综合视频| 一区二区三区中文字幕| 日本福利一区二区| 亚洲精品国产第一综合99久久 | 国产精品久久久久aaaa樱花| 成人午夜激情影院| 中文字幕不卡在线观看| 成人性生交大片免费| 国产精品久久一卡二卡| 97久久精品人人做人人爽50路| 国产欧美1区2区3区| 99免费精品在线| 亚洲天堂2014| 欧美伊人久久大香线蕉综合69| 亚洲精品大片www| 精品视频资源站| 日韩成人av影视| 精品国产乱码久久久久久闺蜜| 激情图片小说一区| 亚洲国产高清aⅴ视频| 99r国产精品| 亚洲国产精品人人做人人爽| 欧美人妖巨大在线| 国精品**一区二区三区在线蜜桃| 国产午夜亚洲精品不卡| 99精品久久只有精品| 五月激情综合网| 久久久亚洲国产美女国产盗摄| 丁香激情综合国产| 亚洲综合在线第一页| 日韩精品专区在线影院观看| 国产+成+人+亚洲欧洲自线| 亚洲女人的天堂| 日韩欧美中文一区| 岛国精品一区二区| 午夜精品一区在线观看| 久久久另类综合| 日本道免费精品一区二区三区| 免费看欧美美女黄的网站| 国产女同性恋一区二区| 欧美日韩国产一级片| 国产丶欧美丶日本不卡视频| 一区二区欧美视频| 久久久久国产精品麻豆ai换脸| 日本精品裸体写真集在线观看| 久久国产免费看| 亚洲精品v日韩精品| 欧美不卡一区二区| 91搞黄在线观看| 国产成a人亚洲| 奇米色777欧美一区二区| 综合久久综合久久| 精品入口麻豆88视频| 欧美体内she精高潮| 成人黄色国产精品网站大全在线免费观看 | 国产一区在线观看麻豆| 亚洲国产一区二区三区青草影视 | 亚洲三级在线观看| 精品国产乱码久久久久久图片 | 2014亚洲片线观看视频免费| 在线这里只有精品| 成人av在线电影| 国精产品一区一区三区mba桃花| 亚洲va欧美va人人爽| 亚洲乱码国产乱码精品精的特点 | 亚洲在线观看免费视频| 欧美国产成人精品| 日韩精品专区在线影院重磅| 欧美乱熟臀69xxxxxx| 91视视频在线直接观看在线看网页在线看| 日本欧美大码aⅴ在线播放| 亚洲www啪成人一区二区麻豆| 亚洲欧美色一区| 欧美国产97人人爽人人喊| 337p日本欧洲亚洲大胆精品| 欧美一激情一区二区三区| 欧美日韩精品系列| 91久久免费观看| 91蜜桃传媒精品久久久一区二区| 国产一区二区三区av电影| 日本视频在线一区| 秋霞午夜鲁丝一区二区老狼| 亚洲永久免费av| 一区二区三区毛片| 亚洲一区二区精品3399| 亚洲老司机在线| 亚洲一区二区av电影| 亚洲国产中文字幕| 日韩av一级片| 美腿丝袜在线亚洲一区 | 国产精品一区二区在线观看不卡 | 一区二区三区欧美在线观看| 中文字幕日韩精品一区| 亚洲婷婷综合色高清在线| 亚洲欧美一区二区三区孕妇| 一区二区三区在线观看网站| 一区二区三区四区不卡视频| 亚洲成a天堂v人片| 开心九九激情九九欧美日韩精美视频电影| 奇米888四色在线精品| 精品一区二区三区欧美| 国产福利精品一区二区| 91在线云播放| 日本高清视频一区二区| 欧美狂野另类xxxxoooo| 日韩视频一区二区三区在线播放 | 欧洲生活片亚洲生活在线观看| 欧美色图一区二区三区| 日韩精品最新网址| 国产精品久久久久久久岛一牛影视 | 五月天一区二区三区| 麻豆91精品91久久久的内涵| 国产精华液一区二区三区| 9久草视频在线视频精品| 欧美日韩情趣电影| 久久久久久97三级| 一区二区激情视频| 久久爱另类一区二区小说| 不卡电影一区二区三区| 精品视频免费在线| 久久久精品tv| 亚洲精品老司机| 国产毛片精品国产一区二区三区| 成人av免费在线播放| 91精品国产入口| 国产午夜亚洲精品羞羞网站| 亚洲成av人在线观看| 国产精品一区二区久久精品爱涩| 91捆绑美女网站| 久久婷婷久久一区二区三区| 亚洲一区二区三区四区中文字幕| 国内精品伊人久久久久av一坑| 91在线播放网址| 精品久久久久一区| 夜夜嗨av一区二区三区四季av| 国产精华液一区二区三区| 欧美老女人在线| 亚洲宅男天堂在线观看无病毒| 国产成人在线视频播放| 91精品国产美女浴室洗澡无遮挡| 国产精品白丝在线| 国产成人免费视频精品含羞草妖精| 欧美老女人第四色| 一区二区三区四区视频精品免费| 成人免费毛片高清视频| 精品国产一区久久| 天天影视色香欲综合网老头| 色哟哟亚洲精品| 国产精品久久久99| 国产乱码精品一区二区三区五月婷| 精品视频一区二区三区免费| 五月激情六月综合| 91在线免费看| 国产精品国产自产拍在线| 国内不卡的二区三区中文字幕 | 日韩av中文字幕一区二区| 色噜噜狠狠一区二区三区果冻| 欧美videos大乳护士334| 日本不卡123| 91精品国产色综合久久久蜜香臀| 亚洲一区影音先锋| 色综合久久久网| 亚洲一区在线看| 在线观看www91| 亚洲一区精品在线| 欧美性生活久久| 亚洲成a人片在线不卡一二三区|