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

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

?? house.java

?? 21點手機網絡游戲源碼,大家可以看看
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
	 * 功能介紹:將所有的牌排序后返回
	 * 輸入參數:無
	 * 輸出參數:經過排序后的牌
	 ****************************************************/
	public String getCards() {
		String strTmp = "";
		for (int i = 0; i <= userCardsIndex; i++) {
			strTmp = strTmp + userCards[i][0] + ",";
			strTmp = strTmp + userCards[i][1] + ",";
			strTmp = strTmp + userCards[i][2] + ",";
		}
		return strTmp;
	}

	/*****************************************************
	 * 功能介紹:取得籌碼列表
	 * 輸入參數:無
	 * 輸出參數:籌碼列表
	 * ***************************************************/
	public String getJettonList(Enumeration em, int size) {
		String strTmp = "999999,0,0,";
		for (int i = 0; i < size; i++) {
			User user = (User) em.nextElement();
			strTmp = strTmp + user.userId + "," + user.getJetton() + "," + user.getChinIn() + ",";
		}
		return strTmp;
	}

	/*****************************************************
	 * 功能介紹:玩家分牌
	 * 輸入參數:玩家id
	 * 輸出參數:無
	 ****************************************************/
	public void spread(int userId) {
		for (int i = 0; i < userCards.length; i++) {
			if (userCards[i][0] == userId) {
				userCards[i][2] = 2;
				break;
			}
		}
		//分完牌后各再發一張牌
		deal(userId, 0);
		deal(userId, 1);
		User user = (User) ctrl.userManage.getUser(String.valueOf(userId));
		user.isSpread = true; //將用戶的是否分牌設置為真
	}

	/*****************************************************
	 * 功能介紹:玩家雙倍下注
	 * 輸入參數:玩家id,要雙倍下注的牌
	 * 輸出參數:無
	 ****************************************************/
	public void doubleCard(int userId, int number) {
		deal(userId, number);
		User user = (User) ctrl.userManage.getUser(String.valueOf(userId));
		user.isDouble = true; //將用戶的是否雙倍下注設置為真
	}

	/*****************************************************
	 * 功能介紹:測試是不是所有閑家都要牌完畢,如果要牌完畢則給莊家發牌
	 * 輸入參數:無
	 * 輸出參數:無
	 ****************************************************/
	public void checkDellOver() {
		Hashtable userList = ctrl.userManage.getHouseUserList(houseId);
		Enumeration em = userList.elements();
		for (int i = 0; i < userList.size(); i++) {
			User user = (User) em.nextElement();
			if (user.userState != 4 && user.userState != 10) {
				return;
			}
		}
		gameState = 3; //普通用戶要牌完畢將游戲狀態標志為莊家要牌并進入下一盤游戲開始的等待
		//如果所有用戶都準備好了則開始給莊家發牌
		int userCarsTmp[][] = getPoint(999999);
		while (userCarsTmp[0][0] < 17) {
			deal(999999, 0);
			userCarsTmp = getPoint(999999);
		}
		sendInfoToHouseUser("12" + getCards());
		gameOver();
	}

	/*****************************************************
	 * 功能介紹:取得指定用戶牌的列表
	 * 輸入參數:用戶id
	 * 輸出參數:用戶牌的列表
	 *****************************************************/
	private int[][] getUserCards(int userId) {
		//先測出該用戶有幾條記錄
		int j = 0;
		for (int i = 0; i <= userCardsIndex; i++) {
			if (userCards[i][0] == userId) {
				j++;
			}
		}
		if (j == 0) {
			return null;
		}
		//定義一個相應記錄數的臨時數組(牌數,第幾付牌,不包括用戶id)
		int userCardsTmp[][] = new int[j][2];
		int l = 0;
		for (int i = 0; i <= userCardsIndex; i++) {
			if (userCards[i][0] == userId) {
				userCardsTmp[l][0] = userCards[i][1];
				userCardsTmp[l][1] = userCards[i][2];
				l++;
			}
		}
		return userCardsTmp;
	}

	/*****************************************************
	 * 功能介紹:取得指定用戶id的分數及牌數
	 * 輸入參數:用戶id
	 * 輸出參數:用戶分數數組(分牌1,分牌2),分牌的牌數
	 *****************************************************/
	private int[][] getPoint(int userId) {
		int oneCount = 0, twoCount = 0, oneCards = 0, twoCards = 0, oneA = 0, twoA = 0;
		int userCars[][] = getUserCards(userId); //取得該用戶所有的牌
		for (int i = 0; i < userCars.length; i++) {
			int intTmp = userCars[i][0];
			//先將牌的值轉成正常的數值
			if (intTmp > 13 && intTmp <= 26) { //紅桃
				intTmp -= 13;
			}
			else if (intTmp > 26 && intTmp <= 39) { //草花
				intTmp -= 26;
			}
			else if (intTmp > 39 && intTmp <= 52) { //方塊
				intTmp -= 39;
			}
			if (userCars[i][1] == 0) {
				oneCards++; //統計分牌1的牌數
				switch (intTmp) { //統計分牌1的分數
					case 1:
						oneCount += 11;
						oneA++;
						break;
					case 11:
						oneCount += 10;
						break;
					case 12:
						oneCount += 10;
						break;
					case 13:
						oneCount += 10;
						break;
					default:
						oneCount += intTmp;
						break;
				}
			}
			else if (userCars[i][1] == 1) {
				twoCards++; //分牌2的牌數
				switch (intTmp) { //統計分牌2的分數
					case 1:
						twoCount += 11;
						twoA++;
						break;
					case 11:
						twoCount += 10;
						break;
					case 12:
						twoCount += 10;
						break;
					case 13:
						twoCount += 10;
						break;
					default:
						twoCount += intTmp;
						break;
				}
			}

		}
		//計算出分牌1和分牌2的最高分數
		for (int i = 0; i < oneA; i++) {
			if (oneCount > 21) {
				oneCount -= 10;
			}
		}

		for (int i = 0; i < twoA; i++) {
			if (twoCount > 21) {
				twoCount -= 10;
			}
		}
		int[][] arrTmp = {
			{
			0, 0}
			, {
			0, 0}
		};
		arrTmp[0][0] = oneCount;
		arrTmp[0][1] = oneCards;
		arrTmp[1][0] = twoCount;
		arrTmp[1][1] = twoCards;
		return arrTmp;
	}

	/*****************************************************
	 * 功能介紹:游戲結束向每個用戶發送結果并且讓游戲進入重新開始階段
	 * 輸入參數:無
	 * 輸出參數:無
	 *****************************************************/
	public void gameOver() {
		int userCarsTmp1[][] = getPoint(999999);
		int userCarsTmp2[][] = null;
		String values;
		Hashtable userList = ctrl.userManage.getHouseUserList(houseId);
		User user;
		Enumeration em = userList.elements();
		for (int i = 0; i < userList.size(); i++) {
			values = "14"; //游戲結果
			user = (User) em.nextElement();
			if (user.userState != 10) { //不對觀眾算分
				userCarsTmp2 = getPoint(Integer.parseInt(user.userId));
				for (int j = 0; j < userCarsTmp2.length; j++) { //對該用戶所有分牌進行和莊家的牌比較
					if (userCarsTmp2[j][1] == 0) {
						continue;
					}
					if (userCarsTmp2[j][0] > 21) { //如果用戶爆了則扣除用戶的分
						if (user.isDouble) {
							values = values + "-" + user.chipIn * 2 + ",";
						}
						else {
							values = values + "-" + user.chipIn + ",";
						}
						continue;
					}
					if (userCarsTmp1[0][0] <= 21) { //莊家沒爆處理
						if (userCarsTmp1[0][0] > userCarsTmp2[j][0]) { //莊家大于用戶
							if (user.isDouble) {
								values = values + "-" + user.chipIn * 2 + ",";
							}
							else {
								values = values + "-" + user.chipIn + ",";
							}
						}
						else if (userCarsTmp1[0][0] == userCarsTmp2[j][0]) { //莊家與用戶相等
							if (userCarsTmp2[j][0] == 21 && userCarsTmp2[j][1] == 2) {
								//user.setJetton(user.chipIn * 2); //如果用戶是blackjack則算玩家贏
								values = values + user.chipIn + ",";
							}
							else {
								//user.setJetton(user.chipIn); //如果都是21點但不是boackjack算平
								values = values + "0,";
							}
						}
						else if (userCarsTmp1[0][0] < userCarsTmp2[j][0]) { //莊家小于用戶
							//user.setJetton(user.chipIn * 2); //用戶贏
							if (user.isDouble) {
								values = values + user.chipIn * 2 + ",";
							}
							else {
								values = values + user.chipIn + ",";
							}
						}
					}
					else { //莊爆了處理
						//user.setJetton(user.chipIn * 2); //用戶贏
						if (user.isDouble) {
							values = values + user.chipIn * 2 + ",";
						}
						else {
							values = values + user.chipIn + ",";
						}
					}
				}
			}
			user.chipIn = 0;
			user.userState = 0;
			System.out.println("在 gameOver方法設置狀態為0" + user.userId);
			user.isDouble = false;
			user.isSpread = false;
			ctrl.sendTwoData(user.userId, values); //將游戲結果發給用戶并讓用戶進入下一盤開始的等待
		}
		initCard(); //重新洗牌
		String jeton = getJettonList(userList.elements(), userList.size());
		sendInfoToHouseUser("09" + jeton);
		gameState = 1;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性生活久久| 一区二区在线观看视频| 国产拍欧美日韩视频二区| 亚洲激情一二三区| 国产一区视频网站| 欧美放荡的少妇| 一区二区三区免费在线观看| 久草精品在线观看| 这里只有精品免费| 亚洲一区影音先锋| 99精品偷自拍| 日本一区二区三区四区在线视频 | 一本久道久久综合中文字幕 | 国产精品久久国产精麻豆99网站 | 亚洲精品一卡二卡| 大陆成人av片| 国产拍欧美日韩视频二区| 久久99久久久久| 91精品国产高清一区二区三区蜜臀| 亚洲欧洲精品天堂一级| 国产.欧美.日韩| 久久久久久久综合日本| 国产在线视视频有精品| 欧美一区二区视频在线观看2020| 亚洲亚洲人成综合网络| 色综合亚洲欧洲| 一个色在线综合| 色哟哟一区二区| 亚洲综合在线第一页| 日本乱人伦aⅴ精品| 亚洲免费视频中文字幕| 92国产精品观看| 亚洲精品视频在线观看网站| 91丨九色丨尤物| 日韩理论片网站| 色噜噜狠狠色综合欧洲selulu| 日韩美女啊v在线免费观看| 99re在线精品| 亚洲一区国产视频| 欧美精品在线观看播放| 美腿丝袜亚洲综合| 久久免费精品国产久精品久久久久| 极品尤物av久久免费看| 精品久久久久香蕉网| 国产一区二区三区四| 国产欧美一区二区精品忘忧草| 不卡av免费在线观看| 夜夜揉揉日日人人青青一国产精品| 色呦呦网站一区| 日韩国产精品久久久久久亚洲| 欧美一区二区国产| 国产精品888| 亚洲免费电影在线| 欧美日韩国产乱码电影| 亚洲电影一级黄| 欧美电影免费观看完整版| 国产夫妻精品视频| 亚洲人成网站色在线观看| 欧美调教femdomvk| 久久99国产精品麻豆| 国产女人18水真多18精品一级做| 99久久婷婷国产精品综合| 亚洲五月六月丁香激情| 91精品国产色综合久久ai换脸| 经典三级视频一区| 亚洲女人****多毛耸耸8| 在线精品观看国产| 激情小说欧美图片| 亚洲欧美在线视频观看| 欧美影院一区二区| 激情久久五月天| 亚洲欧美日韩成人高清在线一区| 久久久久国产精品免费免费搜索| 99国产精品久| 日韩av一级电影| 中文字幕一区二区三中文字幕| 在线观看视频欧美| 国产一区二区三区免费看| 夜夜爽夜夜爽精品视频| 精品国产欧美一区二区| 色综合久久久久综合体桃花网| 免费看欧美女人艹b| 国产精品激情偷乱一区二区∴| 欧美日韩免费高清一区色橹橹 | 久草热8精品视频在线观看| 亚洲欧美在线另类| 26uuu亚洲综合色欧美| 99国产精品国产精品久久| 精品一区二区在线观看| 亚洲一区二区三区视频在线播放| 亚洲国产精品国自产拍av| 欧美一级片免费看| 欧美怡红院视频| 99久久99久久综合| 国产盗摄一区二区| 国产综合色在线| 久久不见久久见免费视频1| 亚洲国产精品久久艾草纯爱| 成人欧美一区二区三区视频网页| 国产丝袜欧美中文另类| 精品国产免费人成在线观看| 91精品国产欧美日韩| 欧美唯美清纯偷拍| 欧美午夜精品电影| 91蝌蚪porny九色| 波多野洁衣一区| 成人妖精视频yjsp地址| 国产精品小仙女| 国产精品99久久久久久有的能看 | 青青草国产成人99久久| 五月激情六月综合| 午夜精品一区二区三区三上悠亚| 一区二区三区精品视频| 亚洲精品成人在线| 亚洲自拍偷拍综合| 亚洲国产综合人成综合网站| 亚洲精品高清视频在线观看| 亚洲精品欧美在线| 亚洲一区在线观看视频| 亚洲国产中文字幕在线视频综合| 亚洲国产另类精品专区| 天堂在线亚洲视频| 极品少妇xxxx精品少妇| 粉嫩aⅴ一区二区三区四区| 国产成人一区在线| 99免费精品视频| 福利一区在线观看| 盗摄精品av一区二区三区| 99久久精品国产一区二区三区| 色综合网色综合| 欧美日本一道本| 欧美一二三区在线观看| 久久久久久久久一| 国产精品久久久久影院亚瑟| 亚洲视频在线观看一区| 婷婷久久综合九色综合绿巨人| 日日欢夜夜爽一区| 国产成人啪免费观看软件| av中文字幕一区| 欧美日韩精品一区二区三区四区 | 欧美伊人久久大香线蕉综合69 | 国产欧美精品日韩区二区麻豆天美| 日本一区二区三区免费乱视频| 亚洲欧洲av在线| 日韩国产欧美三级| 成人午夜看片网址| 欧美日韩激情在线| 国产欧美日韩激情| 午夜日韩在线观看| 国产.精品.日韩.另类.中文.在线.播放| 99久久精品国产导航| 337p亚洲精品色噜噜| 亚洲国产岛国毛片在线| 亚洲图片有声小说| 成人妖精视频yjsp地址| 欧美精品vⅰdeose4hd| 国产精品午夜电影| 首页亚洲欧美制服丝腿| 不卡视频在线看| 91精品国模一区二区三区| 国产女主播视频一区二区| 日韩在线一区二区三区| 北条麻妃一区二区三区| 91精品国产免费| 亚洲欧美视频在线观看视频| 久久99精品国产.久久久久久| 一本到三区不卡视频| 久久久91精品国产一区二区精品 | 欧美大片国产精品| 亚洲免费观看高清完整版在线观看熊| 免费在线看一区| 在线观看日韩毛片| 亚洲国产高清在线| 精品一区二区在线视频| 欧美色国产精品| 亚洲视频图片小说| 成人综合婷婷国产精品久久蜜臀 | 岛国一区二区在线观看| 日韩欧美一二三区| 亚洲成人一二三| 91色综合久久久久婷婷| 国产欧美视频一区二区三区| 麻豆成人免费电影| 欧美一区二区视频免费观看| 一区二区日韩av| 91在线观看下载| 中文字幕在线观看一区二区| 国产一区欧美二区| 久久这里只有精品6| 毛片一区二区三区| 欧美一区日本一区韩国一区| 亚洲宅男天堂在线观看无病毒| 9i在线看片成人免费| 日本一区二区免费在线| 国产一区二区三区黄视频| 欧美va在线播放| 老司机精品视频线观看86| 欧美一区二区日韩一区二区| 午夜精品福利在线| 91精品国产免费|