Java实现洗牌发牌的方法

本文实例讲述了Java实现洗牌发牌的方法。分享给大家供大家参考。具体如下:

import java.util.*;
public class Main {
  /**
   * @param args the command line arguments
   */
  static int numbersOfPlayers = 4;
  static int numbersOfHandCard = 13;
  public static void main(String[] args) {
    // TODO code application logic here
    String[] player = {"小王","小张","小赵","小白"};
    String sentence = "的手牌是:";
    String[] huase = {"♥","♣","♦","♠"};
    String[] paiValue ={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
    List deak = new ArrayList();
    for(int i = 0;i < 4;i++){
      for(int j = 0; j < 13;j++)
      {
        deak.add(huase[i]+paiValue[j]);
      }
    }
    Collections.shuffle(deak);
    for(int i = 0;i < numbersOfPlayers;i++){
      System.out.print(player[i]+sentence);
      System.out.println(dealHand(deak, numbersOfHandCard));
    }
  }
  public static List dealHand(List Ls,int n){
    int sizePai = Ls.size();
    List handView = Ls.subList(sizePai - n, sizePai);
    List hand = new ArrayList(handView);
    handView.clear();
    return hand;
  }
}

希望本文所述对大家的java程序设计有所帮助。

(0)

相关推荐

  • java实现单词搜索迷宫游戏

    本文实例讲述了java实现单词搜索迷宫游戏.分享给大家供大家参考.具体分析如下: 我们在杂志上,经常能够看到找单词的小游戏,在一个二维表格中,存在各种字母,我们可以从八个方向找单词.这个用计算机处理十分方便,但是,算法的好坏很重要,因为要是用蛮力算法实现,那么耗费的时间是不可想象的. 这是数据结构与问题求解Java语言描述一书中给的实现思路 完整代码如下,注释写的很明白了 import java.io.BufferedReader; import java.io.FileReader; impo

  • Java制作智能拼图游戏原理及代码

    今天突发奇想,想做一个智能拼图游戏来给哄女友. 需要实现这些功能 第一图片自定义 第二宫格自定义,当然我一开始就想的是3*3 4*4 5*5,没有使用3*5这样的宫格. 第三要实现自动拼图的功能,相信大家知道女人耍游戏都不是很厉害,所以这个自动拼图功能得有. 其他什么暂停.排行就不写了! 现在重点问题出来了 要实现自动拼图功能似乎要求有点高哦!计算机有可不能像人一样只能: 先追究下本质 拼图游戏其实就是排列问题: 排列有这么一个定义:在一个1,2,...,n的排列中,如果一对数的前后位置与大小顺

  • java实现简单美女拼图游戏

    拼图小游戏,学习阶段.很多不足,改进了一下 演示图片: J_Puzzle.java import java.awt.BorderLayout; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.GridBagConstraints; import java.a

  • JavaScript数组随机排列实现随机洗牌功能

    本文实例讲述了JavaScript数组随机排列实现随机洗牌功能的方法.分享给大家供大家参考.具体分析如下: 这段JS代码可以对数组内的元素进行随机排列,这个非常有用,比如我们在玩扑克牌的时候可以让扑克牌进行排列,也就是电脑洗牌. var list = [1,2,3,4,5,6,7,8,9]; list = list.sort(function() Math.random() - 0.5); Print(list); // prints something like: 4,3,1,2,9,5,6,

  • javascript随机之洗牌算法深入分析

    洗牌算法是我们常见的随机问题,在玩游戏.随机排序时经常会碰到.它可以抽象成这样:得到一个M以内的所有自然数的随机顺序数组. 在百度搜"洗牌算法",第一个结果是<百度文库-洗牌算法>,扫了一下里面的内容,很多内容都容易误导别人走上歧途,包括最后用链表代替数组,也只是一个有限的优化(链表也引入了读取效率的损失). 该文里的第一种方法,可以简单描述成:随机抽牌,放在另一组:再次抽取,抽到空牌则重复抽."抽到空牌则重复抽"这会导致后面抽到空牌的机会越来越大,显然

  • javascript实例--教你实现扑克牌洗牌功能

    我们一般都会按照顺序把随机摸过来的牌从小到大的顺序在手上理整齐(记得小时候打牌两副牌手都抓不过来),这篇随笔就是想通过实现这个功能来熟悉下js中排序数组等相关知识. 用到知识点: 1.工厂方式创建对象 2.js数组sort()方法 复制代码 代码如下: var testArr = [1, 3, 4, 2];     testArr.sort(function (a,b) {         return a - b;     })     alert(testArr.toString());//

  • java实现五子棋小游戏

