java模擬實現(xiàn)斗地主發(fā)牌小程序
一副撲克有54張牌:大小王+4*13,接下來我們來模擬一下斗地主的發(fā)牌過程
首先,我們需要買牌,新買來的牌都是按順序擺放的,因此下一步是洗牌,最后就是發(fā)牌了,不過發(fā)牌的時候要注意還要在最后留三張底牌。
主要使用的類有 ArrayList:用來存儲撲克,Collections用來洗牌。
import java.util.ArrayList; import java.util.Collections; /* * 模擬斗地主發(fā)牌 一共54張牌 * 買牌 * 洗牌 * 發(fā)牌 * */ public class DouDIZhuDemo { public static void main(String[] args) { // 花色 數(shù)組 String[] arr = { "黑桃", "紅桃", "梅花", "方片" }; String[] arr2 = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" }; // 買牌 ArrayList<String> box = new ArrayList<String>(); // 添加牌 // 獲取花色 for (int i = 0; i < arr.length; i++) // 獲取數(shù)值 for (int j = 0; j < arr2.length; j++) box.add(arr[i] + arr2[j]); // 大小王 box.add("大王"); box.add("小王"); // 洗牌 Collections.shuffle(box); // 發(fā)牌 三張底牌給地主,剩51張,每人17張 // 三個拿牌打牌的 ArrayList<String> 七寶 = new ArrayList<String>(); ArrayList<String> 八寶 = new ArrayList<String>(); ArrayList<String> 九寶 = new ArrayList<String>(); for (int i = 0; i < box.size() - 3; i++) { if(i%3==0) 七寶.add(box.get(i)); else if(i%3==1) 八寶.add(box.get(i)); else if(i%3==2) 九寶.add(box.get(i)); } System.out.println("七寶:"+七寶); System.out.println("八寶:"+八寶); System.out.println("九寶:"+九寶); //底牌 for(int i=box.size()-3;i<box.size();i++) System.out.println(box.get(i)); } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java HttpURLConnection超時和IO異常處理
這篇文章主要介紹了Java HttpURLConnection超時和IO異常處理的相關(guān)資料,需要的朋友可以參考下2016-09-09將java中的 string 類型轉(zhuǎn)成 數(shù)組案例
這篇文章主要介紹了將java中的 string 類型轉(zhuǎn)成 數(shù)組案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09tk.Mybatis 插入數(shù)據(jù)獲取Id問題
本文主要介紹了tk.Mybatis 插入數(shù)據(jù)獲取Id問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12java jni調(diào)用c函數(shù)實例分享(java調(diào)用c函數(shù))
Java代碼中調(diào)用C/C++代碼,當(dāng)然是使用JNI,JNI是Java native interface的簡寫,可以譯作Java原生接口,下面看實例吧2013-12-12使用Feign調(diào)用時添加驗證信息token到請求頭方式
這篇文章主要介紹了使用Feign調(diào)用時添加驗證信息token到請求頭方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03