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

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

大家可以參考我的,我寫的比較簡單,也沒有做優化,適合初學者(和老師打印輸出的不一樣)

public?class?Test?{

????public?static?List<Card>?cardList?=?new?ArrayList<Card>();
????public?static?String[]?cardNum?=?new?String[]{"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
????public?static?String[]?cardClass?=?new?String[]{"方塊","梅花","紅桃","黑桃"};
????public?static?Player?player1;
????public?static?Player?player2;
????public?static?void?main(String[]?args)?{
????????initPlayer();
????????initCard();
????????showCard();
????????shuffleCard();
????????drawCard();
????????showHandCard();
????????compareCard();
????}

????public?static?void?initPlayer(){
????????System.out.println("初始化玩家");
????????player1?=?new?Player("賭神");
????????player2?=?new?Player("賭圣");
????}

????public?static?void?initCard(){
????????System.out.println("\n創建一副牌\n");
????????for?(int?i?=?0;?i?<?13;?i++)?{
????????????for?(int?j?=?0;?j?<?4;?j++)?{
????????????????cardList.add(new?Card(cardNum[i],cardClass[j],i*13+j));
????????????}
????????}
????}

????public?static?void?showCard(){
????????System.out.println("查看牌\n");
????????int?count?=?0;
????????for?(Card?card?:?cardList){
????????????System.out.print(card.toString()?+?"\t");
????????????if(++count?%?10?==?0?||?count?==?52){
????????????????System.out.println();
????????????}
????????}
????}

????public?static?void?shuffleCard(){
????????System.out.println("\n洗牌\n");
????????Collections.shuffle(cardList);
????}

????public?static?void?drawCard(){
????????System.out.println("雙方抽牌\n");
????????List<Card>?player1CardList?=?new?ArrayList<Card>();
????????List<Card>?player2CardList?=?new?ArrayList<Card>();
????????for?(int?i?=?52;?i?>?48;?i--)?{
????????????int?j?=?(int)(Math.random()*i);
????????????player1CardList.add(cardList.get(j));
????????????cardList.remove(j);
????????????j?=?(int)(Math.random()*--i);
????????????player2CardList.add(cardList.get(j));
????????????cardList.remove(j);
????????}
????????player1.setCardList(player1CardList);
????????player2.setCardList(player2CardList);
????}

????public?static?void?showHandCard(){
????????System.out.println("雙方公開手牌\n");
????????System.out.println("player1"?+?player1.getName()?+?"的手牌是");
????????System.out.println(player1.getCardList()?+?"\n");
????????System.out.println("player2"?+?player2.getName()?+?"的手牌是");
????????System.out.println(player2.getCardList()?+?"\n");
????}

????public?static?void?compareCard(){
????????System.out.println("雙方比較手牌\n");
????????Card?player1MaxCard?=?new?Card();
????????Card?player2MaxCard?=?new?Card();
????????if?(player1.getCardList().get(0).getWeight()?>?player1.getCardList().get(1).getWeight()){
????????????player1MaxCard?=?player1.getCardList().get(0);
????????}?else?{
????????????player1MaxCard?=?player1.getCardList().get(1);
????????}
????????System.out.println("player1最大的牌是"?+?player1MaxCard);
????????if?(player2.getCardList().get(0).getWeight()?>?player2.getCardList().get(1).getWeight()){
????????????player2MaxCard?=?player2.getCardList().get(0);
????????}?else?{
????????????player2MaxCard?=?player2.getCardList().get(1);
????????}
????????System.out.println("\nplayer2最大的牌是"?+?player2MaxCard);
????????if?(player1MaxCard.getWeight()?>?player2MaxCard.getWeight()){
????????????System.out.println("\n場上最大的牌是"?+?player1MaxCard);
????????????System.out.println("\n勝者是player1"?+?player1.getName());
????????}?else?{
????????????System.out.println("\n場上最大的牌是"?+?player2MaxCard);
????????????System.out.println("\n勝者是player2"?+?player2.getName());
????????}
????????System.out.println("\n游戲結束");
????}

}


public?class?Player?{

????private?String?name;
????private?List<Card>?cardList;

????public?Player()?{

????}

????public?Player(String?name)?{
????????this.name?=?name;
????}

????public?String?getName()?{
????????return?name;
????}

????public?void?setName(String?name)?{
????????this.name?=?name;
????}

????public?List<Card>?getCardList()?{
????????return?cardList;
????}

????public?void?setCardList(List<Card>?cardList)?{
????????this.cardList?=?cardList;
????}

}

public?class?Card?{

????private?String?num;
????private?String?type;
????private?int?weight;

????public?Card()?{

????}

????public?Card(String?num,?String?type,?int?weight)?{
????????this.num?=?num;
????????this.type?=?type;
????????this.weight?=?weight;
????}

????public?String?getNum()?{
????????return?num;
????}

????public?void?setNum(String?num)?{
????????this.num?=?num;
????}

????public?String?getType()?{
????????return?type;
????}

????public?void?setType(String?type)?{
????????this.type?=?type;
????}

????public?int?getWeight()?{
????????return?weight;
????}

????public?void?setWeight(int?weight)?{
????????this.weight?=?weight;
????}

????@Override
????public?String?toString()?{
????????return?type?+?num;
????}
}


正在回答

5 回答

寫的通俗易懂 好!!

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

想問一下 這個換成對象數組怎么寫


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

條理清晰,也很簡單

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

原來weight是用來比較的,但是我怎么沒看到weight有在哪賦值嗎


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

我頭上有犄角y

第28行 weight=i*13+j
2018-09-16 回復 有任何疑惑可以回復我~

先自問自答一波

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

舉報

0/150
提交
取消

大家可以參考我的,我寫的比較簡單,也沒有做優化,適合初學者(和老師打印輸出的不一樣)

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

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

幫助反饋 APP下載

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

公眾號

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