1. 程式人生 > >鬥地主發牌演算法

鬥地主發牌演算法

寫著玩
package poker;

import java.util.Random;

/**
 * Created by 小林未鬱 on 2016/8/11.
 */
public class dealCards {

    static String[] flowerColor = {"黑桃", "紅桃", "方片", "梅花"};
    static String[] number = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
    static String[] cards = new String[54];

    public static void 
main(String[] args) { new dealCards_fuck(flowerColor, number, cards); new Upset(cards); new DistributeCards(cards); } } //排序,像新牌一樣 class dealCards_fuck { dealCards_fuck(String[] flowerColor, String[] number, String[] cards) { cards[52] = "小王"; cards[53] = "
大王"; for (int i = 0; i < 52; i++) { cards[i] = flowerColor[i % 4] + number[i / 4]; } } } //洗牌 class Upset { Upset(String[] fuck) { for (int t = 0; t < 50; t++) { Random rand = new Random(); for (int i = 0; i < fuck.length; i++) { int
bitch = 0; for (; ; ) { bitch = i + rand.nextInt(54 - i); break; } String temp = fuck[bitch]; fuck[bitch] = fuck[i]; fuck[i] = temp; } } } } //發牌 class DistributeCards { String[] p1 = new String[17]; String[] p2 = new String[17]; String[] p3 = new String[17]; DistributeCards(String[] fuck) { for (int i = 0; i < 17; i++) { p1[i] = fuck[i]; } for (int i = 17, t = 0; i < 34; i++, t++) { p2[t] = fuck[i]; } for (int i = 34, t = 0; i < 51; i++, t++) { p3[t] = fuck[i]; } System.out.println("玩家1:"); new show(p1); System.out.println(); System.out.println("玩家2:"); new show(p2); System.out.println(); System.out.println("玩家3:"); new show(p3); System.out.println(); System.out.println("三張底牌"); for (int i = 51; i < 54; i++) { System.out.println(fuck[i]); } } } //列印牌 class show { show(String[] fuck) { for (int i = 0; i < fuck.length; i++) { System.out.println(fuck[i]); } } }