第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

我的撲克牌代碼

//?Plsyer類
import?java.util.ArrayList;
import?java.util.List;

/**
?*?Created?by?iShu?on?16/5/17.
?*/
public?class?Player?{
????private?int?ID;
????private?String?name;
????private?List<Card>?handCards;

????public?Player(int?ID,?String?name)?{
????????this.ID?=?ID;
????????this.name?=?name;
????????handCards?=?new?ArrayList<>();
????}

????public?Player()?{
????????handCards?=?new?ArrayList<>();
????}

????public?int?getID()?{
????????return?ID;
????}

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

????public?List<Card>?getHandCards()?{
????????return?handCards;
????}
}
//?Card類
import?java.util.ArrayList;
import?java.util.Arrays;
import?java.util.List;

/**
?*?撲克牌類
?*?包含四中花色:?黑桃,?紅桃,?草花,?方塊
?*?包含十三中點色:?2-10,?J,?Q,?K,?A
?*?不包含大小王
?*?Created?by?iShu?on?16/5/17.
?*/
public?class?Card?implements?Comparable<Card>{
????private?String?color;
????private?String?value;
????private?static?final?int?CARDNUM?=?52;
????private?static?final?int?SINGLECARDNUM?=?13;
????private?static?final?int?COLORNUM?=?4;
????private?static?final?List<String>?Colors?=?Arrays.asList("方塊",?"草花",?"紅桃","黑桃");
????private?static?final?List<String>?Values?=?Arrays.asList("2",?"3",?"4",?"5",?"6",?"7",?"8",?"9",?"10",?"J",?"Q",?"K",?"A");

????public?String?getColor()?{
????????return?color;
????}

????public?String?getValue()?{
????????return?value;
????}

????public?Card()?{

????}

????public?Card(String?color,?String?value)?{
????????this.color?=?color;
????????this.value?=?value;
????}


????/**
?????*產(chǎn)生52張撲克牌
?????*?@return
?????*/
????public?static?List<Card>?generateCard()?{
????????List<Card>?pocker?=?new?ArrayList<>();
????????for?(int?i?=?0;?i?<?CARDNUM;?++i)?{
????????????String?newValue?=?null;
????????????String?newColor?=?null;
????????????int?tmp?=?i?%?SINGLECARDNUM;
????????????newValue?=?Values.get(tmp);
????????????tmp?=?i?%?COLORNUM;
????????????newColor?=?Colors.get(tmp);
????????????pocker.add(new?Card(newColor,?newValue));

????????????//?System.out.println(newColor?+?",?"?+?newValue);

????????}
????????return?pocker;

????}

????@Override
????public?String?toString()?{
????????return?"["?+?color?+?"?"?+?value?+?"]";
????}

????/**
?????*?根據(jù)牌的至和花色進行排序
?????*?排序規(guī)則為:
?????*?如果牌的值相同,則根據(jù)花色進行比較?黑桃?>?紅桃?>?草花?>?方片
?????*?否則比較牌的牌的值
?????*?@param?o:?待比較的牌
?????*?@return
?????*/
????@Override
????public?int?compareTo(Card?o)?{
????????if?(Values.indexOf(this.value)?==?Values.indexOf(o.value))?{
????????????return?Integer.valueOf(Colors.indexOf(this.color)).compareTo(Integer.valueOf(Colors.indexOf(o.color)));
????????}?else?{
????????????return?Integer.valueOf(Values.indexOf(this.value)).compareTo(Integer.valueOf(Values.indexOf(o.value)));
????????}
????}
}
//PlayMain類
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.List;
import?java.util.Scanner;

