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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rpgcanvas.java

?? 一個(gè)J2ME的RPG游戲
?? JAVA
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
						Image tempimage = npc.img;
						vectorpicture.addElement(tempimage);
						npc.pause = true;
					}
				}
			}
			//與倉(cāng)庫(kù)入口碰撞,進(jìn)入場(chǎng)景二
			if (mrole.collidesWith(load.imgmap3, true)) {
				scene = 2;
				inputmode = 2;
				mrole.roomx = 80;
				mrole.roomy = 153;
				removeCommand(mainMenu);
				// load.maproom1layer2.setVisible(true);
				// load.maproom1layer1.setVisible(true);
				// load.maproom1ground.setVisible(true);
			}
		}
	}
	
	//與老人的對(duì)話
	public void drawlist() {
		g.setColor(0, 0, 100);
		g.fillRect(0, getHeight() - 40, getWidth(), 40);
		g.setColor(255, 255, 128);

		g.drawString(choose1, 50, getHeight() - 30, 0);
		g.drawString(choose2, 50, getHeight() - 20, 0);

		g.setColor(255, 255, 0);
		g.fillArc(45, selecty, 5, 5, 0, 360);
		Font ff = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN,
				Font.SIZE_SMALL);
		g.setFont(ff);
		g.setColor(255, 255, 255);
		g
				.drawString("Push FIRE", screenwidth, screenheight, g.BOTTOM
						| g.RIGHT);
		// if((key&FIRE_PRESSED)!=0)showyesorno=false;
	}
	
	//在場(chǎng)景一加載游戲畫面
	public void append() {
		lmscene1.append(mrole);
		lmscene1.append(load.npc[0]);
		lmscene1.append(load.npc[1]);
		lmscene1.append(load.npc[2]);
		lmscene1.append(load.npc[3]);
		lmscene1.append(load.npc[4]);
		lmscene1.append(load.npc[5]);
		lmscene1.append(load.property[0]);
		lmscene1.append(load.property[1]);
		lmscene1.append(load.property[2]);
		lmscene1.append(load.property[3]);
		lmscene1.append(load.property[5]);
		lmscene1.append(load.imgmap1);
		lmscene1.append(load.imgmap2);
		lmscene1.append(load.imgmap3);
		lmscene1.append(load.hourse);
		lmscene1.append(load.mapbackground);
	}

	//場(chǎng)景二加載游戲畫面
	public void append2() {
		lmscene2.append(mrole);
		if (isBossDead && (mroleProperty[0] >= 2))
			lmscene2.append(load.property[4]);
		// lmscene2.append(load.flagLayer);
		lmscene2.append(load.maproom1layer2);
		lmscene2.append(load.maproom1layer1);
		lmscene2.append(load.maproom1ground);
	}

	// 輸入函數(shù),負(fù)責(zé)主角和屏幕的移動(dòng)

	// 主線成,
	int i = 0;
	public void run() {
		// long startTime = System.currentTimeMillis();
		Thread currentThread = Thread.currentThread();

		while (currentThread == t) {
			input();          //獲取輸入
			switch (gameState) {
			case GAME_START:
				addCommand(mainMenu);
				nextmessage();
				collidetest();  //碰撞檢測(cè)
				draw();       //繪制畫面
				break;
			case GAME_PAUSE:
				drawPause();   //游戲暫停
				break;
			case GAME_MENU:
				drawMenu();    //游戲菜單
				break;
			case GAME_ABOUT:
				drawMenuAbout();   //游戲介紹
				break;
			}
			
			this.flushGraphics();

			try {
				Thread.sleep(150);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}

			// long time2 = System.currentTimeMillis() - startTime;
			// if (time2 < interval) {
			// try {
			// // t.sleep(interval - time2);            //刷新太快,游戲人物滑步
			// Thread.sleep(500);
			// } catch (InterruptedException e) {
			// e.printStackTrace();
			// }
			// } else
			// Thread.yield();
		}
	}
	
	//繪制菜單
	public void drawMenu() {
		g.setColor(255, 255, 255); // 白色, g.setColor(255);代表藍(lán)色,相當(dāng)于(0,0,255) 與1.0不同
		g.fillRect(0, 0, screenwidth, screenheight);
		g.setColor(0);

		int menuOffset = (screenheight - font.getHeight() * 6) / 2;
		g.setFont(font);
		g.setClip(0, 0, screenwidth, screenheight);
		// g.drawImage(image, 0, 0, g.LEFT | g.TOP);
		int item0Color = 0;
		int item1Color = 0;
		int item2Color = 0;
		int item3Color = 0;
		int item4Color = 0;
		int item5Color = 0;

		switch (menuState) {        //使相應(yīng)菜單狀態(tài)顏色變紅
		case MENU_START:
			item0Color = 255 << 16;
			break;
		case MENU_LOAD:
			item1Color = 255 << 16;
			break;
		case MENU_VOL:
			item2Color = 255 << 16;
			break;
		case MENU_QUIT:
			item3Color = 255 << 16;
			break;
		case MENU_ABOUT:
			item4Color = 255 << 16;
			break;
		case MENU_SAVE:
			item5Color = 255 << 16;
			break;
		}
		g.setColor(item0Color);
		g.drawString("新游戲", (screenwidth - font.stringWidth("新游戲")) / 2,
				menuOffset + font.getHeight() * 0, g.LEFT | g.TOP);
		g.setColor(item1Color);
		g.drawString("載入進(jìn)度", (screenwidth - font.stringWidth("載入進(jìn)度")) / 2,
				menuOffset + font.getHeight() * 1, g.LEFT | g.TOP);
		g.setColor(item2Color);
		if (isVolOn) {
			g.drawString("關(guān)閉聲音", (screenwidth - font.stringWidth("關(guān)閉聲音")) / 2,
					menuOffset + font.getHeight() * 2, g.LEFT | g.TOP);
		} else {
			g.drawString("打開聲音", (screenwidth - font.stringWidth("打開聲音")) / 2,
					menuOffset + font.getHeight() * 2, g.LEFT | g.TOP);
		}
		g.setColor(item3Color);
		g.drawString("退出", (screenwidth - font.stringWidth("退出")) / 2,
				menuOffset + font.getHeight() * 3, g.LEFT | g.TOP);
		g.setColor(item4Color);
		g.drawString("關(guān)于游戲", (screenwidth - font.stringWidth("關(guān)于游戲")) / 2,
				menuOffset + font.getHeight() * 4, g.LEFT | g.TOP);
		g.setColor(item5Color);
		g.drawString("保存游戲", (screenwidth - font.stringWidth("保存游戲")) / 2,
				menuOffset + font.getHeight() * 5, g.LEFT | g.TOP);
	}

	public void drawPause() {

	}

	//根據(jù)設(shè)定大小,自動(dòng)換行輸出的字符串
	final int CharacterNumber = 8;
	public Vector getSubsection(String str) {
		Vector vector = new Vector();
		while (!str.equals("")) {
			if (str.length() > CharacterNumber) {
				vector.addElement(str.substring(0, CharacterNumber));
				str = str.substring(CharacterNumber);
			} else {
				vector.addElement(str);
				str = "";
			}
		}
		return vector;
	}

	//游戲介紹
	public void drawMenuAbout() {
		int i = 0;
		tempH = 0;
		g.setColor(255,255,255);
		g.fillRect(0, 0, screenwidth, screenheight);
		g.setColor(0);

		String gameAbout = "游戲背景:人生百態(tài),事竟千相,"
			+ "在這個(gè)世界里,跟我們一起并行存在著各種各樣的人,"
				+ "發(fā)生著各種各樣的事," + "如果不去發(fā)現(xiàn),你永遠(yuǎn)不知道這個(gè)世界有多大," 
				+ "不去體會(huì),永遠(yuǎn)不懂得什么是酸甜苦辣。"
				+ "就讓一切從現(xiàn)在開始探索," + "一切從現(xiàn)在開始展現(xiàn)……\n";

		String gameOperation="游戲操作:上、下、左、右按鍵分別控制人物的"
			+"上、下、左、右運(yùn)動(dòng)或者上、下、左、右選擇\n";
		
		String gameFinish="游戲結(jié)束:當(dāng)游戲人物血小于等于0時(shí)游戲失敗結(jié)束,"
			+"當(dāng)游戲人物殺死boss并達(dá)到等級(jí)2后"
			+"農(nóng)場(chǎng)倉(cāng)庫(kù)刷新出一面旗子,找到旗子,游戲勝利結(jié)束。\n";
		
		g.setFont(font);
		int hWidth = screenwidth / 2;

		Vector vector = getSubsection(gameAbout);
		for ( i = 0; i < vector.size(); i++) {
			g.drawString((String) vector.elementAt(i), hWidth, gameAboutY + 5 + fHeight * i,
					Graphics.TOP | Graphics.HCENTER);
		}
		
		tempH = 5 + fHeight * i;
		vector = getSubsection(gameOperation);
		for(i = 0; i < vector.size(); i++){
			g.drawString((String) vector.elementAt(i), hWidth, gameAboutY + 5 + tempH + fHeight * i,
					Graphics.TOP | Graphics.HCENTER);
		}
		
		tempH = 5 + tempH + fHeight * i;
		vector = getSubsection(gameFinish);
		for(i = 0; i < vector.size(); i++){
			g.drawString((String) vector.elementAt(i), hWidth, gameAboutY + 5 + tempH + fHeight * i,
					Graphics.TOP | Graphics.HCENTER);
		}
		
		tempH = 5 + tempH + fHeight * i;
		vector = null;
		i = 0;

		removeCommand(backGame);
		this.addCommand(backMenu);
	}

	//聲音播放
	public void playVol() {
		if (isVolOn) {
			if (bgPlayer == null) {
				bgPlayer = new AudioPlayer("bg.mid", "audio/midi", true);
				bgPlayer.setLoop();
				bgPlayer.play();
			}
		} else {
			if (bgPlayer != null) {
				bgPlayer.stop();
				bgPlayer.close();

				bgPlayer = null;
				System.gc();
			}
		}
	}

	//加載游戲進(jìn)度
	public void loadGame() {
		// System.out.println("enter loadGame()");
		removeCommand(backGame);
		addCommand(mainMenu);
		byte[] rec = record.getRecord(1);
		// System.out.println(rec[1]);
		ByteArrayInputStream bais = new ByteArrayInputStream(rec);
		DataInputStream dis = new DataInputStream(bais);
		try {
			// isVolOn = dis.readBoolean();
			// missionmessage=dis.readUTF();
			// curmessage=dis.readUTF();
			catchcat = dis.readBoolean();
			catchcat2 = dis.readBoolean();
			showyesorno = dis.readBoolean();
			mainroleanswer = dis.readBoolean();
			inputmode = dis.readInt();
			iscollide = dis.readBoolean();
			screenx = dis.readInt();
			screeny = dis.readInt();
			tempx = dis.readInt();
			tempy = dis.readInt();
			lastscreenx = dis.readInt();
			lastscreeny = dis.readInt();
			selecty = dis.readInt();
			for (int i = 0; i < 5; i++)
				mroleProperty[i] = dis.readInt();
			roleBloodHeight = dis.readInt();
			ismessage = dis.readBoolean();
			firstTouch = dis.readBoolean();
			isbeat = dis.readBoolean();
			isFirstStart = dis.readBoolean();
			isBossDead = dis.readBoolean();
			mrole.x = dis.readInt();
			mrole.y = dis.readInt();
			load.property[0].setVisible(dis.readBoolean());
			load.property[1].setVisible(dis.readBoolean());
			load.npc[2].setVisible(dis.readBoolean());

		} catch (IOException e) {
			System.out.println("Error in loadGame() methon");
			e.printStackTrace();
		}
	}

	//保存游戲狀態(tài)
	public void saveGameState() {
		removeCommand(backGame);
		addCommand(mainMenu);
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		DataOutputStream dos = new DataOutputStream(baos);
		try {
			// dos.writeBoolean(isVolOn);
			// dos.writeUTF(missionmessage);
			// dos.writeUTF(curmessage);
			dos.writeBoolean(catchcat);
			dos.writeBoolean(catchcat2);
			dos.writeBoolean(showyesorno);
			dos.writeBoolean(mainroleanswer);
			dos.writeInt(inputmode);
			dos.writeBoolean(iscollide);
			dos.writeInt(screenx);
			dos.writeInt(screeny);
			dos.writeInt(tempx);
			dos.writeInt(tempy);
			dos.writeInt(lastscreenx);
			dos.writeInt(lastscreeny);
			dos.writeInt(selecty);
			for (int i = 0; i < 5; i++)
				dos.writeInt(mroleProperty[i]);
			dos.writeInt(roleBloodHeight);
			dos.writeBoolean(ismessage);
			dos.writeBoolean(firstTouch);
			dos.writeBoolean(isbeat);
			dos.writeBoolean(isFirstStart);
			dos.writeBoolean(isBossDead);
			dos.writeInt(mrole.x);
			dos.writeInt(mrole.y);
			dos.writeBoolean(load.property[0].isVisible());
			dos.writeBoolean(load.property[1].isVisible());
			dos.writeBoolean(load.npc[2].isVisible());

			if(record.IsEmpty())this.record.addRecord(baos.toByteArray());
			else 
				this.record.SetRecord(1, baos.toByteArray());
			
			dos.close();
			baos.close();
			// System.out.println("saveGameState !!");
		} catch (IOException e) {
			System.out.println("Error in saveGameState().");
			e.printStackTrace();
		}
	}

	//重新初始化游戲
	private void reinit() {
		catchcat = false;
		catchcat2 = false;
		showyesorno = false;
		mainroleanswer = false;
		scene = 1;
		inputmode = 0;
		iscollide = false;
		selecty = 152;
		isVolOn = false;
		curmessage = null;
		missionmessage = null;
		curpicture = null;
		mrole.setFrame(1);
		mrole.x = 50;
		mrole.y = 50; // 為什么 此處用mrole.setPosition(50,50)
		// 不能重設(shè)英雄位置,是否此時(shí)設(shè)的是英雄父類的x和y坐標(biāo)
		mroleProperty[0] = 0;
		mroleProperty[1] = 0;
		mroleProperty[2] = 0;
		roleBloodHeight = 40;
		attackSelecty = screenwidth - 35;
		bossBlood = 30;
		warEnd = false; 
		menuState = MENU_START;
		isGold = false;
		isSeller = false;
		isBuy = false; 
		isSell = false; 
		forBuy = false;
		forSell = false;
		sellerAsk = false; 
		roleChoose = false; 
	}
	
	//游戲輸入
	void input() {
		key = getKeyStates();

		if (gameState == GAME_PAUSE)
			gameState = GAME_START;
		if (gameState == GAME_MENU) {  //當(dāng)游戲在菜單狀態(tài)下
			switch (key) {
			case UP_PRESSED:
				switch (menuState) {
				case MENU_START:
					if (isFirstStart)
						menuState = MENU_ABOUT;
					else
						menuState = MENU_SAVE;
					break;
				case MENU_LOAD:
					menuState = MENU_START;
					break;
				case MENU_VOL:
					menuState = MENU_LOAD;
					break;
				case MENU_QUIT:
					menuState = MENU_VOL;
					break;
				case MENU_ABOUT:
					menuState = MENU_QUIT;
					break;
				case MENU_SAVE:
					menuState = MENU_ABOUT;
					break;
				}
				break;
			case DOWN_PRESSED:
				switch (menuState) {
				case MENU_START:
					menuState = MENU_LOAD;
					break;
				case MENU_LOAD:
					menuState = MENU_VOL;
					break;
				case MENU_VOL:
					menuState = MENU_QUIT;
					break;
				case MENU_QUIT:
					menuState = MENU_ABOUT;
					break;
				case MENU_ABOUT:
					if (isFirstStart)
						menuState = MENU_START;
					else
						menuState = MENU_SAVE;
					break;
				case MENU_SAVE:

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区三区中文不卡| 亚洲免费在线观看视频| 国产精品538一区二区在线| 91视频精品在这里| 一区二区在线观看免费| 成人晚上爱看视频| 国产精品乱子久久久久| 91一区二区三区在线观看| 久久久久高清精品| 北条麻妃一区二区三区| 亚洲欧美二区三区| 免费成人结看片| 五月开心婷婷久久| 国产精品久久久久久久久快鸭| 久久免费看少妇高潮| 中文字幕一区二区视频| 亚洲综合一区二区三区| 亚洲天堂2016| 蜜臀av在线播放一区二区三区| 成人中文字幕电影| 亚洲综合视频在线观看| 日韩女优毛片在线| 成人一区二区在线观看| 亚洲不卡av一区二区三区| 久久综合999| 色天天综合久久久久综合片| 日本一区中文字幕| 中文字幕国产一区| 欧美精品视频www在线观看 | 国产人妖乱国产精品人妖| 不卡一区二区三区四区| 午夜久久久影院| 国产亚洲一区字幕| 欧美高清精品3d| 成人综合婷婷国产精品久久蜜臀| 婷婷国产v国产偷v亚洲高清| 中文字幕免费一区| 欧美一级xxx| 樱桃国产成人精品视频| 狠狠色丁香婷婷综合| 综合电影一区二区三区| 国产精品资源网| 欧美成人女星排名| 免费成人在线视频观看| 色av一区二区| 亚洲成人动漫精品| 欧美日韩mp4| 日韩精品亚洲专区| 国产日韩一级二级三级| 欧美一区二区福利在线| 91亚洲精品久久久蜜桃| 国模套图日韩精品一区二区| 亚洲伦在线观看| 久久久久99精品国产片| 日韩精品一区在线| 欧美久久久久久久久久| 在线观看视频一区| 91在线丨porny丨国产| 国产成人精品一区二区三区四区| 日韩av在线播放中文字幕| 亚洲综合无码一区二区| 最新热久久免费视频| 日本一区二区视频在线观看| 久久久夜色精品亚洲| 久久人人97超碰com| 精品日韩在线一区| 欧美成人精品高清在线播放| 欧美一区二区三区视频免费| 欧美日韩在线免费视频| 在线影院国内精品| 91久久线看在观草草青青| 99精品1区2区| 97se亚洲国产综合自在线| 波多野结衣中文一区| 成人一区二区三区视频在线观看| 国产高清视频一区| 高清国产一区二区三区| 国产69精品久久777的优势| 成人做爰69片免费看网站| 国产成人日日夜夜| 不卡一区在线观看| 99国产精品久| 欧美日韩亚洲另类| 日韩一级在线观看| 久久综合色播五月| 日本一区二区三区国色天香| 天天操天天色综合| 视频一区视频二区中文| 久久精品国产网站| 香蕉久久夜色精品国产使用方法| 国产精品乱码久久久久久| 日韩欧美色综合| 欧美一区二区三区四区视频| 欧美精品精品一区| 日韩三级免费观看| 久久婷婷国产综合精品青草| 日本一区二区三区在线观看| 精品国产成人系列| 精品久久久三级丝袜| 日本一区二区三级电影在线观看 | 久久网站热最新地址| 久久久久久久久久久黄色| 欧美高清在线精品一区| 一区二区三区欧美亚洲| 美美哒免费高清在线观看视频一区二区 | 久久99国内精品| 成人免费视频免费观看| 欧美影片第一页| 精品国产一区久久| 日韩一区在线看| 美国十次综合导航| 91免费视频网| 欧美xxxx在线观看| 亚洲图片欧美激情| 奇米精品一区二区三区在线观看 | 久久久久久久久久久久久女国产乱| 国产精品嫩草影院com| 亚洲国产色一区| 国产精品一区二区久激情瑜伽| 色成人在线视频| 久久久久久久一区| 亚洲永久免费av| 国产精品亚洲综合一区在线观看| 欧美性做爰猛烈叫床潮| 国产馆精品极品| 精品视频全国免费看| 久久久久久久久久电影| 亚洲午夜私人影院| 国产成人鲁色资源国产91色综| 精品婷婷伊人一区三区三| 国产欧美精品一区二区色综合朱莉| 亚洲一二三四久久| 丁香五精品蜜臀久久久久99网站| 欧美日韩第一区日日骚| 亚洲欧洲日本在线| 久久成人18免费观看| 欧美日韩国产色站一区二区三区| 亚洲国产成人在线| 捆绑调教美女网站视频一区| 色欧美88888久久久久久影院| 欧美性色综合网| 欧美激情一区二区三区| 欧美色图一区二区三区| 日韩高清不卡一区二区| 精品婷婷伊人一区三区三| 一区二区三区在线视频播放| 免费看日韩a级影片| 国产精品一区二区在线观看不卡| 欧美日韩在线三级| 天堂va蜜桃一区二区三区漫画版 | 国产91精品露脸国语对白| aaa欧美大片| 国产欧美日韩在线| 久久99精品国产麻豆不卡| 欧美一区二区国产| 日韩国产欧美三级| 欧美日韩国产高清一区二区 | 亚洲欧洲成人精品av97| 成人一区在线观看| 国产日产亚洲精品系列| 裸体一区二区三区| 日韩欧美亚洲一区二区| 免费观看日韩电影| 欧美成人激情免费网| 偷拍日韩校园综合在线| 欧美精品aⅴ在线视频| 日本不卡一区二区三区 | 国产成人av电影在线| 国产亚洲欧美日韩在线一区| 国产在线精品一区二区夜色| 欧美tickle裸体挠脚心vk| 经典三级视频一区| 久久久噜噜噜久久人人看 | 欧美性猛片xxxx免费看久爱| 一区二区三区资源| 欧美日韩精品专区| 日韩精品国产欧美| 日韩限制级电影在线观看| 蜜臀久久99精品久久久画质超高清 | 91在线丨porny丨国产| 亚洲精品久久嫩草网站秘色| 一本一道波多野结衣一区二区| 亚洲一区二区三区中文字幕在线| 欧美午夜电影网| 成人黄色电影在线| 一区二区三区四区在线| 91精品国产入口| 国产精品一区二区x88av| 国产精品国产自产拍在线| 欧美中文字幕一区| 免费在线观看日韩欧美| 久久精品日产第一区二区三区高清版 | 另类小说色综合网站| 国产亚洲精品久| 色av成人天堂桃色av| 蜜桃av噜噜一区| 中文字幕亚洲区| 51午夜精品国产| 成人免费的视频| 亚洲第一在线综合网站|