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

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

?? gamecanvas.java

?? J2ME PokerMachine的游戲內容描繪與操作所用的類
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/*
 * GameCanvas.java
 *
 * Copyright 2001 SkyArts. All Rights Reserved.
 */
import javax.microedition.lcdui.*;
import java.util.*;

/**
 * PokerMachine的游戲內容描繪與操作所用的類
 *
 * @author  Hideki Yonekawa
 * @version 1.0
 */
class GameCanvas extends Canvas implements Runnable, CommandListener {
	/** 用來儲存橫向長度的變量 */
	private int					screenWidth;
	/** 用來儲存縱向長度的變量 */
	private int					screenHeight;

	/** 儲存了PokerMachine對象的變量 */
	private PokerMachine		pokerMachine;

	/** Start指令變量 */
	private Command				startCmd		= new Command("Start", Command.SCREEN, 1);
	/** Exit指令變量 */
	private Command				exitCmd			= new Command("Exit", Command.SCREEN, 1);
	/** OK指令變量 */
	private Command				okCmd			= new Command("OK", Command.SCREEN, 1);
	/** Quit指令變量 */
	private Command				quitCmd			= new Command("Quit", Command.SCREEN, 1);

	/** 儲存了默認字體的變量 */
	private Font				defFont				= Font.getDefaultFont();

	/** 代表標題顯示狀態的常量 */
	private static final short	TITLE			= 0;
	/** 代表下注畫面顯示狀態的常量 */
	private static final short	BET			= 1;
	/** 代表撲克牌分配畫面顯示狀態的常量 */
	private static final short	DEAL			= 2;
	/** 代表撲克牌選擇顯示狀態的常量 */
	private static final short	SELECT			= 3;
	/** 代表撲克牌的交換畫面顯示狀態的常量 */
	private static final short	RE_DEAL			= 4;
	/** 代表結果顯示畫面之顯示狀態的常量 */
	private static final short	RESULT			= 5;
	/** 代表游戲結束狀態的常量 */
	private static final short	GAME_OVER		= 9;
	/** 代表停止賭注狀態的常量 */
	private static final short	BE_PLAYED_OUT		= 99;
	/** 代表儲存現在顯示狀態的變量 */
	private short		gameState;

	/** Royal Straight Flush的賠率常量 */
	private static final short	Royal_Flush_Rate	= 400;
	/** Five Card的賠率常量 */
	private static final short	Five_of_a_Kind_Rate	= 100;
	/** Straight Flash的賠率常量 */
	private static final short	Straight_Flush_Rate	= 50;
	/** Four Card的賠率常量 */
	private static final short	Four_of_a_Kind_Rate	= 25;
	/** Full House的賠率常量 */
	private static final short	Full_House_Rate		= 8;
	/** Flush的賠率常量 */
	private static final short	Flush_Rate		= 5;
	/** Straight的賠率常量 */
	private static final short	Straight_Rate		= 4;
	/** Three Card的賠率常量 */
	private static final short	Three_of_a_Kind_Rate    = 3;
	/** Two Pair的賠率常量 */
	private static final short	Two_Pair_Rate		= 2;
	/** One Pair的賠率常量 */
	private static final short	Jacks_or_Better_Rate    = 1;
	/** 撲克牌沒有符合任何牌面時的賠率常量 */
	private static final short	NOTHING			= -1;

	/** 用來在準備撲克牌時使用的Random對象 */
	private Random			random			= new Random();

	/** 儲存了默認所持金額的常量 */
	private static final int	DEFAULT_CASH		= 100;

	/** 儲存了停止賭注金額的常量 */
	private static final int	MAX_CASH		= 9999999;

	/** 儲存有現在所持金額的變量 */
	private int				cash;

	/** 在下注的時候暫時儲存所持金額的變量 */
	private int				cash4Bet;

	/** 儲存下注的變量 */
	private int				betCash;

	/** 儲存下注的字符串的變量,使用在改變下注的時候 */
	private String				betCashSt;

	/** 儲存賭金的變量 */
	private int				cashPrize;

	/** 儲存了默認所持金額的常量 */
	private short				winning;

	/** 將游戲中所使用的值初始化的方法 */
	private Card[]				cards;

