日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java實現斗地主的發牌功能

瀏覽:191日期:2022-08-09 15:58:29

斗地主是全國范圍內的一種桌面游戲,盡管全國各種類型,但大同小異,今天我們先來實現一下斗地主中的發牌功能,為了程序的可讀性以及可拓展性,此次我們使用面向對象的方法來實現此功能。

首先,斗地主要求有撲克和玩家才能開始游戲,所以這里我們首先要創建一個撲克牌實體類和一個玩家實體類,具體代碼如下:

首先是Poker類,含點數,花色和排序屬性,大小王之后額外添加,這里我們必須實現一個Comparable接口,方便之后進行排序:

public class Poker implements Comparable<Poker>{ private String flower; private String pointer; private int sort; public Poker() { } public Poker(String flower, String pointer, int sort) { super(); this.flower = flower; this.pointer = pointer; this.sort = sort; } public String getFlower() { return flower; } public void setFlower(String flower) { this.flower = flower; } public String getPointer() { return pointer; } public void setPointer(String pointer) { this.pointer = pointer; } public int getSort() { return sort; } public void setSort(int sort) { this.sort = sort; } @Override public String toString() { return flower +'-' + pointer; } @Override public int compareTo(Poker a) { return this.getSort() - a.getSort(); } }

然后就是Player類,這里我們定義屬性有id,玩家名字以及玩家手牌和是否地主:

import java.util.ArrayList;public class Player { private int id; private String name; private ArrayList<Poker> pokers = new ArrayList<>(); private boolean boss; public Player() { } public Player(int id, String name) { super(); this.id = id; this.name = name; } 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 ArrayList<Poker> getPokers() { return pokers; } public void setPokers(ArrayList<Poker> pokers) { this.pokers = pokers; } public boolean isBoss() { return boss; } public void setBoss(boolean boss) { this.boss = boss; }}

實體類建完之后,我們就要開始實現功能了,首先我們將要實現的功能簡單敘述一下,首先我們要求有一副54張的完整牌,然后洗牌(此處我們用Collections里的靜態shuffle方法實現),然后開始按洗好的牌發牌51張,發完隨機地主,將剩余的三張牌給地主,并將三名玩家的牌均按大小顯示出來。

import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;import java.util.Random;public class PokerGame { /**定義為靜態以簡化代碼量*/ static List<Player> players; static ArrayList<Poker> list = new ArrayList<>(); static String[] flowers = {'梅花','黑桃','方塊','紅桃'}; static String[] pointers = {'3','4','5','6','7','8','9','10','J','Q','K','A','2'}; int bossIndex; static{ for(int i = 0;i < flowers.length;i++){ for(int j = 0;j < pointers.length;j++){ Poker p = new Poker(flowers[i],pointers[j],j); list.add(p); } } list.add(new Poker('小','王',13)); list.add(new Poker('大','王',14)); players = Arrays.asList( new Player(1,'胡燦'), new Player(2,'戴豪杰'), new Player(3,'馬濤') ); } /**隨機地主*/ public void pushBoss(){ /**隨機一個索引,隨到的為地主*/ Random r = new Random(); bossIndex = r.nextInt(players.size()); players.get(bossIndex).setBoss(true); } /**洗牌功能*/ public void XiPai(){ /**用Collections中的一個靜態方法實現隨機順序集合*/ Collections.shuffle(list); } /**發牌功能*/ public void FaPai(){ /**每次按順序給每人發一張牌直到51張牌發完*/ for(int i = 0;i < 51;i+=3){ players.get(0).getPokers().add(list.get(i)); players.get(1).getPokers().add(list.get(i+1)); players.get(2).getPokers().add(list.get(i+2)); } /**將剩余的三張牌發給地主*/ for(int j = 51;j < 54;j++){ players.get(bossIndex).getPokers().add(list.get(j)); } } /**排序功能*/ public void PaiXu(){ /**用Collections的sort方法實現排序功能*/ Collections.sort(players.get(0).getPokers()); Collections.sort(players.get(1).getPokers()); Collections.sort(players.get(2).getPokers()); } /**開始游戲*/ public void start(){ pushBoss(); XiPai(); FaPai(); PaiXu(); for(Player p:players){ System.out.println(p.getPokers()); } }}

下面我們來看看具體實現:

public class Test { public static void main(String[] args) { new PokerGame().start(); } }

結果如下:

