简单的Java代码实现斗地主

news/2024/12/29 13:50:58/

简单的Java代码实现斗地主

斗地主综合分析:

1.准备牌:54张牌存储到一个集合中特殊牌:大王,小王其他52张牌:定义一个数组/集合,存储4种花色;定义一个数组/集合,存储13个序号循环嵌套遍历两个数组/集合,组装52张牌2.洗牌
使用集合工具Collections的方法
static void shuffle(List<?> list)
随机打乱集合中元素的顺序3.发牌1人17张牌为底牌,轮流发牌,集合的索引(0-53)%3定义4个集合,存储3个玩家的牌和底牌4.看牌直接打印集合,遍历存储玩家和底牌的集合

代码

import java.util.ArrayList;
import java.util.Collections;public class DouDiZhu {public static void main(String[] args) {//1.准备牌ArrayList<String> poker = new ArrayList<>();String[] colors = {"♥","♠","♦","♣"};String[] numbers ={"A","J","Q","K","2","3","4","5","6","7","8","9","10"};//存储大小王poker.add("大王");poker.add("小王");//循环遍历两个数组,组装52张牌for (String color : colors) {for (String number : numbers) {poker.add(color+number);}}/*2.洗牌使用集合的工具类Collections中的方法static void shuffle(List<?> list) 使用默认随机源对指定列表进行置换*/Collections.shuffle(poker);/*3.发牌*///定义4个集合,存储玩家的牌和底牌ArrayList<String> player01 = new ArrayList<>();ArrayList<String> player02 = new ArrayList<>();ArrayList<String> player03 = new ArrayList<>();ArrayList<String> dipai = new ArrayList<>();/*遍历poker集合,获取每一张牌使用poker集合的索引%3给3个玩家轮流发牌剩余3张牌给底牌注意:先判断底牌(i >=51)*/for (int i = 0;i < poker.size();i++) {String p = poker.get(i);if(i >=51) {dipai.add(p);}else if(i % 3 == 0) {player01.add(p);}else if(i % 3 == 1) {player02.add(p);}else if(i % 3 == 2) {player03.add(p);}}/*4.发牌*/System.out.println("张曼玉" + player01);System.out.println("王祖贤" + player02);System.out.println("林青霞" + player03);System.out.println("底牌" + dipai);}
}

http://www.ppmy.cn/news/677829.html

相关文章

扑克牌之斗地主的简单代码

斗地主的代码&#xff1a; package demo8;import java.util.*;public class Test8 {public static void main(String[] args) {// 生成扑克HashMap<Integer,String> mapnew HashMap<>(); ArrayList<Integer> picketnew ArrayList<>(); // 用…

斗地主小游戏随机发牌PHP代码

<?php header("Content-Type:text/html;charsetUTF-8"); $num[A,2,3,4,5,6,7,8,9,10,J,Q,K]; $icon[♠>red,♥>red,♦>black,♣>black]; $pokerarray(); foreach ($icon as $key > $v1) {foreach ($num as $v2) {$poker[]"<font color&qu…

简易斗地主代码实现,来和舍友来一把斗地主?

用java程序模拟斗地主&#xff0c;随机发牌。 import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.TreeSet;public class PokerDemo {public static void main(String[] args) {//用hashmap存编号&#xff0c;和牌HashMap…

四人斗地主 服务端 + 客户端 android 源码

这本来是同事之间玩的扑克游戏&#xff0c;后来大家都离职了&#xff0c;凑不上一起来打牌了&#xff0c;于是抱着玩的兴趣&#xff0c;开发在线玩法。 非常适合源码学习或小游戏开发&#xff0c;本人也是第一次去开发这种游戏&#xff0c;东拼西凑&#xff0c;大家凑合着看。…

【斗地主代码分析】(2)-斗地主逻辑-客户端与服务端

前言 看了看这个代码感觉没什么可讲的&#xff0c;没有什么独特的Unity技巧&#xff0c;都是斗地主的业务逻辑&#xff0c;这一片简单分析一下吧。 不过这个Demo包含前后端&#xff0c;可以了解下前后端的职责和如何交互的。总结一下就是前端负责界面展示&#xff0c;后端负责…

机器学习之朴素贝叶斯(Naive Bayes)

1 朴素贝叶斯算法介绍 朴素贝叶斯是经典的机器学习算法之一&#xff0c;也是为数不多的基于概率论的分类算法。朴素贝叶斯分类器(Naive Bayes Classifier 或 NBC)发源于古典数学理论&#xff0c;有着坚实的数学基础&#xff0c;以及稳定的分类效率&#xff0c;是应用最为广泛的…

python的线程

threading 模块 两种方式&#xff1a;线程处理函数 与 继承 threading.Thread 类 使用线程处理函数创建多线程的用法类似于 thread 模块创建多线程 使用继承 threading.Thread 类实现多线程的本质就是重写 threading.Thread 类中的 构造函数 与 run 方法 # (1) 线程处理函数 …

车辆二桥制动平衡率 不合格

车辆年检时提示 《车辆二桥制动平衡率》 不合格 1、更换刹车片 2、到修理厂进一步检查 经验来源&#xff1a;本人亲自检验10年老车出的问题&#xff0c;更换刹车片后解决。 个人理解&#xff1a;制动平衡率指的是两侧轮胎刹车片厚度不同&#xff0c;制动不均匀&#xff0c;可…