	/** 儲存選取牌張數的變量 */
	private int				selectCardCount;

	/** 用來儲存使用在標題畫面中的圖像的變量 */
	private Image				titleImg;

	/**
	 * 構造函數
	 * @param pokerMachine	PokerMachine對象
	 */
	GameCanvas(PokerMachine	pokerMachine) {
		this.pokerMachine = pokerMachine;

		//取得畫面的可描繪范圍
		screenWidth = getWidth();
		screenHeight = getHeight();

		//登錄指令監聽
		setCommandListener(this);

		//取得標題圖像
		try {
			titleImg = Image.createImage("/title.png");

		}catch(Exception e) {}

		//制作撲克牌
		cards = new Card[5];
		//先傳遞要描繪的X,Y坐標
		int tmpDrawX = (screenWidth - Card.WIDTH * cards.length) /2;
		int tmpDrawY = screenHeight - Card.HEIGHT -5;
		for(int i=0; i < cards.length; i++) {
			cards[i] = new Card();
			cards[i].setDrawX(tmpDrawX);
			cards[i].setDrawY(tmpDrawY);

			tmpDrawX = tmpDrawX + Card.WIDTH;
		}

		//將游戲的狀態顯示在標題
		doTitle();
	}

	/** 將游戲中所使用的值初始化的方法 */
	private void doGameInit() {
		//將所持金額變為默認值
		cash = DEFAULT_CASH;
	}

	/** 在每一回合結束后進行值的初始化的方法 */
	private void doTurnInit() {
		//將牌蓋起來
		for(int i=0; i < cards.length; i++) {
			cards[i].setCardState(Card.BACK_STATE);
		}
		//抽取新的牌
		setNewCards();

		betCash = 0;
		cashPrize = 0;
		selectCardCount = 0;
		betCashSt = "0";
		cash4Bet = cash;
	}

	/** 進行標題顯示的方法 */
	private void doTitle() {
		//將游戲狀態變為顯示標題
		gameState = TITLE;

		//以防萬一先將游戲中的指令刪除
		removeCommand(okCmd);
		removeCommand(quitCmd);

		//顯示標題畫面
		repaint();
		//新增指令
		addCommand(exitCmd);
		addCommand(startCmd);
	}

	/** 啟動描繪線程的方法 */
	private void doThreadStart() {
		new Thread(this).start();
	}

