模擬闘地主洗牌-発牌-看牌
2888 ワード
模擬闘地主洗牌-発牌-看牌
/*闘地主打牌的想法:*A:HashMap集合を作成する:メモリカードの番号と対応するカード*B:ArrayList集合を作成する:メモリカードの番号*C:花色配列と点数配列を作成する:52枚のカード*D:0からHashMapに番号を格納する対応するカードを格納*同時にArrayListに番号を格納すればよい*E:洗札(洗は番号)*F:発札(発も番号であり、番号がソートされていることを保証するためにTreeSetコレクション受信を作成)*G:見札(TreeSetコレクションを巡り、番号(秩序ある番号)を取得し、HashMapコレクションに対応するカードを探す)*
/*闘地主打牌的想法:*A:HashMap集合を作成する:メモリカードの番号と対応するカード*B:ArrayList集合を作成する:メモリカードの番号*C:花色配列と点数配列を作成する:52枚のカード*D:0からHashMapに番号を格納する対応するカードを格納*同時にArrayListに番号を格納すればよい*E:洗札(洗は番号)*F:発札(発も番号であり、番号がソートされていることを保証するためにTreeSetコレクション受信を作成)*G:見札(TreeSetコレクションを巡り、番号(秩序ある番号)を取得し、HashMapコレクションに対応するカードを探す)*
/*
* :
* A: HashMap :
* B: ArrayList :
* C: :52
* D: 0 HashMap ,
* ArrayList
* E: ( )
* F: ( , , TreeSet )
* G: ( TreeSet , ( ), HashMap )
*/
package cn.itcast_03;
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
HashMap hm = new HashMap();
// ArrayList
ArrayList array = new ArrayList();
//
//
String[] colors = { "♠", "♥", "♣", "♦" };
//
String[] numbers = { "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2" };
// 0 HashMap , , ArrayList 。
int index = 0;
for (String number : numbers) {
for (String color : colors) {
String poker = color.concat(number);
hm.put(index, poker); //
array.add(index); //
index++; // 1
}
}
hm.put(index, " ");
array.add(index);
index++;
hm.put(index, " ");
array.add(index);
// ( ):
Collections.shuffle(array);
// ( , , TreeSet )
TreeSet cmm = new TreeSet();
TreeSet ldw = new TreeSet();
TreeSet ylw = new TreeSet();
TreeSet diPai = new TreeSet();
for (int x = 0; x < array.size(); x++) {
if (x >= array.size() - 3) {
diPai.add(array.get(x));
} else if (x % 3 == 0) {
cmm.add(array.get(x));
} else if (x % 3 == 1) {
ldw.add(array.get(x));
} else if (x % 3 == 2) {
ylw.add(array.get(x));
}
}
// ( TreeSet , , HashMap )
lookPoker(" ", cmm, hm);
lookPoker(" ", ldw, hm);
lookPoker(" ", ylw, hm);
lookPoker(" ", diPai, hm);
}
//
public static void lookPoker(String name, TreeSet ts, HashMap hm) {
System.out.print(name + " :");
for (Integer key : ts) {
String value = hm.get(key);
System.out.print(value + " ");
}
System.out.println();
}
}