    java实现五子棋小游戏 package Gomoku; import java.awt.Toolkit; import javax.swing.JFrame; public class GomokuFrame extends JFrame { //定义一个操作面板 OperatorPane op=null; public GomokuFrame() { //设置名称 this.setTitle("五子棋"); //设置窗口大小 this.setSize(510,510); //设置窗

  • Java编写的24点纸牌游戏

    任意4个1-13数字,加减乘除计算24点. 实现原理: 1)排列组合4个数字 2)计算每次排列组合的可能性 Cal24.java import java.util.HashSet; import java.util.Set; public class Cal24 { private static final double precision = 0.00001; private static final int target = 24; public String[] execute(Strin

  • Java实现洗牌发牌的方法

    本文实例讲述了Java实现洗牌发牌的方法.分享给大家供大家参考.具体如下: import java.util.*; public class Main { /** * @param args the command line arguments */ static int numbersOfPlayers = 4; static int numbersOfHandCard = 13; public static void main(String[] args) { // TODO code ap

  • Java实现斗地主之洗牌发牌

    本文通过实例为大家分享了Java实现斗地主之洗牌发牌的具体代码,供大家参考,具体内容如下 案例分析 需求: 实现斗地主过程中的洗牌,发牌和看牌. 并且确保每一位玩家手上拿到的牌是随机并且按照大小排序好的 思路 1.创建一个牌盒,也就是定义一个集合对象,用ArrayList集合实现 2.往牌盒里面装牌 3.洗牌,也就是把牌打散,用Collections的shuffle()方法实现 4.发牌,也就是遍历结合,给三个玩家发牌 5.看牌,也就是三个玩家分别遍历自己的牌 代码实现 1.创建牌盒,存放所有牌

  • Java超详细教你写一个斗地主洗牌发牌系统

    目录 一.斗地主 1.前言 2.介绍 3.图解 二.准备牌 1.代码示例 2.数据展示 三.洗发牌与排序 代码示例 四.看牌(打印到控制台) 1.代码示例 2.展示 六.总结 一.斗地主 1.前言 相信每位看过<赌神>的同学都知道,里面有一种神奇的类似于魔术的力量. 没错!我们今天要说的这个神奇的东西就是:特异功能(不是) 就是:斗地主的洗牌发牌系统!!! 2.介绍 扑克牌经典游戏"斗地主"相信很多人都会玩,这次就用Java语言来编写一个斗地主的洗牌发牌程序,要求按照斗地主

  • C++扑克牌的洗牌发牌游戏设计

    笔者在大学二年级期间,做过的一次C++程序设计:扑克牌的洗牌发牌游戏.具体内容是:除去大王和小王,将52张扑克牌洗牌,并发出5张牌.然后判断这5张牌中有几张相同大小的牌,是否是一条链,有几个同花等. 笔者在学习他人设计的基础上,完成了自己的程序设计.这里将源程序分享给大家. [1] 文件"card.h" #ifndef CARD_H #define CARD_H #include<string> using namespace std; class Card { publi

  • C语言编写洗牌发牌程序

    用C语言编写洗牌发牌程序,供大家参考,具体内容如下 题目 现在只有一套扑克牌中52张副牌(无大王小王),包含了4种花色的牌 现在打乱顺序后分给甲乙丙丁四人 全部分配完毕后,输出甲乙丙丁四人所获得的扑克大小及花色 再经过排序,将甲乙丙丁四人的牌按由大到小顺序输出到屏幕上 要素提取 略 补充 牌面上的数字/字母由小到大为: 3 4 5 6 7 8 9 10 J Q K A 2 牌面上的花色由小到大为: 方块 梅花 红桃 黑桃 思路 略 可能出现的问题 略 代码 #include<stdio.h>

  • C语言实现洗牌发牌小程序

    本文实例为大家分享了C语言实现洗牌发牌小程序的具体代码,供大家参考,具体内容如下 构建一副扑克牌,并实现洗牌发牌. 代码 #include <stdio.h> #include <time.h> #include <stdlib.h> #define NUM 10000 //洗牌混乱度 char color[7][7] = {"空白","红桃","黑桃","草花","方片"

  • python小程序之4名牌手洗牌发牌问题解析

    本文为大家解析了python实现4名牌手洗牌发牌的问题,供大家参考,具体内容如下 编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌.创建函数gen_pocker()交换牌的顺序,函数getColor()获取牌的花色,函数getValue()获取牌的牌面大小,函数getPuk()获取花色和牌面大小的组合 运行效果 [51, 45, 31, 4, 48, 26, 11, 2, 24, 44, 22, 21, 16, 41, 50, 47, 13, 2

  • C++实现洗牌发牌排序功能的示例代码

    在内存中模拟出一副牌,然后模拟洗牌,发牌等动作. 流程是这样的:构建一副牌保存到一个数组中-洗牌-创建玩家-向玩家发牌–输出每个玩家的牌. #include <stdio.h> #include <stdlib.h> #include <time.h> //定义扑克的花色 enum Suit{ heart, spade, diamond, club, joker1, joker2 }; //一副牌的数量 #define CARD_COUNT 54 //定义扑克 type

  • Java模拟扑克牌洗牌实现生成52张扑克的方法示例

    本文实例讲述了Java模拟扑克牌洗牌实现生成52张扑克的方法.分享给大家供大家参考,具体如下: 要求: 生成52张扑克,模拟扑克牌洗牌,并输出. 实现代码: package com.NCU.ZHANGhuirong; import java.util.ArrayList; import java.util.Collections; public class Card { public String poker(int num) { String str = ""; String[] f

  • Java模拟实现扑克牌洗牌和发牌的示例代码

    目录 一. 需求 二. 全局代码 poker.java pokers.java 三. 设计分析 1. 设计一张扑克牌 2. 得到一副新牌 3. 洗牌 4. 发牌 一. 需求 设计一副新的的扑克牌, 4个花色(♥, ♠, ♦, ♣)对应 1 到 13 , 不算大小王一共52张牌 ; 然后将扑克牌随机打乱顺序 , 最后实现三个人进行摸牌 , 三个人轮流进行摸牌(每次摸一张牌) , 最终每个人手里有五张牌 二. 全局代码 poker.java public class poker { private

随机推荐