ArrayList模擬鬥地主的洗牌,發牌和看牌
阿新 • • 發佈:2018-05-13
模擬 小數 public for new 輸出結果 pre light ati
ArrayList模擬鬥地主的洗牌,發牌和看牌
/*
* ArrayList模擬鬥地主的洗牌,發牌和看牌
*
* 分析:
* 1.創建一個牌盒
* 2.裝牌
* 3.洗牌
* 4.發牌
* 5.看牌
*/
代碼:
import java.util.ArrayList; import java.util.Collections; /** * ArrayList模擬鬥地主的洗牌,發牌和看牌 * @author TP * */ public class Doudizhu { /* * ArrayList模擬鬥地主的洗牌,發牌和看牌 * * 分析: * 1.創建一個牌盒 * 2.裝牌 * 3.洗牌 * 4.發牌 * 5.看牌 */ public static void main(String[] args) { //1.創建一個牌盒 ArrayList<String> array = new ArrayList<String>(); //2.裝牌 //牌的花色:紅桃 ? ,黑桃 ? ,梅花 ? ,方塊 ? //定義一個花色數組 String[] colors = {"?","?","?","?"}; //定義 一個大小數組 String[] num = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; //定義字符串來放大小王 String smallBoss = "小王"; String bigBoss = "大王"; //把花色和大小放入集合中 for(String color : colors){ for(String num1 : num){ array.add(color.concat(num1)); } } //裝入大小王 array.add(smallBoss); array.add(bigBoss); //3.洗牌 Collections.shuffle(array); //4.發牌 ArrayList<String> zhangsan = new ArrayList<String>(); ArrayList<String> lisi= new ArrayList<String>(); ArrayList<String> wangwu = new ArrayList<String>(); ArrayList<String> dipei = new ArrayList<String>(); for(int i = 0; i < array.size(); i++){ //如索引大於等於array.size()-3,則是底牌 if(i >= array.size()-3){ dipei.add(array.get(i)); }else if(i % 3 == 0){ zhangsan.add(array.get(i)); }else if(i % 3 == 1){ lisi.add(array.get(i)); }else if(i % 3 == 2){ wangwu.add(array.get(i)); } } //5.看牌 System.out.println("array : "+array); System.out.println("張三 : "+zhangsan); System.out.println("李四 : "+lisi); System.out.println("王五 : "+wangwu); System.out.println("底牌 : "+dipei); } }
輸出結果:
array : [?4, ?K, ?A, ?J, ?3, ?2, ?J, ?7, ?4, ?Q, ?3, ?6, ?4, ?7, 大王, ?5, ?K, ?A, ?9, ?5, ?10, ?Q, ?A, ?10, ?6, ?Q, ?2, ?7, ?6, ?5, ?J, ?8, ?3, ?8, 小王, ?8, ?5, ?10, ?6, ?10, ?K, ?J, ?A, ?8, ?2, ?7, ?K, ?9, ?Q, ?2, ?9, ?9, ?4, ?3]
張三 : [?4, ?J, ?J, ?Q, ?4, ?5, ?9, ?Q, ?6, ?7, ?J, ?8, ?5, ?10, ?A, ?7, ?Q]
李四 : [?K, ?3, ?7, ?3, ?7, ?K, ?5, ?A, ?Q, ?6, ?8, 小王, ?10, ?K, ?8, ?K, ?2]
王五 : [?A, ?2, ?4, ?6, 大王, ?A, ?10, ?10, ?2, ?5, ?3, ?8, ?6, ?J, ?2, ?9, ?9]
底牌 : [?9, ?4, ?3]
ArrayList模擬鬥地主的洗牌,發牌和看牌