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

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

?? maincanvas.java

?? J2ME游戲菜單界面,仿真三國無雙4 ,原創 有源程序
?? JAVA
字號:
package res;

import java.io.IOException;

import javax.microedition.lcdui.*;

import com.nokia.mid.ui.FullCanvas;

public class MainCanvas extends FullCanvas implements Runnable {

	int gameState;// 游戲狀態

	boolean isRunning;

	boolean isCurrentDisplay;

	boolean isKeyPressed;

	boolean isThreadStarting;

	int keyCode;

	Thread thread;

	int x, y;

	static Image Background, Bicon, Character, Faction;

	boolean bFalgMove;

	int rgbDate[];

	int BackgroundNumber, CharacterXNumber, CharacterYNumber, BiconNumberCol,
			FactionNumber;

	int ColorCounter;

	ModelMidlet midlet;

	static final int SCREEN_WIDTH = 176;// 屏幕寬度

	static final int SCREEN_HEIGHT = 208;// 屏幕高度

	public MainCanvas(ModelMidlet midlet) {
		this.midlet = midlet;
		thread = new Thread(this);
		startThread();
	}

	public void startThread() {
		isRunning = true;
		thread.start();
		isThreadStarting = true;
		gameState = GS_INIT;
	}

	public void paint(Graphics g) {
		switch (gameState) {
		case GS_LOGO:
			drawLogo(g);
			break;
		case GS_INIT:
			drawInit(g);
			break;
		case GS_MAIN:
			drawMain(g);
			break;
		case GS_PLAY:
			drawPlay(g);
			break;
		case GS_HELP:
			drawHelp(g);
			break;
		case GS_ABOUT:
			drawAbout(g);
			break;
		}
	}

	public void run() {
		while (isRunning) {
			if (isCurrentDisplay) {
				switch (gameState) {
				case GS_LOGO:
					procLogo();
					break;
				case GS_INIT:
					procInit();
					break;
				case GS_MAIN:
					procMain();
					break;
				case GS_PLAY:
					procPlay();
					break;
				case GS_HELP:
					procHelp();
					break;
				case GS_EXIT:
					procExit();
					break;
				}
				repaint();
				sleep(SLEEP_TIME);
			} else {
				sleep(LONG_SLEEP_TIME);
			}
		}
	}

	public void keyPressed(int keyCode) {
		isKeyPressed = true;
		this.keyCode = getKeyCode(keyCode);
	}

	public void keyReleased(int keyCode) {
		isKeyPressed = false;
	}

	public int getKeyCode(int keyCode) {
		int key = getGameAction(keyCode);
		switch (key) {
		case UP:
			return KB_UP;
		case DOWN:
			return KB_DOWN;
		case LEFT:
			return KB_LEFT;
		case RIGHT:
			return KB_RIGHT;
		default:
			break;
		}
		switch (keyCode) {
		case KEY_NUM0:
			return KB_0;
		case KEY_NUM1:
			return KB_1;
		case KEY_NUM2:
			return KB_2;
		case KEY_NUM3:
			return KB_3;
		case KEY_NUM4:
			return KB_4;
		case KEY_NUM5:
			return KB_5;
		case KEY_NUM6:
			return KB_6;
		case KEY_NUM7:
			return KB_7;
		case KEY_NUM8:
			return KB_8;
		case KEY_NUM9:
			return KB_9;
		case KEY_STAR:
			return KB_STAR;
		case KEY_POUND:
			return KB_POUND;
		case KEY_LEFTSOFT:
			return KB_COMMAND_LEFT;
		case KEY_RIGHTSOFT:
			return KB_COMMAND_RIGHT;
		case KEY_UP:
			return KB_UP;
		case KEY_DOWN:
			return KB_DOWN;
		case KEY_LEFT:
			return KB_LEFT;
		case KEY_RIGHT:
			return KB_RIGHT;
		case KEY_CENTER:
			return KB_CENTER;
		default:
			break;
		}
		return KB_NONE;
	}

