电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

java模擬斗地主發牌功能

瀏覽:63日期:2022-08-21 18:17:45

本文實例為大家分享了java模擬斗地主發牌的具體代碼,供大家參考,具體內容如下

1.案例介紹

規則:

組裝54張撲克牌 54張牌順序打亂 三個玩家參與游戲,三人交替摸牌,每人17張牌,后三張留作底牌 查看三人各自手中的牌(按照牌的大小排序)、底牌

2. 分析

1)、準備牌:

完成數字與紙牌的映射關系:使用雙列Map(HashMap)集合,完成一個數字與字符串紙牌的對應關系(相當于一個字典)。

2)、洗牌:

通過數字完成洗牌發牌發牌: 將每個人以及底牌設計為ArrayList,將后3張牌直接存放于底牌,剩余牌通過對3取模依次發牌。存放的過程中要求數字大小與斗地主規則的大小對應。將代表不同紙牌的數字分配給不同的玩家與底牌。

3)、看牌:

通過Map集合找到對應字符展示。通過查詢紙牌與數字的對應關系,由數字轉成紙牌字符串再進行展示。

3.代碼

public class Test7 { public static void main(String[] args) { //定義一個Map集合和List集合來存取牌號和索引 Map<Integer, String> map = new HashMap(); List<Integer> pokerindex = new ArrayList<>(); //定義牌 String[] num = {'3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A', '2'}; String[] color = {'♥', '♠', '♣', '♦'}; //存牌號和與之對應的索引 int index = 0; for (String s : num) { for (String c : color) { map.put(index, c + s); pokerindex.add(index); index++; } } //存大小王 map.put(index, '大王'); pokerindex.add(index); index++; map.put(index, '小王'); pokerindex.add(index); //打亂牌組; Collections.shuffle(pokerindex); //創建四個集合 List<Integer> dipai = new ArrayList<>(); List<Integer> player1 = new ArrayList<>(); List<Integer> player2 = new ArrayList<>(); List<Integer> player3 = new ArrayList<>(); //將打亂的索引數組分配給三個人 for (int i = 0; i < pokerindex.size(); i++) { if (i > 50) { dipai.add(pokerindex.get(i)); } else if (i % 3 == 0) { player1.add(pokerindex.get(i)); } else if (i % 3 == 2) { player2.add(pokerindex.get(i)); } else if (i % 3 == 1) { player3.add(pokerindex.get(i)); } } //給每個人的牌組排序 Collections.sort(player1); Collections.sort(player2); Collections.sort(player3); Collections.sort(dipai); //顯示每個人的牌組 show('張三', map, player1); show('李四', map, player2); show('王五', map, player3); show('底牌', map, dipai); } //定義一個方法用來顯示牌組 public static void show(String name, Map<Integer, String> map, List<Integer> player) { System.out.print(name); for (int i = 0; i < player.size(); i++) { Integer ii = player.get(i); System.out.print(map.get(ii) + ' '); } System.out.println(); }}

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

標簽: Java
相關文章:
主站蜘蛛池模板: 能耗监测系统-节能监测系统-能源管理系统-三水智能化 | 东莞ERP软件_广州云ERP_中山ERP_台湾工厂erp系统-广东顺景软件科技有限公司 | 伊卡洛斯软装首页-电动窗帘,别墅窗帘,定制窗帘,江浙沪1000+别墅窗帘案例 | 北京开业庆典策划-年会活动策划公司-舞龙舞狮团大鼓表演-北京盛乾龙狮鼓乐礼仪庆典策划公司 | 不锈钢管件(不锈钢弯头,不锈钢三通,不锈钢大小头),不锈钢法兰「厂家」-浙江志通管阀 | 圆形振动筛_圆筛_旋振筛_三次元振动筛-河南新乡德诚生产厂家 | 油漆辅料厂家_阴阳脚线_艺术漆厂家_内外墙涂料施工_乳胶漆专用防霉腻子粉_轻质粉刷石膏-魔法涂涂 | 德国UST优斯特氢气检漏仪-德国舒赐乙烷检测仪-北京泽钏 | 手机游戏_热门软件app下载_好玩的安卓游戏下载基地-吾爱下载站 | 短信营销平台_短信群发平台_106短信发送平台-河南路尚 | 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 西门子气候补偿器,锅炉气候补偿器-陕西沃信机电工程有限公司 | _网名词典_网名大全_qq网名_情侣网名_个性网名| 无锡装修装潢公司,口碑好的装饰装修公司-无锡索美装饰设计工程有限公司 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | 环压强度试验机-拉链拉力试验机-上海倾技仪器仪表科技有限公司 | 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 铁盒_铁罐_马口铁盒_马口铁罐_铁盒生产厂家-广州博新制罐 | 气胀轴|气涨轴|安全夹头|安全卡盘|伺服纠偏系统厂家-天机传动 | 会议会展活动拍摄_年会庆典演出跟拍_摄影摄像直播-艾木传媒 | 陶瓷砂磨机,盘式砂磨机,棒销式砂磨机-无锡市少宏粉体科技有限公司 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | MES系统-WMS系统-MES定制开发-制造执行MES解决方案-罗浮云计算 | 焊缝跟踪系统_激光位移传感器_激光焊缝跟踪传感器-创想智控 | 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 专业音响设备_舞台音响设备_会议音响工程-首选深圳一禾科技 | 塑料脸盆批发,塑料盆生产厂家,临沂塑料广告盆,临沂家用塑料盆-临沂市永顺塑业 | 三佳互联一站式网站建设服务|网站开发|网站设计|网站搭建服务商 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 依维柯自动挡房车,自行式国产改装房车,小型房车价格,中国十大房车品牌_南京拓锐斯特房车 - 南京拓锐斯特房车 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 大倾角皮带机-皮带输送机-螺旋输送机-矿用皮带输送机价格厂家-河南坤威机械 | 胶原检测试剂盒,弹性蛋白检测试剂盒,类克ELISA试剂盒,阿达木单抗ELISA试剂盒-北京群晓科苑生物技术有限公司 | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | 家德利门业,家居安全门,别墅大门 - 安徽家德利门业有限公司 | 伟秀电气有限公司-10kv高低压开关柜-高低压配电柜-中置柜-充气柜-欧式箱变-高压真空断路器厂家 | 冷凝水循环试验箱-冷凝水试验箱-可编程高低温试验箱厂家-上海巨为(www.juweigroup.com) | 啤酒设备-小型啤酒设备-啤酒厂设备-济南中酿机械设备有限公司 | 全温度恒温培养摇床-大容量-立式-远红外二氧化碳培养箱|南荣百科 |