/**
?*?Created?by?iShu?on?16/5/17.
?*/
public?class?PlayMain?{
????private?List<Player>?playerList;
????private?List<Card>?cardList;
????Scanner?scanner;
????private?static?final?int?HandCardNum?=?3;
????private?static?final?int?PlayerNum?=?2;

????public?PlayMain()?{
????????playerList?=?new?ArrayList<>();
????????cardList?=?Card.generateCard();
????????scanner?=?new?Scanner(System.in);
????}

????/**
?????*?產(chǎn)生玩家
?????*/
????public?void?createPlayers()?{
????????int?id;
????????String?name;
????????int?playerNum?=?PlayerNum;
????????int?i?=?1;
????????while(playerNum?>?0)?{
????????????try{
????????????????System.out.println("創(chuàng)建第"?+?i?+?"位玩家");
????????????????System.out.println("輸入玩家編號:");
????????????????id?=?scanner.nextInt();
????????????}?catch?(Exception?e)?{
????????????????System.out.println("請輸入正整數(shù):?");
????????????????scanner.next();?//?吸收緩沖區(qū)
????????????????continue;
????????????}
????????????System.out.println("輸入玩家姓名:");
????????????name?=?scanner.next();
????????????playerList.add(new?Player(id,?name));
????????????playerNum--;
????????????i++;
????????}
????}

????/**
?????*?顯示玩家信息
?????*/
????public?void?showPlayer()?{
????????for?(int?i?=?0;?i?<?PlayerNum;?++i)?{
????????????System.out.println("歡迎玩家"?+?playerList.get(i).getName());
????????}
????}

????/**
?????*?顯示產(chǎn)生的撲克牌信息
?????*/
????public?void?showCardList()?{
????????System.out.println(cardList.toString());
????}

????/**
?????*?對撲克牌進行排序
?????*/
????public?void?sortCardList()?{
????????Collections.sort(cardList);
????}

????/**
?????*?對撲克牌進行洗牌
?????*/
????public?void?shuffleCardList()?{
????????Collections.shuffle(cardList);
????}

????/**
?????*?玩家進行玩游戲
?????*/
????public?void?play()?{
????????System.out.println("------------開始發(fā)牌-----------");
????????int?cardNums?=?PlayerNum?*?HandCardNum;
????????for?(int?i?=?0;?i?<?cardNums;?++i)?{
????????????Card?card?=?cardList.get(i);
????????????playerList.get(i?%?PlayerNum).getHandCards().add(card);
????????}
????????System.out.println("-----------發(fā)牌結(jié)束-------------");
????????System.out.println("------------開始游戲------------");
????????int?winner?=?0;
????????Card?maxPocker?=?playerList.get(0).getHandCards().get(0);
????????for?(int?i?=?0;?i?<?PlayerNum;?++i)?{
????????????//?對手拍進行排序
????????????Collections.sort(playerList.get(i).getHandCards());
????????????//?對排序后的手牌進行逆序
????????????Collections.reverse(playerList.get(i).getHandCards());

????????????if?(maxPocker.compareTo(playerList.get(i).getHandCards().get(0))?<?0)?{
????????????????maxPocker?=?playerList.get(i).getHandCards().get(0);
????????????????winner?=?i;
????????????}
????????}
????????System.out.println("恭喜玩家"?+?playerList.get(winner).getName()?+?"獲勝");
????????//?顯示玩家手牌
????????System.out.println("玩家各自的手牌為:");
????????for?(int?i?=?0;?i?<?PlayerNum;?++i)?{
????????????System.out.println(playerList.get(i).getName()?+?"手牌為:?"?+?playerList.get(i).getHandCards().toString());
????????}
????}

????public?static?void?main(String[]?args)?{
????????System.out.println("----------產(chǎn)生一副撲克牌------------");
????????PlayMain?playMain?=?new?PlayMain();
????????playMain.showCardList();
????????System.out.println("----------創(chuàng)建撲克牌成功------------");
????????playMain.sortCardList();
????????playMain.showCardList();
????????System.out.println("------------開始洗牌---------------");
????????playMain.shuffleCardList();
????????System.out.println("------------洗牌結(jié)束---------------");
????????playMain.showCardList();
????????System.out.println("------------創(chuàng)建玩家---------------");
????????playMain.createPlayers();
????????playMain.showPlayer();
????????playMain.play();
????}
}


正在回答

8 回答

添加對象的時候用嵌套循環(huán)不行嗎,為什么要用?i?%?SINGLECARDNUM 這種方式

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

好厲害,學習了

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

為什么我參考你的這句代碼的時候一直空指針異常報錯呢。

playerList.get(i?%?PlayerNum).getHandCards().add(card);

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

還有個疑問,為什么要逆序呀。

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

好巧妙,但是這里是不是每個玩家三張牌

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

ixenos

可以搞個含參構(gòu)造 用命令行參數(shù)修改
2016-06-27 回復 有任何疑惑可以回復我~

參考你的代碼成功實現(xiàn)了

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

cool,新手參考下。


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

贊?。?!

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

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409768    人
  • 解答問題       4510    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

我的撲克牌代碼

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號