参考了网上了一些内容,自己实现了一个模拟玩家洗牌、发牌的小程序,若有问题欢迎提出,希望我们可以一起进步。QQ:767696856

(其中洗牌是直接通过集合类中的shuffle实现)

package com.cute.card;/** 手牌*/
public class Card {public String num;  //牌的数字public String suit;  //花色public Card(String num,String suit){this.num = num;this.suit = suit;}@Overridepublic String toString() {String str = suit + " " + num;return str;}
}
package com.cute.card;/** 玩家*/
import java.util.ArrayList;
import java.util.List;public class Player {public String name;  //玩家姓名public List<Card> cards;  //存储玩家手牌public Player(String name) {this.name = name;}//获取手牌public void getCard(Card card){if(cards == null) cards = new ArrayList<Card>();cards.add(card);}public String toString(){return name + ":" + cards.toString();}
}
package com.cute.card;import java.util.ArrayList;
import java.util.Collections;
import java.util.List;public class DeskOfCard {List<Card> cards;//创建一副手牌public void initCard(){String[] nums = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};String[] suits = {"方块","梅花","红桃","黑桃"};String[] jokers = {"小王","大王"};cards = new ArrayList<Card>();//先创建四种花色的牌for(int i = 0; i<52; i++){cards.add(new Card(nums[i%13],suits[i/13]));}//再加上大小王cards.add(new Card("",jokers[0]));cards.add(new Card("",jokers[1]));}public static void main(String[] args) {DeskOfCard test = new DeskOfCard();test.initCard();  //初始化Collections.shuffle(test.cards);  //洗牌//创建玩家Player pl1 = new Player("Cute");Player pl2 = new Player("Jane");Player pl3 = new Player("Katter");//发牌for(int i=0; i<54; i++){if(i%3 == 0){pl1.getCard(test.cards.get(i));}else if(i%3 == 1){pl2.getCard(test.cards.get(i));}else if(i%3 == 2){pl3.getCard(test.cards.get(i));}}System.out.println("玩家拿到的手牌为:");System.out.println(pl1.toString());System.out.println(pl2.toString());System.out.println(pl3.toString());}
}

运行结果:

Java模拟玩家洗牌发牌小程序相关推荐

  1. c语言洗牌发牌结构体,C语言实现洗牌发牌小程序

    本文实例为大家分享了C语言实现洗牌发牌小程序的具体代码,供大家参考,具体内容如下 构建一副扑克牌,并实现洗牌发牌. 代码 #include #include #include #define NUM ...

  2. 扑克牌洗牌发牌java代码_java实战(一)之Java模仿斗地主洗牌发牌小游戏

    斗地主是全国范围内的一种桌面游戏,尽管全国各种类型,但大同小异.本节我们先来实现一下斗地主中的简单洗牌.发牌和看牌功能. 按照斗地主的规则,完成洗牌发牌的动作.具体规则为使用 54 张牌打乱顺序,3 ...

  3. java中Map集合、模拟斗地主洗牌发牌、JDK9对集合添加的优化

    1.1 Map集合概述 Map集合概述 Map==>映射(一个对应一个) Map是一个接口,只要实现了该接口的类都是双列集合. 双列集合每次存储元素时都需要存储两个元素,一个元素称为键,一个元素 ...

  4. 【JAVASE】模拟斗地主洗牌发牌

    1.案例介绍 按照斗地主的规则,完成洗牌发牌的动作. 具体规则: 组装54张扑克牌 54张牌顺序打乱 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌. 查看三人各自手中的牌(按照牌的大 ...

  5. java使用集合模拟斗地主洗牌发牌案例

    package com.itheima.模拟斗地主.斗地主版本2;import java.util.ArrayList; import java.util.Collections; import ja ...

  6. 模拟斗地主洗牌发牌-JAVA

    1.1案例介绍 按照斗地主的规则,完成洗牌发牌的动作. 具体规则: 1.组装54张扑克牌 2.将54张牌顺序打乱 3.三个玩家参与游戏,三人交替摸牌,,每人17张牌,最后三张留作底牌. 4.查看三人各 ...

  7. Java项目:模拟扑克牌洗牌发牌排序

    用JAVA实现简单的扑克牌洗牌发牌并排序,首先写代码之前需要明确需要分哪些步骤: 创建一个HashMap集合对象 创建一个ArrayList集合对象 生成一副扑克牌 将扑克牌按照键值关系添加到Hash ...

  8. Java实现模拟斗地主洗牌发牌

    按照斗地主的规则,完成洗牌发牌看牌的动作.最终结果预计为: 具体规则: 1.组装54张扑克牌 2.将54张扑克牌顺序打乱 3.三个玩家参与游戏,三人交替摸牌,每人17张,最后三张做底牌 4.查看三人手 ...

  9. 18.集合框架(Map集合,HashMap和Hashtable的区别,Collections(集合工具类),集合练习,模拟斗地主(洗牌,发牌,看牌))

    1.Map集合概述和特点 1.需求:    根据学号获取学生姓名 2.Map接口概述     查看API可以知道:     将键映射到值的对象     一个映射不能包含重复的键     每个键最多只能 ...

最新文章

  1. 深度学习核心技术精讲100篇(三十九)-医疗健康领域的短文本理解
  2. 【每周CV论文推荐】 初学深度学习图像分割必须要读的文章
  3. hdu-----(4857)逃生(拓扑排序)
  4. mybatis是什么_为什么SpringMVC可以正确解析方法参数名称,但MyBatis却不行?
  5. Codeforces Round #453 (Div. 1) D. Weighting a Tree 构造 + dfs树
  6. LeetCode 26.删除排序数组中的重复项
  7. 使用Beetle简单构建聊天室程序
  8. 数据增量更新定义_技术资讯 | TiDB在准实时数据仓库中的实践
  9. 收藏一些 JQuery 导航插件
  10. Linux下禁止ping最简单的方法
  11. 从人体3D建模和测量入手,云之梦要用虚拟试衣解放量体师和服装导购员
  12. Informatica优化 - DTM Buffer Size
  13. pycharm 运行celery_调试celery遇到的坑
  14. Day54.XML解析(DOM4J)、Tomcat服务器、HTML协议简介: 请求、响应报文、响应码
  15. 正三角java_Java中的的画正三角方法
  16. ORACLE 排序函数row_number / rank / dense_rank
  17. python编程输入名字配对情侣网名_翻译:《实用的Python编程》01_05_Lists
  18. 基于qiankun搭建ng-alain15微前端项目入门实践
  19. Lazadashopee热销产品有哪些?运动户外类目快速增长
  20. App地推如何统计数据

热门文章

  1. python光标变粗_解决IDEA中不能正常输入光标变粗的问题
  2. 解决 idea 光标突然变粗无法恢复
  3. n个小球放入m个盒子中_n个球放入m个盒子的几种情形讨论
  4. table的 noWrap 属性不换行
  5. Mac 查询是否支持VT
  6. C语言程序设计教程蒋清明,C语言程序设计
  7. 列表详细介绍(通俗易懂)
  8. 归纳整理--PKI体系结构
  9. 目前国内有哪些开源的非 SaaS 团队协作平台、项目管理工具呢?
  10. 搭建一个局域网内使用的ftp站点