	public void sleep(int time) {
		try {
			Thread.sleep(time);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 游戲退出處理方法
	 */

	public void procExit() {
		// TODO Auto-generated method stub
		isRunning = false;
		midlet.quitApp();
	}

	public void procHelp() {
		// TODO Auto-generated method stub

	}

	public void procPlay() {
		// TODO Auto-generated method stub
		KeyOption();
	}

	public void procMain() {
		// TODO Auto-generated method stub

	}

	/**
	 * 游戲初始化處理方法
	 */

	public void procInit() {
		// TODO Auto-generated method stub
		rgbDate = new int[SCREEN_WIDTH * SCREEN_HEIGHT];
		for (int i = 0; i < rgbDate.length; i++) {
			rgbDate[i] = 0x7f000000;
		}
		x = 0;
		y = 78;
		LoadplayImage();
		gameState = GS_PLAY;
	}

	public void procLogo() {
		// TODO Auto-generated method stub

	}

	/**
	 * 游戲功能選項菜單鍵控處理方法
	 */

	public void KeyOption() {
		switch (keyCode) {
		case KB_UP:
			if (y >= 105) {
				y -= 27;
			} else {
				y = 132;
			}
			if (CharacterYNumber > 0) {
				CharacterYNumber--;
			} else {
				CharacterYNumber = 2;
			}
			break;
		case KB_DOWN:
			if (y <= 105) {
				y += 27;
			} else {
				y = 78;
			}
			if (CharacterYNumber < 2) {
				CharacterYNumber++;
			} else {
				CharacterYNumber = 0;
			}
			break;
		case KB_LEFT:
			bFalgtempY();
			break;

		case KB_RIGHT:
			bFalgtempY();
			break;

		case KB_COMMAND_RIGHT:
			gameState = GS_EXIT;
			break;
		}
		keyCode = KB_NONE;
	}

	/**
	 * 狀態判斷
	 */

	public void bFalgtempY() {
		switch (y) {
		case 78:
			if (bFalgMove == false) {
				CharacterXNumber = 0;
				bFalgMove = true;
				FactionNumber = 0;
				BackgroundNumber = 0;
				BiconNumberCol = 0;
				CharacterXNumber = 0;
			} else {
				CharacterXNumber = 1;
				bFalgMove = false;
				FactionNumber = 1;
				BackgroundNumber = 1;
				BiconNumberCol = 1;
				CharacterXNumber = 1;
			}
			break;
		case 105:
			if (bFalgMove == false) {
				CharacterXNumber = 0;
				bFalgMove = true;
				FactionNumber = 0;
				BackgroundNumber = 0;
				BiconNumberCol = 0;
				CharacterXNumber = 0;
			} else {
				CharacterXNumber = 1;
				bFalgMove = false;
				FactionNumber = 1;
				BackgroundNumber = 1;
				BiconNumberCol = 1;
				CharacterXNumber = 1;
			}
			break;
		case 132:
			if (bFalgMove == false) {
				CharacterXNumber = 0;
				bFalgMove = true;
				FactionNumber = 0;
				BackgroundNumber = 0;
				BiconNumberCol = 0;
				CharacterXNumber = 0;
			} else {
				CharacterXNumber = 1;
				bFalgMove = false;
				FactionNumber = 1;
				BackgroundNumber = 1;
				BiconNumberCol = 1;
				CharacterXNumber = 1;
			}
			break;
		}
	}

	public void drawAbout(Graphics g) {
		// TODO Auto-generated method stub

	}

	public void drawHelp(Graphics g) {
		// TODO Auto-generated method stub

	}

	/**
	 * 游戲菜單畫筆
	 */

	public void drawPlay(Graphics g) {
		// TODO Auto-generated method stub
		clearScreen(g, 0, 0, 0);
		drawBackground(g);
		drawBicon(g);
		bFalgMovePhoto(g);
		drawCharacter(g);
		drawFaction(g);
		drawGameover(g);
	}

	/**
	 * 游戲菜單選擇畫筆
	 */

	public void bFalgMovePhoto(Graphics g) {
		switch (y) {
		case 78:
			g.drawRGB(rgbDate, 0, 80, x, 105, 80, 27, true);
			g.drawRect(x, 105, 80, 27);
			g.drawRGB(rgbDate, 0, 80, x, 132, 80, 27, true);
			g.drawRect(x, 132, 80, 27);
			break;
		case 105:
			g.drawRGB(rgbDate, 0, 80, x, 78, 80, 27, true);
			g.drawRect(x, 78, 80, 27);
			g.drawRGB(rgbDate, 0, 80, x, 132, 80, 27, true);
			g.drawRect(x, 132, 80, 27);
			break;
		case 132:
			g.drawRGB(rgbDate, 0, 80, x, 78, 80, 27, true);
			g.drawRect(x, 78, 80, 27);
			g.drawRGB(rgbDate, 0, 80, x, 105, 80, 27, true);
			g.drawRect(x, 105, 80, 27);
			break;
		}
	}

	public void drawGameover(Graphics g) {
		g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN,
				Font.SIZE_SMALL));
		g.setColor(ColorCounter, ColorCounter, ColorCounter);
		g.drawString(" 返 回 ", 132, 194, 0);
		if (ColorCounter <= 240) {
			ColorCounter += 15;
		} else {
			ColorCounter = 0;
		}
	}