	/**
	 * 進行描繪的方法,通常不會從類本身調用
	 * @param	g	Graphics對象
	 */
	protected void paint(Graphics g) {
		//設定字體
		g.setFont(defFont);

		String drawSt;
		String drawSt2 = null;
		int drawX, drawY, stWidth, drawHeight, tmpDrawX, tmpDrawY;

		int stHeight = defFont.getHeight();

		//根據游戲的狀態來改變描繪內容
		switch(gameState) {
			case TITLE:		//顯示標題
				//以綠色清除背景
				g.setColor(0x00FFFFFF);
				g.fillRect(0, 0, screenWidth, screenHeight);

				//描繪標題圖像
				drawX = (screenWidth - titleImg.getWidth()) /2;
				g.drawImage(titleImg, drawX, 0, Graphics.TOP|Graphics.LEFT);

				//顯示著作權
				g.setColor(0x00000000);
				drawSt = "Copyright 2001";
				drawX = (screenWidth - defFont.stringWidth(drawSt)) / 2;
				drawY = getHeight() - stHeight *2;
				g.drawString(drawSt, drawX, drawY, Graphics.TOP|Graphics.LEFT);

				drawSt = "SkyArts.com";
				drawX = (screenWidth - defFont.stringWidth(drawSt)) / 2;
				drawY = drawY + stHeight;
				g.drawString(drawSt, drawX, drawY, Graphics.TOP|Graphics.LEFT);
			break;

			case BET:		//顯示下注畫面
				//以綠色清除背景
				g.setColor(0x00009900);
				g.fillRect(0, 0, screenWidth, screenHeight);

				drawHeight = stHeight * 4 +8;
				drawX = 0;
				drawY = 0;
				//底色
				g.setColor(0x00000000);
				g.fillRoundRect(drawX, drawY, screenWidth, drawHeight, 7, 7);
				g.setColor(0x00FFFFFF);
				g.fillRoundRect(drawX+2, drawY+2, screenWidth-4, drawHeight-4, 7, 7);
				//第1列
				drawX = 4;
				drawY = 3;
				drawSt = "請選擇";
				g.setColor(0x00000000);
				//第2列
				g.drawString(drawSt, drawX, drawY, Graphics.TOP|Graphics.LEFT);
				drawSt = "下注";
				g.drawString(drawSt, drawX, drawY +stHeight, Graphics.TOP|Graphics.LEFT);


				//Cash
				drawSt = "所持金額:";
				g.drawString(drawSt, drawX, drawY+stHeight*2, Graphics.TOP|Graphics.LEFT);

				drawSt = String.valueOf(cash4Bet);
				tmpDrawX = screenWidth -drawX -defFont.stringWidth(drawSt) -2;
				tmpDrawY = drawY + stHeight*2;
				g.drawString(drawSt, tmpDrawX, tmpDrawY, Graphics.TOP|Graphics.LEFT);

				//Bet
				drawSt = "下注金額:";
				g.drawString(drawSt, drawX, drawY+defFont.getHeight()*3, Graphics.TOP|Graphics.LEFT);
				drawSt = betCashSt;
				tmpDrawX = screenWidth -drawX -defFont.stringWidth(drawSt) -2;
				tmpDrawY = drawY + stHeight*3;
				g.drawString(drawSt, tmpDrawX, tmpDrawY, Graphics.TOP|Graphics.LEFT);

				g.setStrokeStyle(Graphics.DOTTED);
				tmpDrawY = tmpDrawY + defFont.getBaselinePosition() +1;
				g.drawLine(tmpDrawX, tmpDrawY, tmpDrawX + defFont.stringWidth(drawSt),tmpDrawY);

				g.setStrokeStyle(Graphics.SOLID);
			break;

			case DEAL:	//顯示撲克牌分配畫面
			case RE_DEAL:	//顯示撲克牌的交換
				drawCards(g);
			break;

			case SELECT:	//顯示撲克牌選擇畫面
				drawCards(g);
				drawHeight = stHeight * 2 +6;
				drawX = 0;
				drawY = 0;
				//底色
				g.setColor(0x00000000);
				g.fillRoundRect(drawX, drawY, screenWidth, drawHeight, 7, 7);
				g.setColor(0x00FFFFFF);
				g.fillRoundRect(drawX+2, drawY+2, screenWidth-4, drawHeight-4, 7, 7);
				//第1列
				drawX = 4;
				drawY = 3;
				drawSt = "請選擇";
				g.setColor(0x00000000);
				//第2列
				g.drawString(drawSt, drawX, drawY, Graphics.TOP|Graphics.LEFT);
				drawSt = "要交換的撲克牌";
				g.drawString(drawSt, drawX, drawY +stHeight, Graphics.TOP|Graphics.LEFT);

				//在撲克牌上
				g.setColor(0x00FFFFFF);
				drawY = screenHeight - Card.HEIGHT -7 -stHeight;
				tmpDrawX = (screenWidth - Card.WIDTH * cards.length) /2;
				int cardsLeng = cards.length;
				for(int i=0; i < cardsLeng; i++) {
					drawSt = String.valueOf(i +1);
					drawX = tmpDrawX + (Card.WIDTH - defFont.stringWidth(drawSt)) / 2;
					g.drawString(drawSt, drawX, drawY, Graphics.TOP|Graphics.LEFT);
					tmpDrawX = tmpDrawX + Card.WIDTH;
				}
			break;

			case RESULT:		//顯示結果
			case GAME_OVER:		//游戲結束狀態
			case BE_PLAYED_OUT:	//停止賭注狀態
				drawCards(g);

				drawHeight = stHeight * 3 +6;
				drawX = 0;
				drawY = 0;
				//底色
				g.setColor(0x00000000);
				g.fillRoundRect(drawX, drawY, screenWidth, drawHeight, 7, 7);
				g.setColor(0x00FFFFFF);
				g.fillRoundRect(drawX+2, drawY+2, screenWidth-4, drawHeight-4, 7, 7);
				switch(winning) {		//根據牌面來改變消息
					case Royal_Flush_Rate:
						drawSt = "Royal Straight";
						drawSt2 = "Flush!!!!!!!!";
					break;

					case Five_of_a_Kind_Rate:
						drawSt = "Five Card!";
						drawSt2 = "Excellent!!";
					break;

					case Straight_Flush_Rate:
						drawSt = "Straight Flush!";
						drawSt2 = "Great!!";
					break;

					case Four_of_a_Kind_Rate:
						drawSt = "Four Card!";
						drawSt2 = "Great job!!";
					break;

					case Full_House_Rate:
						drawSt = "Full House!";
						drawSt2 = "Nice hand!!";
					break;

					case Flush_Rate:
						drawSt = "Flush!";
						drawSt2 = "Wow!!";
					break;

					case Straight_Rate:
						drawSt = "Straight!";
						drawSt2 = "Wonderful!!";
					break;

					case Three_of_a_Kind_Rate:
						drawSt = "Three Card!";
						drawSt2 = "Oh happy day!!";
					break;

					case Two_Pair_Rate:
						drawSt = "Two Pair!";
						drawSt2 = "Lucky you!!";
					break;

					case Jacks_or_Better_Rate:
						drawSt = "One Pair!";
						drawSt2 = "You are good!!";
					break;

					default:
						drawSt = "Nothing!";
					break;

				}
				g.setColor(0x00000000);
				//第1列
				drawX = 4;
				drawY = 3;
				g.drawString(drawSt, drawX, drawY, Graphics.TOP|Graphics.LEFT);
				//第2列

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91丨porny丨户外露出| 亚洲欧美日韩中文字幕一区二区三区 | 综合激情成人伊人| 成人avav影音| 亚洲精品中文在线观看| 欧美亚洲高清一区| 日韩av在线发布| 久久综合久久久久88| 岛国精品一区二区| 亚洲国产日产av| 一区二区三区中文字幕精品精品 | 99精品热视频| 丝袜诱惑亚洲看片| 精品成人a区在线观看| 成人一级黄色片| 亚洲国产精品一区二区www| 欧美一区二区三区免费| 粉嫩高潮美女一区二区三区 | 欧美一区二区三区在线视频| 国内精品不卡在线| 亚洲精品视频免费观看| 欧美不卡视频一区| 大陆成人av片| 日韩中文字幕区一区有砖一区| www国产精品av| 97se亚洲国产综合自在线| 香蕉久久夜色精品国产使用方法 | 美国十次综合导航| 亚洲欧洲成人精品av97| 777xxx欧美| 粉嫩av一区二区三区粉嫩| 午夜免费久久看| 国产欧美日韩精品在线| 91麻豆精品国产91久久久久久久久 | 亚洲精品老司机| www国产成人免费观看视频 深夜成人网| 成人国产精品免费观看动漫| 日韩激情一区二区| 亚洲精选一二三| 久久精品欧美日韩精品| 欧美人狂配大交3d怪物一区| 国产福利91精品一区二区三区| 亚洲成在人线在线播放| 亚洲欧美在线观看| 精品国产人成亚洲区| 欧美日韩精品一区二区三区四区 | 亚洲福利视频一区| 日韩美女精品在线| 国产日韩精品一区二区浪潮av| 欧美精品三级日韩久久| 91免费视频网址| 国产高清精品网站| 久久精品国产秦先生| 性感美女久久精品| 亚洲一区二区美女| 国产精品视频麻豆| 久久久久青草大香线综合精品| 在线成人av网站| 91精彩视频在线| 91黄色小视频| 色94色欧美sute亚洲线路一ni| 成人午夜电影网站| 国产宾馆实践打屁股91| 国产又粗又猛又爽又黄91精品| 日本视频一区二区| 青青草伊人久久| 日韩av电影天堂| 日韩国产成人精品| 日韩av在线发布| 久久精品国产免费看久久精品| 肉丝袜脚交视频一区二区| 亚洲国产va精品久久久不卡综合| 亚洲美女电影在线| 综合婷婷亚洲小说| 亚洲精品国产成人久久av盗摄| 亚洲国产成人一区二区三区| 国产日产欧美一区| 国产精品视频第一区| 中文字幕视频一区二区三区久| 亚洲欧洲另类国产综合| 亚洲视频你懂的| 亚洲综合激情另类小说区| 亚洲一区二区三区四区的| 亚洲在线视频网站| 视频一区二区不卡| 欧美a级理论片| 免费成人小视频| 国产一区二区三区四区五区美女| 国产在线视频一区二区三区| 国产精品一区二区三区99| 懂色av中文一区二区三区| 97超碰欧美中文字幕| 欧美特级限制片免费在线观看| 欧美日韩你懂的| 日韩精品中午字幕| 欧美国产欧美亚州国产日韩mv天天看完整 | 亚洲色图欧洲色图婷婷| 亚洲国产精品久久不卡毛片| 日产国产欧美视频一区精品| 精品一区二区三区免费观看 | 日本高清不卡一区| 欧美精品一卡两卡| 久久精品欧美一区二区三区麻豆| 综合在线观看色| 日本成人在线电影网| 国产精品99久久久久久久女警 | 国产精品一区二区三区网站| 色综合久久六月婷婷中文字幕| 在线视频观看一区| 精品精品国产高清a毛片牛牛| 国产片一区二区| 亚洲aaa精品| 成人三级在线视频| 欧美日韩精品一区二区| 久久久久九九视频| 午夜久久久久久| 成人蜜臀av电影| 3d动漫精品啪啪| 国产精品不卡视频| 美日韩一级片在线观看| 91丨九色丨蝌蚪丨老版| 日韩欧美成人一区| 伊人色综合久久天天| 国内精品免费**视频| 欧洲亚洲国产日韩| 国产欧美日韩在线观看| 日韩av一区二区三区四区| 99久久国产综合色|国产精品| 6080午夜不卡| 一区二区在线观看免费| 国产一区二区三区免费在线观看| 91官网在线观看| 欧美国产一区在线| 看电影不卡的网站| 欧美吞精做爰啪啪高潮| 国产精品嫩草99a| 久久爱另类一区二区小说| 精品视频资源站| 亚洲婷婷综合色高清在线| 国产精品一二三| 精品久久免费看| 午夜激情一区二区三区| 91福利国产精品| 成人欧美一区二区三区| 国产成人av资源| 精品国产凹凸成av人导航| 日韩专区中文字幕一区二区| 色8久久人人97超碰香蕉987| 国产精品三级视频| 国产一区二区伦理片| 日韩免费福利电影在线观看| 午夜视频一区二区三区| 欧美日韩综合色| 一区二区三国产精华液| 一本色道久久综合精品竹菊| 亚洲视频免费在线观看| av电影天堂一区二区在线| 国产精品久久久久久久久晋中| 国产激情视频一区二区在线观看 | 亚洲欧美视频在线观看| 成人av电影在线播放| 国产精品视频第一区| 成人黄色电影在线| 国产精品国产馆在线真实露脸 | 日本视频在线一区| 欧美一级生活片| 久久不见久久见免费视频1| 精品奇米国产一区二区三区| 免费观看30秒视频久久| 欧美成人综合网站| 国精产品一区一区三区mba桃花| 2024国产精品视频| 国产精品中文字幕日韩精品 | 欧美日韩久久不卡| 首页综合国产亚洲丝袜| 在线播放国产精品二区一二区四区| 亚洲成精国产精品女| 欧美日韩国产在线播放网站| 偷拍一区二区三区四区| 91精品国产麻豆| 国产一区二区主播在线| 国产亚洲一区二区三区在线观看| 国产91富婆露脸刺激对白| 国产精品成人免费精品自在线观看| 91麻豆swag| 日韩av一级电影| 久久亚洲欧美国产精品乐播 | 国产精品视频在线看| 日本韩国欧美在线| 天天操天天干天天综合网| 欧美成人乱码一区二区三区| 国产91富婆露脸刺激对白| 亚洲情趣在线观看| 欧美一区二区网站| 国产精品中文字幕一区二区三区| 亚洲欧美综合另类在线卡通| 欧美日韩久久一区二区| 国产福利一区二区| 亚洲国产综合色| 久久久精品国产免大香伊 |