你的位置:首页 > Java教程

[Java教程]54张牌模拟斗地主


54张牌模拟斗地主

package demo;import java.util.Random;/** * 54张牌洗牌和发牌 * */public class Puker {  public static void main(String[] args) {    Random random = new Random();    // 初始化数组    String[] puker = { "♠A", "♠2", "♠3", "♠4", "♠5", "♠6", "♠7", "♠8",        "♠9", "♠10", "♠J", "♠Q", "♠K", "♥A", "♥2", "♥3", "♥4", "♥5",        "♥6", "♥7", "♥8", "♥9", "♥10", "♥J", "♥Q", "♥K", "♣A", "♣2",        "♣3", "♣4", "♣5", "♣6", "♣7", "♣8", "♣9", "♣10", "♣J", "♣Q",        "♣K", "♦A", "♦2", "♦3", "♦4", "♦5", "♦6", "♦7", "♦8", "♦9",        "♦10", "♦J", "♦Q", "♦K", "大王", "小王" };    // 声明3个玩家了和保存的底牌    String[] p1 = new String[17];    String[] p2 = new String[17];    String[] p3 = new String[17];    String[] bluff = new String[3];    // 模拟洗牌1000次    for (int i = 0; i < 1000; i++) {      int r1 = random.nextInt(puker.length);      int r2 = random.nextInt(puker.length);      String tmp = puker[r1];      puker[r1] = puker[r2];      puker[r2] = tmp;    }    // 发牌    int index = 0;    for (int i = 0; i < puker.length;) {      if (i < 3) {        //先保留3张底牌        bluff[i] = puker[i++];      }else {        //发牌给3个玩家        p1[index] = puker[i++];        p2[index] = puker[i++];        p3[index] = puker[i++];        index++;      }        }    System.out.println("底牌是:");    for (int i = 0; i < bluff.length; i++) {      System.out.print( bluff[i]+" ");    }    System.out.println("\n玩家1的牌是:");    for (int i = 0; i < p1.length; i++) {      System.out.print(p1[i] + " ");    }    System.out.println("\n玩家2的牌是:");    for (int i = 0; i < p2.length; i++) {      System.out.print(p2[i] + " ");    }    System.out.println("\n玩家3的牌是:");    for (int i = 0; i < p3.length; i++) {      System.out.print(p3[i] + " ");    }  }}