国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

用java實(shí)現(xiàn)斗地主發(fā)牌過(guò)程

瀏覽:4日期:2022-08-20 16:56:52

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

一、牌類(lèi)實(shí)現(xiàn)

定義牌的相關(guān)屬性,點(diǎn)數(shù)、花色、大小

package com.softeem.lesson18.doudizhu;import java.util.Objects;public class Card { //牌面值 private String name; //花色 private String flower; //點(diǎn)數(shù) private int num; public Card() { // TODO Auto-generated constructor stub } 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+'-'+num+'-'+flower; } return name+'-'+num; } }

二、玩家類(lèi)

玩家類(lèi)中定義了萬(wàn)家的相關(guān)屬性,名字,ID,還定義了一個(gè)牌類(lèi)數(shù)組,將每位玩家的牌加入到數(shù)組中。

package com.softeem.lesson18.doudizhu;import java.util.ArrayList;public class Player { private int id; private String name; private boolean boss; private ArrayList<Card> cards = new ArrayList<>(); public Player() { } 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 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?'(地主)' : '') + cards; } }

三、功能類(lèi)

功能類(lèi)中實(shí)現(xiàn)了牌的分發(fā),每人17張牌,然后地主多三張牌的實(shí)現(xiàn),以及對(duì)玩家進(jìn)行隨機(jī)分配地主等功能。

package com.softeem.lesson18.doudizhu;import java.util.ArrayList;import java.util.Random;import java.util.Scanner;public class GameManage { private static ArrayList<Card> all = new ArrayList<>(); private static String [] names = {'3','4','5','6','7','8','9','10','J','Q','K','A','2','Queen','King'}; private static String [] flowers = {'紅桃','黑桃','方塊','梅花'}; private ArrayList<Player> players = new ArrayList<Player>(); private static Random randomGen = new Random(); 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++)); } public void addPlayer() { @SuppressWarnings('resource') Scanner sc = new Scanner(System.in); System.out.println('請(qǐng)輸入第一個(gè)玩家的名字:'); String name1 = sc.nextLine(); System.out.println('請(qǐng)輸入第二個(gè)玩家的名字:'); String name2 = sc.nextLine(); System.out.println('請(qǐng)輸入第三個(gè)玩家的名字:'); String name3 = sc.nextLine(); Player p1 = new Player(); p1.setId(1); p1.setName(name1); Player p2 = new Player(); p2.setId(2); p2.setName(name2); Player p3 = new Player(); p3.setId(3); p3.setName(name3); players.add(p1); players.add(p2); players.add(p3); } public void randomBoss() { //添加玩家 addPlayer(); //隨機(jī)地址索引 int i = randomGen.nextInt(players.size()); players.get(i).setBoss(true); } public void sendCard() { randomBoss(); //對(duì)玩家遍歷 for(Player p : players) { //先為每一位玩家隨機(jī)發(fā)17張牌 for(int i = 0;i <17;i++) { int cardIndex = randomGen.nextInt(all.size()); Card card = all.get(cardIndex); //將牌加入到玩家的牌容器中 p.getCards().add(card); //從牌組中移除已經(jīng)發(fā)出去的牌 all.remove(card); } } //最后三張牌給地主 for(Player p : players) { if(p.isBoss()) { p.getCards().addAll(all); } } for(Player p : players) { System.out.println(p); } } public static void main(String[] args) { new GameManage().sendCard(); }}

更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專(zhuān)題,分享給大家:

C++經(jīng)典小游戲匯總

python經(jīng)典小游戲匯總

python俄羅斯方塊游戲集合

JavaScript經(jīng)典游戲 玩不停

java經(jīng)典小游戲匯總

javascript經(jīng)典小游戲匯總

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 欧美成人自拍 | 韩日一级片 | 亚洲人妖女同在线播放 | 久久久久久亚洲精品影院 | 久久91视频| 在线满18网站观看视频 | 国产一区精品在线观看 | 男女午夜爱爱久久无遮挡 | 免费特黄一区二区三区视频一 | 小屁孩和大人啪啪 | 欧美成人性色生活片天天看 | 久久久久国产成人精品亚洲午夜 | 成年男女的免费视频网站 | 模特三级在线观看 | 亚洲成av人片在线观看无码 | 波多野结衣aⅴ在线 | 在线a亚洲视频播放在线观看 | 国产亚洲欧美日韩综合综合二区 | 精品国产香蕉伊思人在线 | 亚洲国产一区在线二区三区 | 国产成在线观看免费视频成本人 | 最近韩国日本免费免费版 | 亚洲国产精品自在现线让你爽 | 99久久免费视频在线观看 | 九九色网 | 亚洲图片 自拍偷拍 | 国产免费一区二区在线看 | 国产午夜亚洲精品第一区 | 久草视频福利在线观看 | 不卡一区二区在线观看 | 北条麻妃在线一区二区 | 黄色毛片子 | 亚洲黄色免费在线观看 | 亚洲国产爱久久全部精品 | 免费国产成人手机在线观看 | 日本欧美一区二区三区片 | 午夜爱爱毛片xxxx视频免费看 | 国产福利一区二区三区 | 91精品自在拍精选久久 | 一色屋色费精品视频在线看 | 亚洲三级在线播放 |