Java实现斗地主游戏中洗牌,发牌,牌顺序逻辑
需求:
在启动游戏房间时,应提前准备好54张牌完成洗牌,发牌,牌顺序逻辑。
分析:
1.当系统启动的同时需要准备好数据的时候,就可以用静态代码块了。
2.洗牌就是打乱牌的顺序。
3.定义三个玩家、依次发出51张牌
4.给玩家的牌进行排序
代码实现:
Card类(卡牌类)
package collection.map.d4_collection_test;/**定义牌的类*/
public class Card {private String size;private String color;private int index;//真正的牌的大小public void setIndex(int index) {this.index = index;}public Card() {}public Card(String size, String color,int index) {this.size = size;this.color = color;this.index = index;}public String getSize() {return size;}public void setSize(String size) {this.size = size;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}public int getIndex() {return index;}/*** 重写toString,直接输出牌的大小与花色* @return*/@Overridepublic String toString() {return size+color;}}
GemeDemo类(实现类)
package collection.map.d4_collection_test;import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;public class GameDemo {/**1.定义一个静态集合对象,存放54张牌*/public static List<Card> allcards=new ArrayList<>();/**2.做牌,定义静态代码块初始化牌数据*/static {//3.定义点数:个数确定,类型确定,使用数组String[] sizes={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};//4.定义花色:个数确定,类型确定,使用数组String[] colors={"♥","♠","♦","♣"};//5.组合点数和花色int index=0;//记录牌的大小for (String size : sizes) {index++;for (String color : colors) {//6.封装为牌对象Card c=new Card(size,color,index);//7.添加到集合中allcards.add(c);}}//封装大小王,存入集合Card c1=new Card("","
Java实现斗地主游戏中洗牌,发牌,牌顺序逻辑相关推荐
- JAVA控制台扑克牌游戏,洗牌,发牌,比较大小
此游戏是一个简单的并且很基础的java控制台程序.这个扑克牌游戏主要的游戏过程是:首先创建一副扑克牌,创建好了后要进行洗牌,牌洗好了,需要玩家来玩,接下来就创建玩家.有洗好的牌,也有玩家了,那么就开始 ...
- java斗地主随机发牌_使用Java实现斗地主游戏的发牌过程
package com.review.test; import java.util.ArrayList; import java.util.Collections; import java.util. ...
- 有趣的游戏,Java版斗地主游戏实现
近日,使用Java编写了斗地主单机小游戏,作为经典小游戏,它也给大家带来不少乐趣,通过对这款游戏的简单实现,加深了我对对Java基础算法的理解. 一.思路: 1.首先要了解斗地主的游戏规则,针对游戏整 ...
- Java 编写斗地主游戏 窗体程序 完整源码
今天为大家分享斗地主游戏的开发与制作,目前是单机版游戏,后续时间空了,会给大家分享下联机版本的开发与制作.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开 ...
- 一行Java代码实现游戏中交换装备
摘要:JDK 1.5 开始 JUC 包下提供的 Exchanger 类可用于两个线程之间交换信息. 本文分享自华为云社区<一行Java代码实现两玩家交换装备[并发编程]>,作者:陈皮的Ja ...
- 用Java模拟斗地主游戏
package com.zgm.doudizhu;import java.util.*;public class Game {/*** 1. List集合存储 54个编号* 2. Map <ke ...
- Java编写斗地主游戏
1.准备牌:54张牌,存储到一个集合中 ·特殊牌: 大王 小王 ·普通牌:52张 定义一个数组/集合,存储4种花色:♥(红桃♦(方片) ♠(黑桃)♣(梅花) 定义一个数组/集合,存储13个序号:1-2 ...
- java制作扫雷游戏中埋雷的难点_Java 实现经典扫雷游戏
最后一次更新于 2019/07/08 效果演示图 Java 实现经典扫雷游戏 本扫雷游戏有以下功能: 如果点中炸弹会显示炸弹. 玩家左键点击方块能显示该方块周围会出现几个炸弹,如果不存在炸弹的话扫描范 ...
- java制作扫雷游戏中埋雷的难点_月薪30K程序员花了一个小时,用c++做出经典扫雷游戏 !...
上次发过一个俄罗斯方块的游戏源码,由于是通过Easy X实现的,但是很多和我一样的新手,一开始不知道Easy X是什么,到时源码拿过去之后,运行报错,我这次发的扫雷, 也是通过Easy X实现,Eas ...
最新文章
- LDNFSGB: prediction of long non-coding rna and disease association using network feature similarity
- bnuoj 1065 简单的问题(位运算)
- oracle 五种索引创建
- 第三章 中间件,3.1 万亿级数据洪峰下的分布式消息引擎(作者:冯嘉、誓嘉、尘央、牟羽)...
- java 接口和抽象类的区别6_JAVA基础篇-接口和抽象类的区别
- 计算机组成原理中移码怎么算,计算机组成原理中移码是怎么回事?
- HDU-1501-Zipper
- uniapp 分享缩略图过大怎么办_经验分享| 反击破转子断裂的应急处理方法
- 【浙江第16届省赛:B】Element Swapping(分情况讨论--数学题)
- MSN Messenger协议简介
- 酷狗音乐分类html,酷狗音乐手机版创建歌单教程 分类自己的音乐库
- 八款最佳的远程桌面工具
- 图解排序算法之「冒泡排序」(详细解析)
- android 点击 加qq群,Android一键加QQ群
- php expecting,php – 解析错误:语法错误,意外的’.’,expecting’,’或’;’
- 如何关闭移动硬盘的自动休眠功能
- Vant Weapp组件picker选择器初始默认选中
- 3D EXPERIENCE DraftSight的协作能力
- MATLAB 按组聚类绘图gscatter
- 小心!选错聚合广告平台,APP变现路上受挫!
热门文章
- burpsuite代理监听
- Scala语法汇集ABC
- 网络安全没有“银弹”
- 写爬虫遇到验证码识别问题的解决方案
- Universal-Image-Loader 图片来源于drawable改动 Scheme.DRAWABLE.wrap(R.drawable.img)报错
- 解决cvxpy报错The solver GLPK_MI is not installed
- duilib学习------网易云信combo控件
- 中国超级计算机神威 上市公司,中国拟研发百亿亿级超级计算机 秒杀目前最快神威...
- 美团酒旅实时数据规则引擎应用实践
- 狄利克雷条件和帕塞瓦尔定理