佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 【算法】撲克發(fā)牌算法實(shí)現(xiàn)

【算法】撲克發(fā)牌算法實(shí)現(xiàn)

熱門標(biāo)簽:Mysql連接數(shù)設(shè)置 團(tuán)購(gòu)網(wǎng)站 銀行業(yè)務(wù) 阿里云 服務(wù)器配置 Linux服務(wù)器 電子圍欄 科大訊飛語(yǔ)音識(shí)別系統(tǒng)
首先給撲克牌中每張牌設(shè)定一個(gè)編號(hào),下面算法實(shí)現(xiàn)的編號(hào)規(guī)則如下:
u 紅桃按照從小到大依次為:1-13
u 方塊按照從小到大依次為:14-26
u 黑桃按照從小到大依次為:27-39
u 梅花按照從小到大依次為:40-52
u 小王為53,大王為54
算法實(shí)現(xiàn)如下:
u 首先按照以上編號(hào)規(guī)則初始化一個(gè)包含108個(gè)數(shù)字的數(shù)組
u 每次隨機(jī)從該數(shù)組中抽取一個(gè)數(shù)字,分配給保存玩家數(shù)據(jù)的數(shù)組
實(shí)現(xiàn)該功能的代碼如下所示:
復(fù)制代碼 代碼如下:

import java.util.*;
/**
* 發(fā)牌算法的實(shí)現(xiàn)
* 要求:把2副牌,也就是108張,發(fā)給4個(gè)人,留6張底牌
*/
public class Exec{
public static void main(String[] args){
//存儲(chǔ)108張牌的數(shù)組
int[] total = new int[108];
//存儲(chǔ)四個(gè)玩家的牌
int[][] player = new int[4][25];
//存儲(chǔ)當(dāng)前剩余牌的數(shù)量
int leftNum = 108;
//隨機(jī)數(shù)字
int ranNumber;
//隨機(jī)對(duì)象
Random random = new Random();

//初始化數(shù)組
for(int i = 0;i total.length;i++){
total[i] = (i + 1) % 54;
//處理大小王編號(hào)
if(total[i] == 0){
total[i] = 54;
}

}

//循環(huán)發(fā)牌
for(int i = 0;i 25;i++){
//為每個(gè)人發(fā)牌
for(int j = 0;j player.length;j++){
//生成隨機(jī)下標(biāo)
ranNumber = random.nextInt(leftNum);
//發(fā)牌
player[j][i] = total[ranNumber];
//移動(dòng)已經(jīng)發(fā)過(guò)的牌
total[ranNumber] = total[leftNum - 1];
//可發(fā)牌的數(shù)量減少1
leftNum--;
}
}

//循環(huán)輸出玩家手中的牌
for(int i = 0;i player.length;i++){
for(int j = 0;j player[i].length;j++){
System.out.print(" " + player[i][j]);
}
System.out.println();
}
//底牌
for(int i = 0;i 8;i++){
System.out.print(" " + total[i]);
}
System.out.println();
}
}
您可能感興趣的文章:
  • 純CSS實(shí)現(xiàn)撲克牌效果
  • javascript實(shí)例--教你實(shí)現(xiàn)撲克牌洗牌功能
  • js計(jì)算德州撲克牌面值的方法
  • 使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子的點(diǎn)數(shù)問題
  • C++德州撲克的核心規(guī)則算法

標(biāo)簽:棗莊 衢州 衡水 江蘇 大理 廣元 萍鄉(xiāng) 蚌埠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《【算法】撲克發(fā)牌算法實(shí)現(xiàn)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    江门市| 三明市| 花垣县| 中超| 临朐县| 云梦县| 阿克陶县| 普格县| 姜堰市| 洛浦县| 江门市| 鲜城| 揭西县| 江口县| 阜康市| 东丰县| 上栗县| 汉中市| 栖霞市| 淄博市| 永年县| 南充市| 睢宁县| 巧家县| 永川市| 游戏| 潼南县| 万源市| 邛崃市| 金湖县| 沧州市| 元谋县| 南充市| 苗栗县| 马鞍山市| 南平市| 康乐县| 黔江区| 南溪县| 武义县| 通化县|