`
bd2007
  • 浏览: 388580 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

java编写扑克的洗牌程序

阅读更多


java编写扑克的洗牌程序

1package com.web; 2 3public class Card { 4 5    private String face; // A, K, Q, J, 10,  2 6    private String suit; // Spade, Heart, Club, Diamond 7 8    public Card(){ 9        10    }11    12    //定义一个构造函数用于初始化点数2~A的牌13    public Card(String suit, String face) {14        this.face = face;15        this.suit = suit;16    }1718    //定义一个构造函数用于初始化大王和小王 19    public Card(String suit){20        this.face = "";  //如果不给face赋值的话,洗牌和切牌后的大小王前面会显示&#8220;null&#8221; 21        this.suit = suit;22    }23    24    protected String getFace() {25        return face;26    }2728    protected String getSuit() {29        return suit;30    }3132    public String toString() {33        return suit + " " + face;34    }3536    public static void shuffle(Card[] deck, int startIndex, int size, int splitIndex) {37        if (splitIndex * 2 > size) {38            Card.swap(deck, startIndex, splitIndex, size - splitIndex);39            shuffle(deck, size - splitIndex, splitIndex, size - splitIndex);40        } else if (splitIndex * 2 < size) {41            Card.swap(deck, startIndex, size - splitIndex, splitIndex);42            shuffle(deck, startIndex, size - splitIndex, splitIndex);43        } else {44            Card.swap(deck, startIndex, splitIndex, splitIndex);45        }4647    }4849    public static void swap(Card[] deck, int srcIndex, int dstIndex, int size) {50        String face = "";51        String suit = "";52        for (int i = 0; i < size; i++) {53            face = deck[srcIndex + i].face;54            suit = deck[srcIndex + i].suit;55            deck[srcIndex + i].face = deck[dstIndex + i].face;56            deck[srcIndex + i].suit = deck[dstIndex + i].suit;57            deck[dstIndex + i].face = face;58            deck[dstIndex + i].suit = suit;59        }60    }61    62    public static void main(String[] args){63        Card[] deck = new Card[54];64        String f[] = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };65        // String s[] = {"Spade","Heart","Club","Diamond"};66        String s[] = { "黑桃", "红桃", "梅花", "方块" };67        for (int i = 0; i < s.length; i++) {68            for (int j = 0; j < f.length; j++) {69                deck[i * 13 + j] = new Card(s[i], f[j]);70            }71            deck[52] = new Card("小王"); 72            deck[53] = new Card("大王"); 73        }74        int rnd = 0;75        int numOfShuffle = 10;76        for (int i = 0; i < numOfShuffle; i++) {77            rnd = (int) Math.abs(Math.random() * 52);78            Card.shuffle(deck, 0, deck.length, rnd);79        }80        // Test81        for (int i = 0; i < deck.length; i++) {82            System.out.println(deck[i]);83        }84    }85}86
0
1
分享到:
评论

相关推荐

    java扑克牌发牌程序

    主要用到了数组的思想去生成纸牌,用随即产生的数来洗牌,然后发牌!

    Java模拟扑克牌洗牌发牌过程

    改程序为用JAVA语言模拟扑克牌洗牌、发牌的过程,经测试,可以运行。

    java模拟人工洗牌(改进版)

    编写一个模拟人工洗牌的程序,将洗好的牌分别发给四个人。 使用结构card 来描述一张牌,用随机方法来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。 设计要求: 1)要求使用java类包中的Math.Random()...

    java 扑克牌程序

    Card类 洗牌 发牌 Game类(实现简单的大小花色比较)

    java模拟人工洗牌代码

    编写一个模拟人工洗牌的程序,将洗好的牌分别发给四个人。 使用结构card 来描述一张牌,用随机方法来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。 设计要求: 1)要求使用java类包中的Math.Random()...

    四人发牌洗牌程序

    编写一个模拟人工洗牌的程序,将洗好的牌分别发给四个人。 使用结构card 来描述一张牌,用随机方法来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。 设计要求: 1)要求使用java类包中的Math.Random()...

    模拟人工洗牌

    编写一个模拟人工洗牌的程序,将洗好的牌分别发给四个人。 使用结构card 来描述一张牌,用随机方法来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。 设计要求: 1)要求使用java类包中的Math.Random...

    Java语言编写扑克牌小游戏

    这个扑克牌游戏主要的游戏过程是:首先创建一副扑克牌,创建完扑克牌之后要进行洗牌,牌洗好了,需要玩家来玩,接下来就创建玩家。有洗好的牌,也有玩家了,那么就开始发牌,每一位玩家发两张牌,发完牌后,比较玩家...

    模拟一副扑克牌发牌4人

    用上面的数组,生成一副扑克牌 5、遍历显示全副扑克牌 6、模拟给4个人随机发牌,每个人11张牌 7、显示每个人的牌和剩余的牌

    用Java写的扑克牌类,包括一张牌类,一副牌类,以及德州扑克大小判定 这是红岩移动开发部的作业哦

    ##Overview 用 Java 写的三个扑克牌类,提供洗牌、比较德州扑克大小等功能。 具体功能在 Javadoc 里已经写的很详细了,生成 Javadoc 即可。 *注意,生成 Javadoc 时,请确保使用这个参数 -encoding UTF-8 -charset ...

    C/C++常用算法手册.秦姣华(有详细书签).rar

    如果读者采用其他编程语言,例如C++、C#、VB、Java等,根据其语法格式进行适当的修改即可。 《C/C++常用算法手册 》主要定位于有一定C/C++语言编程基础、想通过学习算法与数据结构提升编程水平的读者,也可作为...

Global site tag (gtag.js) - Google Analytics