参考了网上了一些内容,自己实现了一个模拟玩家洗牌、发牌的小程序,若有问题欢迎提出,希望我们可以一起进步。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. 熬夜精心整理的一线大厂大数据、人工智能全套教程下载(含视频+源码)!!...
  2. 关于C/S模式开发的学习笔记
  3. java 定时器代码_Java定时器代码的编写
  4. 不定字段数目的数据库表设计和数据结构
  5. 五分钟完成 ABP vNext 通讯录 App 开发
  6. python测试开发面试题_python测试开发面试之深浅拷贝
  7. 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - ActiveXForm运行容器...
  8. java方法重载[详解]
  9. 按下Backspace键,就会跳转到上一个页面。JavaScript屏蔽Backspace键处理,禁用Backspace键。
  10. CSP201609-3(炉石传说)(Java 100分)(只有78行代码)
  11. 拯救剧荒!程序员最爱看的美剧TOP5!
  12. LCD显示屏与OLED屏幕对比分析
  13. 数字货币钱包 HD Wallet的助记词和种子的生成原理(BIP39)
  14. 程序员如何进行职业规划?
  15. 最新CcPay多商户个人收款码支付系统源码+UI很不错
  16. xss payload大全
  17. nfs:server is not responding, still trying(NFS,不能从服务器读取,mount的问题)
  18. 常见的网络故障以及解决方法
  19. 管理经济学 知识点总结 (二)
  20. 毕业了,说几句真心话+献上自导自演的毕业照吧

热门文章

  1. Docker 本地镜像 推送到指定仓库
  2. c语言中结构体的指针初始化,c语言结构体指针初始化
  3. 2022我的Android大厂面试之旅,350道Android面试真题分享
  4. 华为技术支持经历(转)
  5. 【java框架】Thumbnails 图片处理--用法
  6. python plt 画图 【自用】
  7. C#进行CAD二次开发学习笔记--02
  8. 如何查看iOS手机证书安装位置
  9. 两节锂电池5V升压充电8.4V芯片
  10. 北京BJ60在上海车展上亮相,霓影版改装车型抢眼