Java模拟玩家洗牌发牌小程序
参考了网上了一些内容,自己实现了一个模拟玩家洗牌、发牌的小程序,若有问题欢迎提出,希望我们可以一起进步。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模拟玩家洗牌发牌小程序相关推荐
- c语言洗牌发牌结构体,C语言实现洗牌发牌小程序
本文实例为大家分享了C语言实现洗牌发牌小程序的具体代码,供大家参考,具体内容如下 构建一副扑克牌,并实现洗牌发牌. 代码 #include #include #include #define NUM ...
- 扑克牌洗牌发牌java代码_java实战(一)之Java模仿斗地主洗牌发牌小游戏
斗地主是全国范围内的一种桌面游戏,尽管全国各种类型,但大同小异.本节我们先来实现一下斗地主中的简单洗牌.发牌和看牌功能. 按照斗地主的规则,完成洗牌发牌的动作.具体规则为使用 54 张牌打乱顺序,3 ...
- java中Map集合、模拟斗地主洗牌发牌、JDK9对集合添加的优化
1.1 Map集合概述 Map集合概述 Map==>映射(一个对应一个) Map是一个接口,只要实现了该接口的类都是双列集合. 双列集合每次存储元素时都需要存储两个元素,一个元素称为键,一个元素 ...
- 【JAVASE】模拟斗地主洗牌发牌
1.案例介绍 按照斗地主的规则,完成洗牌发牌的动作. 具体规则: 组装54张扑克牌 54张牌顺序打乱 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌. 查看三人各自手中的牌(按照牌的大 ...
- java使用集合模拟斗地主洗牌发牌案例
package com.itheima.模拟斗地主.斗地主版本2;import java.util.ArrayList; import java.util.Collections; import ja ...
- 模拟斗地主洗牌发牌-JAVA
1.1案例介绍 按照斗地主的规则,完成洗牌发牌的动作. 具体规则: 1.组装54张扑克牌 2.将54张牌顺序打乱 3.三个玩家参与游戏,三人交替摸牌,,每人17张牌,最后三张留作底牌. 4.查看三人各 ...
- Java项目:模拟扑克牌洗牌发牌排序
用JAVA实现简单的扑克牌洗牌发牌并排序,首先写代码之前需要明确需要分哪些步骤: 创建一个HashMap集合对象 创建一个ArrayList集合对象 生成一副扑克牌 将扑克牌按照键值关系添加到Hash ...
- Java实现模拟斗地主洗牌发牌
按照斗地主的规则,完成洗牌发牌看牌的动作.最终结果预计为: 具体规则: 1.组装54张扑克牌 2.将54张扑克牌顺序打乱 3.三个玩家参与游戏,三人交替摸牌,每人17张,最后三张做底牌 4.查看三人手 ...
- 18.集合框架(Map集合,HashMap和Hashtable的区别,Collections(集合工具类),集合练习,模拟斗地主(洗牌,发牌,看牌))
1.Map集合概述和特点 1.需求: 根据学号获取学生姓名 2.Map接口概述 查看API可以知道: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能 ...
最新文章
- 深度学习核心技术精讲100篇(三十九)-医疗健康领域的短文本理解
- 【每周CV论文推荐】 初学深度学习图像分割必须要读的文章
- hdu-----(4857)逃生(拓扑排序)
- mybatis是什么_为什么SpringMVC可以正确解析方法参数名称,但MyBatis却不行?
- Codeforces Round #453 (Div. 1) D. Weighting a Tree 构造 + dfs树
- LeetCode 26.删除排序数组中的重复项
- 使用Beetle简单构建聊天室程序
- 数据增量更新定义_技术资讯 | TiDB在准实时数据仓库中的实践
- 收藏一些 JQuery 导航插件
- Linux下禁止ping最简单的方法
- 从人体3D建模和测量入手,云之梦要用虚拟试衣解放量体师和服装导购员
- Informatica优化 - DTM Buffer Size
- pycharm 运行celery_调试celery遇到的坑
- Day54.XML解析(DOM4J)、Tomcat服务器、HTML协议简介: 请求、响应报文、响应码
- 正三角java_Java中的的画正三角方法
- ORACLE 排序函数row_number / rank / dense_rank
- python编程输入名字配对情侣网名_翻译:《实用的Python编程》01_05_Lists
- 基于qiankun搭建ng-alain15微前端项目入门实践
- Lazadashopee热销产品有哪些?运动户外类目快速增长
- App地推如何统计数据