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

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

?? gamecanvas.java

?? 一個手機JAVA游戲,MDIP2的運行環境,包括所有的資源和源代碼,卡片游戲
?? 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免费观看| 韩国一区二区三区| 国产成人免费视频| 99国产麻豆精品| 欧美性大战xxxxx久久久| 在线视频综合导航| 91精品国产麻豆国产自产在线| 欧美一级理论片| 久久久久99精品国产片| 亚洲三级理论片| 人人狠狠综合久久亚洲| 国产成人h网站| 91麻豆免费看| 欧美成人性战久久| 国产精品色哟哟网站| 一区二区三区欧美亚洲| 久久精品国产成人一区二区三区| 欧美高清视频在线高清观看mv色露露十八 | 久久电影网站中文字幕 | 成人激情动漫在线观看| 色综合欧美在线视频区| 91麻豆精品国产91久久久使用方法 | 午夜精品久久久久久| 激情久久久久久久久久久久久久久久| 懂色av中文一区二区三区 | 久久精品国产久精国产| 国产a精品视频| 91精品国产综合久久福利软件 | 丝袜美腿亚洲综合| 国产精品资源在线看| 色88888久久久久久影院野外| 欧美一区二区三区在线观看视频| 国产精品传媒入口麻豆| 免费人成精品欧美精品 | 精品一区二区三区久久久| 91理论电影在线观看| 精品国产一区二区三区久久久蜜月 | 久久久久国产免费免费| 亚洲国产va精品久久久不卡综合| 国产成人亚洲综合a∨婷婷图片 | 欧美视频在线一区二区三区 | 国产欧美一二三区| 污片在线观看一区二区| 91麻豆国产精品久久| 国产婷婷一区二区| 久久国产免费看| 欧美浪妇xxxx高跟鞋交| 亚洲日本va在线观看| 国产91在线看| 精品国产a毛片| 免费观看久久久4p| 欧美日韩国产综合一区二区| 亚洲人成网站影音先锋播放| 国产二区国产一区在线观看| 欧美变态凌虐bdsm| 麻豆成人综合网| 日韩精品一区二区三区老鸭窝| 日韩主播视频在线| 欧美色倩网站大全免费| 亚洲一区二区视频在线| 色吧成人激情小说| 国产激情91久久精品导航| 日韩色视频在线观看| 日本午夜精品视频在线观看 | 欧美亚洲一区二区在线观看| 国产精品乱人伦| 99vv1com这只有精品| 日韩美女精品在线| 色天天综合色天天久久| 亚洲一级片在线观看| 欧美日韩在线免费视频| 午夜精品一区二区三区免费视频 | 肉肉av福利一精品导航| 欧美另类久久久品| 蜜桃视频一区二区| 国产日韩在线不卡| 91日韩在线专区| 午夜精品福利在线| 精品国内二区三区| 91在线精品秘密一区二区| 亚洲成av人片在线| 久久女同互慰一区二区三区| 成人性生交大合| 亚洲自拍偷拍图区| 日韩女优毛片在线| zzijzzij亚洲日本少妇熟睡| 一区二区三区中文字幕在线观看| 欧美日韩精品一区二区三区蜜桃| 久久99久久久欧美国产| 国产精品久久久久7777按摩| 欧美最猛性xxxxx直播| 日韩av高清在线观看| 久久综合视频网| 91精品办公室少妇高潮对白| 日韩成人一级片| 国产亚洲美州欧州综合国| 91网站最新网址| 蜜臀av性久久久久蜜臀aⅴ | 91色九色蝌蚪| 蜜臀av性久久久久av蜜臀妖精| 中文字幕乱码久久午夜不卡| 欧美视频一区二区在线观看| 国内精品免费**视频| 亚洲精品你懂的| 国产欧美精品一区aⅴ影院| 欧美日韩黄色一区二区| 91精品国产综合久久福利软件 | 日本精品一级二级| 日本va欧美va欧美va精品| 国产精品久久免费看| 日韩欧美在线影院| 色婷婷久久久综合中文字幕| 国产在线播精品第三| 午夜精品免费在线观看| 国产精品美女一区二区| 精品日产卡一卡二卡麻豆| 欧美综合色免费| 不卡视频一二三| 国产精品资源在线看| 美女在线一区二区| 亚洲最大的成人av| 最新久久zyz资源站| 精品国产露脸精彩对白| 7777精品伊人久久久大香线蕉经典版下载 | 欧美成人性战久久| 欧美另类z0zxhd电影| 色噜噜狠狠一区二区三区果冻| 高清在线成人网| 国产高清不卡一区| 精品一区二区三区av| 蜜桃av一区二区在线观看| 亚洲成人动漫在线观看| 亚洲一二三四区不卡| 亚洲日本一区二区三区| 亚洲欧洲日韩一区二区三区| 国产欧美日韩精品一区| 国产欧美一区二区精品忘忧草 | 91丨porny丨中文| 成人免费精品视频| 丁香激情综合五月| 99久久er热在这里只有精品66| 国产成人精品一区二| 国产丶欧美丶日本不卡视频| 精东粉嫩av免费一区二区三区| 久久se精品一区二区| 国产一区在线不卡| 成人精品电影在线观看| 99精品视频在线免费观看| 99久久精品国产导航| 在线观看视频91| 69av一区二区三区| 欧美精品一区二区三区高清aⅴ| 精品国产3级a| 中文字幕日韩一区| 一区二区国产视频| 日韩有码一区二区三区| 免费观看在线色综合| 国产成人鲁色资源国产91色综| 成人av在线一区二区三区| 色综合激情五月| 911精品产国品一二三产区| 亚洲精品在线三区| 国产精品美女久久久久av爽李琼| 亚洲免费毛片网站| 日产国产欧美视频一区精品| 极品少妇xxxx偷拍精品少妇| 成人免费观看av| 欧美午夜免费电影| 欧美精品一区二区三区很污很色的| 中文av一区二区| 五月天欧美精品| 国产v日产∨综合v精品视频| 欧亚一区二区三区| 久久亚洲私人国产精品va媚药| 中文字幕一区二区三区四区| 亚洲高清一区二区三区| 国内精品自线一区二区三区视频| 91丨九色丨蝌蚪丨老版| 欧美mv和日韩mv的网站| 久久99国产精品麻豆| 成人晚上爱看视频| 欧美一区二区黄色| 一区在线观看免费| 韩国欧美国产1区| 欧美日韩黄视频| 亚洲视频一区二区在线| 另类人妖一区二区av| 欧美午夜影院一区| 中文字幕视频一区| 国产一区二区在线观看视频|