Java實現斗地主的發牌功能

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
97精品国产| 精品一级视频| 亚洲天堂久久| 久久一区二区三区喷水| 亚洲天堂av影院| 国产不卡一区| 国产精品黑丝在线播放| 超碰99在线| 性感美女一区二区在线观看| 亚洲精品国产嫩草在线观看 | 日韩一区二区三区在线看| 中文字幕一区二区三区在线视频| 一区福利视频| 亚洲精品高潮| 久久国内精品| 另类小说一区二区三区| 日韩电影免费在线观看| 激情婷婷亚洲| 亚洲一区二区三区中文字幕在线观看 | 国产精品久久久久av蜜臀| 美女精品一区二区| 黄在线观看免费网站ktv| 999久久久精品国产| 午夜日韩在线| 亚洲精品美女| 欧美日韩亚洲一区二区三区在线| 久久亚州av| 亚洲不卡系列| 亚洲综合不卡| 欧美欧美黄在线二区| 精品视频国产| 欧美日一区二区| 亚洲精品在线二区| 国产精品chinese| 久久精品国语| 婷婷综合国产| 中文在线免费视频| 亚洲欧美久久| 国产精品片aa在线观看| 伊人网在线播放| 激情综合网五月| 热久久久久久| 免费一二一二在线视频| 六月婷婷一区| 久久精品一区二区三区中文字幕| 亚洲国产专区| 国产欧美二区| 国产精品99一区二区| 丝袜美腿亚洲一区| 麻豆精品99| 亚洲激情中文| 国产精品探花在线观看| 久久免费大视频| 国产亚洲精品美女久久| 久久青草久久| 中文字幕亚洲影视| av资源中文在线天堂| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产极品模特精品一二| 欧美a级片一区| 亚州欧美在线| 中文字幕人成乱码在线观看| 日本欧洲一区二区| 中文在线免费视频| 蜜桃久久精品一区二区| 精品精品国产三级a∨在线| 亚洲专区在线| 99在线精品免费视频九九视| 国产精品2023| 激情欧美一区| 日韩不卡手机在线v区| xxxxx性欧美特大| 国产精品一区亚洲| 国产精品探花在线观看| 九九久久电影| 丝袜美腿成人在线| 国产91在线播放精品| 日韩中文字幕1| 日本不良网站在线观看| 日韩一区二区三区在线看| 久久国产免费| 精品精品久久| 日韩一区二区三区精品 | www在线观看黄色| 日本成人在线一区| 欧美日韩国产高清| 久久影院午夜精品| 国产日韩在线观看视频| 日韩精品第一区| 日韩精品免费一区二区在线观看| 少妇精品久久久一区二区| 在线日韩电影| 国产精品一卡| 亚洲日韩中文字幕一区| 亚州av乱码久久精品蜜桃| 久久精品日韩欧美| 日本午夜精品| 不卡一区2区| 在线天堂中文资源最新版| 国产精品资源| 日韩二区三区四区| 视频精品一区二区| 一本一本久久| 欧美不卡视频| 成人久久一区| 国产+成+人+亚洲欧洲在线| 在线观看一区| 欧美综合二区| 99视频一区| 欧美1级日本1级| 久久免费高清| 日韩精品不卡一区二区| 久久不见久久见免费视频7| 亚洲2区在线| 蜜桃视频一区二区三区在线观看| 在线精品视频在线观看高清| 午夜av成人| 日韩一区二区三区免费播放| 精品国产第一福利网站| 六月婷婷综合| 欧美aa在线观看| 日韩在线观看一区| 欧美日韩视频网站| 日韩在线免费| 国产一在线精品一区在线观看| 久久免费黄色| 欧美精选一区二区三区| 亚洲综合图色| 国产精品毛片久久| 成人片免费看| 欧美日韩在线观看首页| 在线中文字幕播放| 日韩和的一区二在线| 视频二区不卡| 成人羞羞视频播放网站| 婷婷成人综合| 国产精品毛片在线看| 视频一区中文字幕国产| 视频一区视频二区在线观看| 日韩专区视频网站| 奇米色欧美一区二区三区| 日韩av成人高清| 婷婷精品久久久久久久久久不卡| 中文字幕一区二区三区在线视频| 日韩国产91| 国产精品久一| 另类专区亚洲| jiujiure精品视频播放| 亚洲一区二区毛片| 欧美一区二区三区久久精品| 国产精品探花在线观看| 福利一区和二区| 久久久噜噜噜| 免播放器亚洲| 久久精品xxxxx| 精品视频99| 影视先锋久久| 久色成人在线| 久久国产精品免费精品3p| 91亚洲国产高清| 美女网站一区| 蜜桃久久久久久| 麻豆精品少妇| 亚洲激情中文| 国产亚洲精品精品国产亚洲综合| 国产精品毛片久久| 天堂av在线一区| 久久免费影院| 欧美精品激情| 国产日韩欧美三级| 精品捆绑调教一区二区三区| 蜜桃久久av一区| 国产精品久久久网站| 国产在线|日韩| 亚洲va久久| 国产精品国产一区| 免费成人性网站| 美女精品视频在线| 日韩视频一区| 美女久久99| 欧美精选一区二区三区| 国产亚洲精品精品国产亚洲综合| 精品三级久久| 国产日本久久| 亚洲激情中文| 麻豆国产精品视频| 免费日韩av| 黄色精品视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 精品中文字幕一区二区三区四区| 在线视频精品| 吉吉日韩欧美| 日韩国产一二三区| 米奇777超碰欧美日韩亚洲| 国产免费久久| 亚洲主播在线| 人在线成免费视频| 欧美久久久网站| 午夜日韩福利| 福利在线免费视频|