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

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

?? npc.java

?? 基于J2ME的Java游戲夢幻炸彈人源程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
import java.util.Vector;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
/**
* 非作者授權,請勿用于商業用途。
* 玩家控制的精靈
* bruce.fine@gmail.com
*/
public class NPC extends MySprite {
	// up down left ,right
	// x0, y0, x1, y1
	short nUpRectNum = 0;

	short nDownRectNum = 0;

	short nLeftRectNum = 0;

	short nRightRectNum = 0;
	//碰撞處理區域
	short[][][] nRectCollosion = null;

	Anim anim = null;

	boolean isHandleCPC = false;

	// 可放置炸彈數量
	int nBoomNum = 1;

	public NPC() {
		nUpRectNum = 1;
		nDownRectNum = 1;
		nLeftRectNum = 1;
		nRightRectNum = 1;
		nRectCollosion = new short[4][][];

		nRectCollosion[0] = new short[nUpRectNum][4];
		nRectCollosion[1] = new short[nDownRectNum][4];
		nRectCollosion[2] = new short[nLeftRectNum][4];
		nRectCollosion[3] = new short[nRightRectNum][4];

		nRectCollosion[0][0] = new short[] { 0, 0, 16, 4 };
		nRectCollosion[1][0] = new short[] { 0, 12, 16, 16 };
		nRectCollosion[2][0] = new short[] { 0, 0, 4, 16 };
		nRectCollosion[3][0] = new short[] { 12, 0, 16, 16 };

	}

	public void initAnim(Anim anim) {
		this.anim = anim;

	}

	//
	int nTimerMP = 0;

	int nTimerMPMax = 10;

	int nMPPlus = 1;

	public void update() {

		if (nHpTimer < nHpTimerMax) {
			nHpTimer++;
		}
		// MP 自動恢復:)
		if (nMP < nMPMax) {
			if (nTimerMP < nTimerMPMax) {
				nTimerMP++;
			} else {
				nTimerMP = 0;
				nMP += nMPPlus;

			}
		}
		if (nEX >= nEXMax) {
			nEX = 0;
			// int nt = nEXMax - nEX;
			// nEXMax *= nEXMax;
			// nMPMax *= 2;
			// nHPMax *= 2;
			// nHP = nHPMax;
			// nMP = nMPMax;
			// nEX = nt;
			// nLevel += 1;
			// MyGameCanvas.instance.strInfo = "升級嘍:)";
		}
		if (++nFrameCac > nFrameCacMax) {
			nFrameCac = 0;
			if (isMoving) {
				anim.update();
				switch (bDirection) {
				case Canvas.UP: {
					nY -= nSpeed;
					if (isCollsionWithMap(Canvas.UP,
							getCollosionWithMap(nX, nY))
							|| isCollsionWithCPC(Canvas.UP)) {
						nY += nSpeed;
					}
				}
					break;
				case Canvas.DOWN: {
					nY += nSpeed;
					if (isCollsionWithMap(Canvas.DOWN, getCollosionWithMap(nX,
							nY))
							|| isCollsionWithCPC(Canvas.DOWN)) {
						nY -= nSpeed;
					}
				}
					break;
				case Canvas.LEFT: {
					nX -= nSpeed;
					if (isCollsionWithMap(Canvas.LEFT, getCollosionWithMap(nX,
							nY))
							|| isCollsionWithCPC(Canvas.LEFT)) {
						nX += nSpeed;
					}
				}
					break;
				case Canvas.RIGHT: {
					nX += nSpeed;
					if (isCollsionWithMap(Canvas.RIGHT, getCollosionWithMap(nX,
							nY))
							|| isCollsionWithCPC(Canvas.RIGHT)) {
						nX -= nSpeed;
					}
				}
					break;

				}
				isMoving = false;
			}
		}

		if (nX < 0) {
			nX = 0;
		}
		if (nX > MyGameCanvas.snMapWidth) {
			nX = MyGameCanvas.snMapWidth;
		}
		if (nY < 0) {
			nY = 0;
		}
		if (nY > MyGameCanvas.snMapHeight) {
			nY = MyGameCanvas.snMapHeight;
		}

		nXInScreen = nX - MyGameCanvas.snMapX+ MyGameCanvas.snWindowX;
		nYInScreen = nY - MyGameCanvas.snMapY+ MyGameCanvas.snWindowY;
		//
		if (anim!=null) {
			if (MyGameCanvas.instance.bGameResult != 0) {
				if (anim.nActionId != 1) {
					anim.changeAction(Canvas.DOWN);
				}
			}
		}
	}