	public void drawMain(Graphics g) {
		// TODO Auto-generated method stub

	}

	public void drawInit(Graphics g) {
		// TODO Auto-generated method stub

	}

	public void drawLogo(Graphics g) {
		// TODO Auto-generated method stub

	}

	public static void Brush(Graphics g, Image photo, int x, int y, int width,
			int height, int col, int row) {
		g.setClip(x, y, width, height);
		g.drawImage(photo, x - row * width, y - col * height, Graphics.TOP
				| Graphics.LEFT);
		clearClip(g);
	}

	/**
	 * 游戲菜單背景畫筆
	 */

	public void drawBackground(Graphics g) {
		Brush(g, Background, 0, 0, 176, 192, 0, BackgroundNumber);
	}

	/**
	 * 游戲菜單人物屬性畫筆
	 */

	public void drawCharacter(Graphics g) {
		Brush(g, Character, 0, 0, 176, 192, CharacterXNumber, CharacterYNumber);
	}

	/**
	 * 游戲菜單按鈕畫筆
	 */

	public void drawBicon(Graphics g) {
		Brush(g, Bicon, 0, 78, 80, 81, BiconNumberCol, 0);
	}

	/**
	 * 游戲菜單類別畫筆
	 */

	public void drawFaction(Graphics g) {
		Brush(g, Faction, 23, 36, 40, 20, FactionNumber, 0);
	}

