国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

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

2020-07-27 21:42:43
字體:
供稿:網(wǎ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ā)過的牌
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();
}
}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大田县| 勃利县| 临高县| 宜川县| 太康县| 福安市| 黎平县| 营山县| 博兴县| 元朗区| 茂名市| 华池县| 手机| 晋江市| 睢宁县| 壶关县| 方山县| 绥化市| 板桥市| 新泰市| 奉化市| 古蔺县| 松溪县| 海淀区| 博罗县| 綦江县| 历史| 佛冈县| 弥渡县| 曲阜市| 泽普县| 咸阳市| 新民市| 乳源| 疏附县| 五华县| 读书| 凤山县| 安溪县| 龙游县| 南昌市|