亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java實(shí)現(xiàn)斗地主發(fā)牌功能

瀏覽:18日期:2022-08-20 15:34:43

本文實(shí)例為大家分享了java實(shí)現(xiàn)斗地主發(fā)牌的具體代碼,供大家參考,具體內(nèi)容如下

參考斗地主的游戲規(guī)則,完成一個(gè)發(fā)牌的功能(54張牌,考慮點(diǎn)數(shù),花色;三名玩家,其中地主比其他玩家多3張牌)

代碼如下:

牌類(lèi)

import java.util.Objects;/** * 3-10 J Q K A 2 King Queen 牌類(lèi) * * @author Administrator * */public class Card { /** 牌面值 */ private String name; /** 花色 */ private String flower; /** 大小點(diǎn)數(shù) */ private int num; public Card() { super(); } public Card(String name, String flower, int num) { super(); this.name = name; this.flower = flower; this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getFlower() { return flower; } public void setFlower(String flower) { this.flower = flower; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } @Override public String toString() { if(Objects.nonNull(flower)) { return name + '-' + flower; } return name; }}

玩家類(lèi)

public class Player { /**玩家ID*/ private int id; /**玩家姓名*/ private String name; /**是否是地主*/ private boolean boss; /**牌集合*/ private ArrayList<Card> cards = new ArrayList<Card>(); public Player(int id, String name, boolean boss, ArrayList<Card> cards) { super(); this.id = id; this.name = name; this.boss = boss; this.cards = cards; } public Player() { super(); } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isBoss() { return boss; } public void setBoss(boolean boss) { this.boss = boss; } public ArrayList<Card> getCards() { return cards; } public void setCards(ArrayList<Card> cards) { this.cards = cards; } @Override public String toString() { return name +(boss? '(地主):':'(農(nóng)名):')+ cards; }}

管理類(lèi)

public class GameManage { private static Random randomGen = new Random(); /** 聲明所有牌的集合 */ private static ArrayList<Card> all = new ArrayList<Card>(); /** 用于生成牌的牌面值 */ private static String[] names = { '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A', '2', '小王','大王' }; /** 用于生成牌的花色 */ private static String[] flowers = { '紅桃', '方塊', '梅花', '黑桃' }; private ArrayList<Player> players = new ArrayList<Player>(); static { int i = 0; for (; i < names.length - 2; i++) { for (int j = 0; j < flowers.length; j++) { Card c = new Card(names[i], flowers[j], i); all.add(c); } } // 將大小王加入 all.add(new Card(names[names.length - 2], null, i++)); all.add(new Card(names[names.length - 1], null, i++)); } /** * 加入玩家 */ private void addPlayer() { Scanner sc = new Scanner(System.in); System.out.println('請(qǐng)輸入玩家1名稱(chēng):'); String name1 = sc.nextLine(); System.out.println('請(qǐng)輸入玩家2名稱(chēng):'); String name2 = sc.nextLine(); System.out.println('請(qǐng)輸入玩家3名稱(chēng):'); String name3 = sc.nextLine(); Player p1 = new Player(); p1.setId(1); p1.setName(name1); Player p2 = new Player(); p1.setId(2); p2.setName(name2); Player p3 = new Player(); p1.setId(3); p3.setName(name3); // 將三名玩家加入集合 players.add(p1); players.add(p2); players.add(p3); } /** * 隨機(jī)地主 */ private void randomBoss() { // 添加玩家 addPlayer(); // 隨機(jī)地主索引 int i = randomGen.nextInt(players.size()); // 設(shè)置指定位置的玩家為地主 players.get(i).setBoss(true); } public ArrayList<Player> sendCard() { randomBoss(); // 對(duì)每一名玩家遍歷 for (Player p : players) { // 先為每一位玩家隨機(jī)發(fā)17張牌 for (int i = 0; i < 17; i++) { // 隨機(jī)一張牌的索引 int cardIndex = randomGen.nextInt(all.size()); // 獲取隨機(jī)索引位置的牌 Card card = all.get(cardIndex); // 將隨機(jī)的牌加入當(dāng)前遍歷玩家的集合 p.getCards().add(card); // 從源集合中移除這張牌 all.remove(card); } } // 最后三張牌給地主 for (Player p : players) { if (p.isBoss()) { // 將all集合中的所有元素加入地主的集合 p.getCards().addAll(all); } } return players; }}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 一区二区中文字幕在线观看 | 久久月| 午夜国产大片免费观看 | 国产免费拍拍视频在线观看网站 | 亚洲一区二区影院 | 欧美三级成人 | 看全色黄大色黄大片色责看的 | 黄色网址网站 | 国产成人综合网 | 最新更新国内自拍视频 | 国产午夜精品一区二区三区不卡 | 国产高清免费午夜在线视频 | 久久精品成人一区二区三区 | 成人免费网站 | 国产欧美日韩中文字幕 | 亚洲一区二区三区国产精品 | 三级视频在线播放线观看 | 国产成人精品亚洲午夜麻豆 | 成年人网站在线观看免费 | 亚洲欧美精品一中文字幕 | 国产免费一级视频 | 手机看片福利日韩国产 | 91在线看视频 | 操片免费看 | 亚洲免费美女视频 | 国产一级一片免费播放刺激 | 九九草在线观看 | 一级黄色大片免费观看 | 一区二区三区四区在线不卡高清 | 国产精品福利一区二区 | 日韩第一页在线 | 涩涩网站在线看 | 欧美视频第二页 | 欧美黄站| 国产精品欧美一区二区三区不卡 | 久久精品成人免费看 | 日本美女黄色片 | 国产高清a毛片在线看 | 日本a黄 | 亚洲综合一区二区不卡 | 97超级碰碰碰久久久观看 |