	public static void clearClip(Graphics g) {
		g.setClip(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
	}

	public static void clearScreen(Graphics g, int R, int G, int B) {
		g.setColor(R, G, B);
		g.fillRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
	}

	static void LoadplayImage() {
		try {
			Background = Image.createImage("/src/background.png");
			Bicon = Image.createImage("/src/Bicon.png");
			Character = Image.createImage("/src/character.png");
			Faction = Image.createImage("/src/faction.png");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	// 游戲狀態定義
	public static final int GS_LOGO = 0XFF01;

	public static final int GS_INIT = 0XFF02;

	public static final int GS_MAIN = 0XFF03;

	public static final int GS_PLAY = 0XFF04;

	public static final int GS_HELP = 0XFF05;

	public static final int GS_ABOUT = 0XFF06;

	public static final int GS_EXIT = 0XFF07;

	public static final int GS_SCORE = 0XFF08;

	// 睡眠時間定義
	public static final int SLEEP_TIME = 60;

	public static final int LONG_SLEEP_TIME = 200;

	// 按鍵值定義
	public static final int KB_NONE = 0X0;

	public static final int KB_0 = 0XFFFF00;

	public static final int KB_1 = 0XFFFF01;

	public static final int KB_2 = 0XFFFF02;

	public static final int KB_3 = 0XFFFF03;

	public static final int KB_4 = 0XFFFF04;

	public static final int KB_5 = 0XFFFF05;

	public static final int KB_6 = 0XFFFF06;

	public static final int KB_7 = 0XFFFF07;

	public static final int KB_8 = 0XFFFF08;

	public static final int KB_9 = 0XFFFF09;

	public static final int KB_STAR = 0XFFFF10;

	public static final int KB_POUND = 0XFFFF11;

	public static final int KB_LEFT = 0XFFFF12;

	public static final int KB_UP = 0XFFFF13;

	public static final int KB_RIGHT = 0XFFFF14;

	public static final int KB_DOWN = 0XFFFF15;

	public static final int KB_SELECT = 0XFFFF16;

	public static final int KB_CENTER = KB_SELECT;

	public static final int KB_COMMAND_LEFT = 0XFFFF17;

	public static final int KB_COMMAND_RIGHT = 0XFFFF18;

	// 根據不同類型的手機而不同
	public static final int KEY_UP = -1;

	public static final int KEY_DOWN = -2;

	public static final int KEY_LEFT = -3;

	public static final int KEY_RIGHT = -4;

	public static final int KEY_CENTER = -5;

	public static final int KEY_LEFTSOFT = -6;

	public static final int KEY_RIGHTSOFT = -7;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美羞羞免费网站| 天堂影院一区二区| 精品福利在线导航| 欧美刺激脚交jootjob| 日韩精品中文字幕一区二区三区| 91精品国产一区二区三区香蕉 | 午夜a成v人精品| 欧美三级在线看| 欧美乱妇15p| 日韩美女在线视频| 欧美国产视频在线| 亚洲一区二区视频| 毛片基地黄久久久久久天堂| 国产精品18久久久久久久久久久久| 成人免费看视频| 欧美性欧美巨大黑白大战| 欧美一区二区三区日韩视频| 久久综合成人精品亚洲另类欧美| 国产欧美日本一区视频| 亚洲曰韩产成在线| 蜜臀va亚洲va欧美va天堂| 国产不卡视频在线播放| 91在线视频免费91| 欧美吞精做爰啪啪高潮| 91精品国产乱码久久蜜臀| 欧美成人欧美edvon| 国产视频亚洲色图| 亚洲精品免费一二三区| 日韩av中文字幕一区二区| 首页亚洲欧美制服丝腿| 久久精品国产精品亚洲综合| 成人综合激情网| av网站一区二区三区| 欧美在线看片a免费观看| 精品国产乱码91久久久久久网站| 国产精品国产馆在线真实露脸| 亚洲一区二区三区美女| 精品在线播放免费| 日本电影欧美片| 欧美男男青年gay1069videost| 国产日产欧美一区| 亚洲午夜三级在线| 国产精品2024| 欧美久久久一区| 国产精品大尺度| 蜜桃av一区二区在线观看| 一本大道久久a久久综合| 欧美大肚乱孕交hd孕妇| 亚洲人成在线观看一区二区| 亚洲亚洲精品在线观看| 成人一区二区三区视频在线观看 | 亚洲欧洲日韩av| 亚洲在线免费播放| 激情丁香综合五月| 欧美日韩www| 欧美激情一区二区三区四区| 亚洲国产日韩a在线播放性色| 国精品**一区二区三区在线蜜桃| 日本高清无吗v一区| 久久免费看少妇高潮| 亚洲国产综合视频在线观看| 国产91精品一区二区麻豆亚洲| 8v天堂国产在线一区二区| 亚洲日本韩国一区| 国产精品白丝jk白祙喷水网站| 欧美日韩国产另类不卡| 亚洲精品欧美综合四区| 久久国产成人午夜av影院| 欧美性色欧美a在线播放| 欧美国产精品v| 麻豆成人综合网| 欧美艳星brazzers| 国产视频不卡一区| 精品一区二区三区香蕉蜜桃| 欧美电影免费观看高清完整版 | 日韩一本二本av| 日韩国产高清在线| 91精品免费在线观看| 日日夜夜一区二区| 日韩欧美一二三四区| 激情综合网最新| 久久久国产精品午夜一区ai换脸| 极品美女销魂一区二区三区| 久久久久九九视频| 成人黄色一级视频| 亚洲欧美自拍偷拍| 色综合久久久久久久久久久| 亚洲精品高清视频在线观看| 欧美日韩一区二区三区免费看| 亚洲成av人在线观看| 制服丝袜亚洲播放| 久久精品国产精品亚洲精品| 久久这里只有精品视频网| 成人开心网精品视频| 亚洲黄一区二区三区| 欧美亚洲国产bt| 青草av.久久免费一区| 26uuu国产电影一区二区| 国产91在线观看| 亚洲精品久久7777| 欧美一级视频精品观看| 国产精品1区二区.| 一区二区三区在线观看动漫| 8v天堂国产在线一区二区| 国产精品一级在线| 亚洲欧洲日产国产综合网| 精品视频1区2区3区| 精品一区二区三区免费播放 | 91视频在线观看免费| 午夜精品一区二区三区免费视频 | 国产一区二区三区精品视频| 国产精品色眯眯| 欧美日韩一区三区四区| 久久国产福利国产秒拍| 18成人在线视频| 制服丝袜av成人在线看| 成人午夜视频福利| 午夜视频一区二区| 国产日韩在线不卡| 欧美日韩中文另类| 国产精品538一区二区在线| 亚洲制服丝袜av| 久久网这里都是精品| 91极品美女在线| 国产中文字幕一区| 亚洲综合激情网| 久久综合成人精品亚洲另类欧美 | 亚洲中国最大av网站| 久久网站热最新地址| 色婷婷精品久久二区二区蜜臂av | 久久夜色精品国产欧美乱极品| av电影天堂一区二区在线 | 久久免费午夜影院| 欧美色窝79yyyycom| 国产成人在线视频网站| 天天av天天翘天天综合网| 国产精品蜜臀av| 日韩免费成人网| 欧美中文字幕一区| 成人国产一区二区三区精品| 蜜桃av一区二区| 亚洲国产精品天堂| 国产精品麻豆欧美日韩ww| 日韩午夜精品视频| 欧美伊人精品成人久久综合97| 国产suv精品一区二区三区| 日产欧产美韩系列久久99| 亚洲日穴在线视频| 中文字幕欧美区| 精品国产免费久久| 91精品国产乱码| 欧美日韩日日夜夜| 在线看不卡av| www.亚洲精品| 成人激情免费网站| 国产乱子轮精品视频| 久久电影网电视剧免费观看| 亚洲第一主播视频| 亚洲综合视频在线观看| 亚洲婷婷在线视频| 国产精品天干天干在观线| 精品国产在天天线2019| 欧美一级午夜免费电影| 欧美久久久久久蜜桃| 欧美日韩综合一区| 91国模大尺度私拍在线视频| 不卡视频一二三| 国产成人精品亚洲777人妖| 国内精品伊人久久久久av一坑| 奇米在线7777在线精品| 天堂一区二区在线免费观看| 午夜精品久久久久久久蜜桃app| 亚洲精品乱码久久久久| 亚洲精品伦理在线| 一区二区三区在线不卡| 亚洲综合丝袜美腿| 亚洲国产日韩av| 亚洲国产精品久久不卡毛片| 亚洲小说欧美激情另类| 亚洲国产精品一区二区www| 亚洲一区二区在线观看视频| 一个色综合网站| 一区二区三区国产精华| 亚洲中国最大av网站| 香蕉加勒比综合久久| 亚洲成人7777| 奇米精品一区二区三区在线观看| 日韩av中文在线观看| 蜜桃精品视频在线| 久久99精品久久久久婷婷| 久久99精品一区二区三区三区| 国产一区二区三区四区五区美女 | 国产精品网站导航| 中文字幕一区二区三区在线播放| 亚洲人成精品久久久久| 玉足女爽爽91| 视频一区国产视频| 久久99精品久久只有精品| 国产一区二区在线观看免费| 国产91丝袜在线播放0|