	public void draw(Graphics g) {
		if (nHpTimer < nHpTimerMax) {
			if (nHpTimer % 2 == 0) {
				anim.draw(g, nXInScreen, nYInScreen - 10);
			}
		} else {
			anim.draw(g, nXInScreen, nYInScreen - 10);
		}

	}

	public void doKey(int key) {
		if (MyGameCanvas.instance.bGameResult != 0) {
			return;
		}
		if (key == 0) {
			// anim.isLoop = false;
		}
		if (nHP <= 0) {
			isMoving = false;
			return;
		}
		if (nX % Consts.SN_TILE_WIDTH != 0 || nY % Consts.SN_TILE_HEIGHT != 0) {
			isMoving = true;
			return;
		} else {
			isMoving = false;
		}
		switch (key) {

		case Canvas.UP: {
			isMoving = true;
			if (bDirection == Canvas.UP) {
				anim.isStop = false;
			} else {
				isMoving = false;
				bDirection = Canvas.UP;
				anim.changeAction(Canvas.UP);
			}

		}
			break;
		case Canvas.DOWN: {
			isMoving = true;
			if (bDirection == Canvas.DOWN) {
				anim.isStop = false;
			} else {
				isMoving = false;
				bDirection = Canvas.DOWN;
				anim.changeAction(Canvas.DOWN);
			}
		}
			break;
		case Canvas.LEFT: {
			isMoving = true;
			if (bDirection == Canvas.LEFT) {
				anim.isStop = false;
			} else {
				isMoving = false;
				bDirection = Canvas.LEFT;
				anim.changeAction(Canvas.LEFT);
			}
		}
			break;
		case Canvas.RIGHT: {
			isMoving = true;
			if (bDirection == Canvas.RIGHT) {
				anim.isStop = false;
			} else {
				isMoving = false;
				bDirection = Canvas.RIGHT;
				anim.changeAction(Canvas.RIGHT);
			}
		}
			break;
		case Canvas.FIRE: {
			isMoving = false;
			int r1x1 = 0;
			int r1y1 = 0;
			int r1x2 = 0;
			int r1y2 = 0;
			int r2x1 = nX;
			int r2y1 = nY;
			int r2x2 = nX + 16;
			int r2y2 = nY + 16;

			if (!isHandleCPC) {
				boolean isFighting = true;
				for (int i = 0; i < MyGameCanvas.vecticUnits.size(); i++) {
					CPC cpc = (CPC) MyGameCanvas.vecticUnits.elementAt(i);
					if (cpc.bVar == CPC.B_VAR_BOX) {
						if (!cpc.isHandleByNPC) {
							// Consts.log("hello");
							if (r2y1 == cpc.nY) {
								if (r2x1 + 16 == cpc.nX) {
									if (Canvas.RIGHT == bDirection) {
										cpc.upBox();
										isHandleCPC = true;
									}

								}
								if (r2x1 - 16 == cpc.nX) {
									if (Canvas.LEFT == bDirection) {
										cpc.upBox();
										isHandleCPC = true;
									}

								}

							}
							if (r2x1 == cpc.nX) {
								if (r2y1 + 16 == cpc.nY) {
									if (Canvas.DOWN == bDirection) {
										cpc.upBox();
										isHandleCPC = true;
									}

								}
								if (r2y1 - 16 == cpc.nY) {
									if (Canvas.UP == bDirection) {
										cpc.upBox();
										isHandleCPC = true;
									}

								}

							}
							if (isHandleCPC) {
								isFighting = false;
								break;
							}
						}
					}
				}

				boolean ttdia = false;
				for (int i = 0; i < MyGameCanvas.vecticUnits.size(); i++) {
					CPC cpc = (CPC) MyGameCanvas.vecticUnits.elementAt(i);
					if (cpc.bVar == CPC.B_VAR_NPC) {
						r1x1 = cpc.nX;
						r1y1 = cpc.nY;
						r1x2 = cpc.nX + 16;
						r1y2 = cpc.nY + 16;
						r2x1 = nX;
						r2y1 = nY;
						r2x2 = nX + 16;
						r2y2 = nY + 16;

						if (!MyGameCanvas.instance.isDialogWorking) {
							if (r2y1 == cpc.nY) {
								if (r2x1 + 16 == cpc.nX) {
									if (bDirection == Canvas.RIGHT) {
										if (cpc.bDirection != Canvas.LEFT) {
											cpc.anim.changeAction(Canvas.LEFT);
											cpc.anim.isStop = true;

										}
										ttdia = true;
									}

								}
								if (r2x1 - 16 == cpc.nX) {
									if (bDirection == Canvas.LEFT) {
										if (cpc.bDirection != Canvas.RIGHT) {
											cpc.anim.changeAction(Canvas.RIGHT);
											cpc.anim.isStop = true;

										}
										ttdia = true;
									}
								}

							}
							if (r2x1 == cpc.nX) {
								if (r2y1 + 16 == cpc.nY) {
									if (bDirection == Canvas.DOWN) {
										if (cpc.bDirection != Canvas.UP) {
											cpc.anim.changeAction(Canvas.UP);
											cpc.anim.isStop = true;

										}
										ttdia = true;
									}
								}
								if (r2y1 - 16 == cpc.nY) {
									if (bDirection == Canvas.UP) {
										if (cpc.bDirection != Canvas.DOWN) {
											cpc.anim.changeAction(Canvas.DOWN);
											cpc.anim.isStop = true;

										}
										ttdia = true;
									}
								}

							}

						}

					}

				}
				if (ttdia) {
					MyGameCanvas.instance.initDialog();
					isFighting = false;
					// Consts.log("激活對畫");
					break;
				}
				// 地圖轉動:)
				boolean isMapChange = false;
				for (int i = 0; i < MyGameCanvas.vecticUnits.size(); i++) {
					CPC cpc = (CPC) MyGameCanvas.vecticUnits.elementAt(i);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本成人超碰在线观看| 国产精品1区二区.| 久久久久97国产精华液好用吗| 成人爽a毛片一区二区免费| 亚洲国产精品天堂| 欧美激情艳妇裸体舞| 91精品国产一区二区三区蜜臀| 成人福利视频在线看| 麻豆精品在线视频| 夜夜爽夜夜爽精品视频| 国产日韩欧美综合在线| 欧美大黄免费观看| 在线视频一区二区三区| 成人av集中营| 国产精品2024| 国内成人精品2018免费看| 午夜久久久久久| 亚洲综合在线免费观看| 国产精品热久久久久夜色精品三区 | 欧美一区二区三区免费观看视频| proumb性欧美在线观看| 国产精品一区二区果冻传媒| 麻豆精品在线观看| 日本在线不卡一区| 性欧美疯狂xxxxbbbb| 亚洲美女在线国产| 亚洲视频一区在线观看| 国产精品久久久久一区| 中文字幕欧美国产| 欧美激情综合网| 欧美精品一区二区三区高清aⅴ| 欧美老女人在线| 欧美在线视频不卡| 91久久一区二区| 欧美亚洲综合另类| 欧美在线999| 欧美视频日韩视频| 欧美色欧美亚洲另类二区| 欧洲在线/亚洲| 欧美视频完全免费看| 欧美日韩一区成人| 欧美日韩一区二区三区高清| 欧美美女bb生活片| 欧美一区二区福利在线| 日韩一级二级三级精品视频| 欧美一区二区三区免费大片| 4438x成人网最大色成网站| 91精品免费在线观看| 欧美一二三在线| 精品国一区二区三区| 国产亚洲欧美日韩俺去了| 国产情人综合久久777777| 国产精品三级久久久久三级| 18欧美乱大交hd1984| 亚洲靠逼com| 香蕉加勒比综合久久| 蜜臀精品久久久久久蜜臀| 开心九九激情九九欧美日韩精美视频电影| 免费在线成人网| 国产精品综合在线视频| av影院午夜一区| 欧美日韩在线免费视频| 91精品一区二区三区在线观看| 日韩精品一区二区三区swag | 国产成人免费视频网站高清观看视频 | 精品一区二区三区在线播放视频| 国内成人免费视频| 99麻豆久久久国产精品免费优播| 色呦呦网站一区| 欧美日韩精品一区二区天天拍小说 | 免费成人美女在线观看.| 精东粉嫩av免费一区二区三区| 粉嫩av亚洲一区二区图片| 色女孩综合影院| 日韩一区二区不卡| 国产精品久久久一区麻豆最新章节| 亚洲日本一区二区| 天堂久久久久va久久久久| 国产老肥熟一区二区三区| 日本韩国欧美一区| 精品国产免费久久| 亚洲综合精品自拍| 久久9热精品视频| 91老师片黄在线观看| 7777精品伊人久久久大香线蕉最新版| 国产午夜亚洲精品不卡| 亚洲综合精品自拍| 国产一区二区三区四区五区入口 | gogo大胆日本视频一区| 欧美日韩大陆一区二区| 国产三级一区二区| 亚洲午夜一区二区三区| 国产乱码字幕精品高清av| 欧美日韩一区三区| 国产精品美日韩| 日本欧美一区二区三区| 成人成人成人在线视频| 91高清视频在线| 国产人成亚洲第一网站在线播放| 婷婷国产在线综合| 99re热这里只有精品免费视频| 欧美高清视频一二三区| √…a在线天堂一区| 蜜桃久久久久久| 欧洲一区二区三区免费视频| 国产欧美日韩三级| 免费观看30秒视频久久| 在线亚洲+欧美+日本专区| 国产日韩精品一区二区三区| 午夜电影网亚洲视频| 91在线码无精品| 久久亚洲综合色| 日本免费在线视频不卡一不卡二 | 精品少妇一区二区三区在线视频| 中文字幕一区二区三区不卡 | 欧美日韩国产不卡| 中文字幕亚洲在| 高清国产一区二区三区| 欧美tickling挠脚心丨vk| 亚洲精品成人悠悠色影视| 国产不卡视频在线观看| 26uuu另类欧美| 青青青爽久久午夜综合久久午夜| 国产大陆亚洲精品国产| 91麻豆精品国产自产在线观看一区| 一区在线观看视频| 国产成人免费9x9x人网站视频| 精品久久久久99| 精品一区二区三区免费毛片爱| 91麻豆精品国产91久久久久久久久| 亚洲一区二区精品久久av| 色综合久久综合网欧美综合网| 国产精品免费看片| 成人黄色在线网站| 国产欧美日韩激情| 国产成人自拍网| 久久久久高清精品| 国产成a人亚洲精| 国产精品乱码妇女bbbb| 成人黄色小视频在线观看| 国产精品久久久久四虎| av亚洲精华国产精华精华 | 久久er99热精品一区二区| 日韩一区二区三区免费观看| 丝袜美腿亚洲色图| 欧美一区二区三区在线看| 美女国产一区二区| 日韩手机在线导航| 精品无码三级在线观看视频| xfplay精品久久| 国产99一区视频免费| 国产精品青草综合久久久久99| 成人午夜电影小说| 怡红院av一区二区三区| 91久久精品一区二区三区| 午夜精品一区二区三区电影天堂 | 精品精品国产高清a毛片牛牛| 国产永久精品大片wwwapp| 欧美激情综合五月色丁香| 99re这里只有精品首页| 怡红院av一区二区三区| 51久久夜色精品国产麻豆| 免费久久精品视频| 久久久一区二区三区捆绑**| 丁香婷婷深情五月亚洲| 亚洲乱码国产乱码精品精98午夜 | 国内精品伊人久久久久影院对白| 国产网站一区二区三区| 一本大道久久a久久综合| 日韩一区欧美二区| 日韩美女在线视频| 成人动漫一区二区三区| 亚洲网友自拍偷拍| 日韩精品中午字幕| av电影在线观看一区| 天天综合色天天综合色h| 久久久91精品国产一区二区三区| 91在线视频观看| 另类成人小视频在线| 国产亚洲综合在线| 在线观看免费视频综合| 狠狠久久亚洲欧美| 一区二区高清视频在线观看| 日韩免费看的电影| 91视频免费观看| 精品一区二区三区在线观看| 亚洲女爱视频在线| 日韩视频免费观看高清完整版 | 成人精品高清在线| 日本中文字幕一区二区视频| 欧美国产乱子伦| 欧美精品日韩精品| 国产成人久久精品77777最新版本| 亚洲在线视频免费观看| 久久久精品人体av艺术| 欧美日韩精品欧美日韩精品一| 国产成人午夜精品影院观看视频| 午夜一区二区三区视频| 亚洲国产成人午夜在线一区| 日韩欧美国产系列|