亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

如果玩家數也由鍵盤獲取的不大于9的數字,那么在抓牌這塊該怎么實現呢

請問:如果玩家數也由鍵盤獲取,那么手牌這塊該怎么處理呢?

正在回答

2 回答

package?gamecard;

import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.List;
import?java.util.Scanner;

public?class?GameTest?{
???//?定義玩家數目和發牌數??????
????public?static?final?int?playerNum?=?5;?//玩家五人
????public?static?final?int?personalCardNum?=?10;?//每次發牌10張
????????public?static?Scanner?in?=?new?Scanner(System.in);
????public?static?List<Player>?players?=?new?ArrayList<Player>();
????public?static?Card?card?=?new?Card();
????public?String?VVV?=?"2345678910JQKA王?";
????public?String?CCC?=?"梅花方塊黑桃紅桃小大?";
????/**
?????*?游戲流程
?????*?@author?yyq
?????*?1、取牌,洗牌
?????*?2、創建玩家
?????*?3、輸入玩家信息、給玩家發牌
?????*?4、顯示兩人最大牌
?????*?5、比較牌的大小,宣布獲勝者
?????*?6、打印兩玩家的手牌
?????*/
????public?static?void?main(String[]?args)?{
????????GameTest?it?=?new?GameTest();
????????
????????//步驟一
????????System.out.println("--------------------游戲開始--------------------");
????????System.out.println("--------------------取出新牌--------------------");
????????card.createCard();
????????System.out.println("--------------------開始洗牌--------------------");
????????card.shuffleCards();
????????System.out.println("--------------------洗牌結束--------------------");
????????
????????//步驟二
????????System.out.println("--------------------創建玩家--------------------");
????????it.createPlayer();
????????
????????//步驟三
????????System.out.println("--------------------開始發牌--------------------");
????????it.getCards();
????????System.out.println("--------------------發牌結束--------------------");
????????
????????//步驟四
????????System.out.println("--------------------結果顯示--------------------");
????????it.showMaxAndWonner();
????????
????????//步驟六
????????System.out.println("--------------------手牌顯示--------------------");
????????it.showCard();
????}
????
????/**
?????*?創建玩家
?????*?1、新建玩家
?????*?2、提示輸入ID,如果ID不符合規范重輸
?????*?3、提示輸入姓名,并給對象當賦值
?????*/
????public?void?createPlayer()?{
????????for?(int?i?=?0;?i?<?playerNum;?++i)?{
????????????System.out.println("c創建第"?+?(i+1)?+?"位玩家!");
????????????System.out.println("請輸入玩家ID:");
????????????int?id;
????????????while?(true)?{
????????????????try?{
????????????????????id?=?in.nextInt();
????????????????????break;
????????????????}?catch(Exception?e)?{
????????????????????System.out.println("請輸入正整數:");
????????????????????in.next();????//?吸收緩沖區
????????????????}????????
????????????}
????????
????????????System.out.println("請輸入玩家姓名:");
????????????String?name?=?in.next();?
????????????
????????????players.add(new?Player(id,?name));
????????}
????}
????
????/**
?????*?給玩家發牌
?????*/
????public?void?getCards()?{
????????int?n?=?playerNum*personalCardNum;
????????for?(int?i?=?0;?i?<?n;?++i)?{
????????????System.out.println("玩家"?+?players.get(i%playerNum).getName()?+?"\t:?拿牌");
????????????players.get(i%playerNum).pCards.add(card.cardList.get(i));
????????}

????}
????
????/**
?????*?比較獲勝者
?????*/
????public?void?showMaxAndWonner()?{
????????
????????int?n?=?players.get(0).pCards.size()-1;
????????
????????for?(int?i?=?0;?i?<?playerNum;?++i)?{
????????????Player?p?=?players.get(i%playerNum);
????????????
????????????//手牌排序
????????????Collections.sort(players.get(i).pCards);
????????????
????????????System.out.println("玩家\t"?+?p.getName()
????????????????????+?"最大手牌是:\t"?+?p.pCards.get(n).toString());
????????}
????????
????????Card?card?=?players.get(0).pCards.get(n);
????????String?nameString?=?players.get(0).getName();
????????
????????for?(int?i?=?1;?i?<?playerNum;?++i)?{
????????????if?(CCC.indexOf(card.getColor())?<?CCC.indexOf(players.get(i).pCards.get(n).getColor()))?{
????????????????card?=?players.get(i).pCards.get(n);
????????????????nameString?=?players.get(i).getName();
????????????}?else?if?(VVV.indexOf(card.getValue())?==?VVV.indexOf(players.get(i).pCards.get(n).getValue())
????????????????????&&?VVV.indexOf(card.getValue())?<?VVV.indexOf(players.get(i).pCards.get(n).getValue()))?{
????????????????????card?=?players.get(i).pCards.get(n);
????????????????????nameString?=?players.get(i).getName();
????????????????}
????????}?
????????
????????System.out.println(nameString?+?"獲勝!");
????}
????
????public?void?showCard()?{
????????for?(int?i?=?0;?i?<?playerNum;?++i)?{
????????????Collections.sort(players.get(i).pCards);
????????????System.out.println(players.get(i).toString());
????????}
????}
????

}


有疑問@我
0 回復 有任何疑惑可以回復我~
#1

qq_侯杰_0 提問者

非常感謝!謝謝
2016-10-20 回復 有任何疑惑可以回復我~

不知道

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

如果玩家數也由鍵盤獲取的不大于9的數字,那么在抓牌這塊該怎么實現呢

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號