黑桃按照從小到大依次為:1-13
紅桃按照從小到大依次為:14-26
梅花按照從小到大依次為:27-39
方塊按照從小到大依次為:40-52
小王53 大王54
代碼實現(xiàn):
package com.zsy.study;import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.*;/** * * @author 偶my耶 * 游戲發(fā)牌 */public class Cards { /** * 發(fā)牌函數(shù) * @param args */ PRivate int[][] player; //玩家 private int[] total; // 底牌數(shù) public int[][] getPlayer() { return player; } public void setPlayer(int[][] player) { this.player = player; } public int[] getTotal() { return total; } public void setTotal(int[] total) { this.total = total; } /** * 發(fā)牌函數(shù) * @param CardNum 總牌數(shù) * @param Rs 人數(shù) * @param Ps 每人的牌數(shù) * @return Cards */ public static Cards PlayingCards(int Rs){ int Ps ,CardNum; //每人的牌數(shù) //總牌數(shù) if(Rs==4){ //如果人數(shù)是4個,則把總牌數(shù)設為108張,每人的牌數(shù)設為25張 CardNum=108; Ps=25; }else if(Rs==3){ //如果人數(shù)是4個,則把總牌數(shù)設為54張,每人的牌數(shù)設為17張 CardNum=54; Ps=17; }else { CardNum=0; Ps=0; System.out.println("輸入錯誤"); System.exit(1); } int[] total=new int[CardNum]; // int[][] player=new int[Rs][Ps]; //定義玩家數(shù)和牌數(shù)的 數(shù)組 int leftNum=CardNum; //剩下的牌數(shù) int ranNumber; //隨機發(fā)的牌 Random random=new Random(); for (int i = 0; i < total.length; i++) { //將牌數(shù)設在1--54之間 其中1~13表示一種花色 total[i]=(i+1)%54; //,依此類推 if (total[i]==0) { //把0設為54 total[i]=54; } } for(int i=0;i<player[0].length;i++){ //隨機分配牌 for(int j=0;j<player.length;j++){ ranNumber=random.nextInt(leftNum); //隨機獲取下標, player[j][i]=total[ranNumber]; //將隨機的數(shù)賦給玩家 total[ranNumber] = total[leftNum-1]; leftNum--; } } Cards card=new Cards(); card.setPlayer(player); card.setTotal(total); return card; } public void print(Cards card,int rs) { int dp; for (int i = 0; i < card.getPlayer().length; i++) { System.out.print("玩家"+(i+1)+"的牌"); for (int j = 0; j < card.getPlayer()[i].length; j++) { System.out.print(" "+card.getPlayer()[i][j]); } System.out.println(); } System.out.print("底牌"); if(rs==4){ dp=8; //設置底牌數(shù) }else { dp=3; //設置底牌數(shù) } for (int i = 0; i < dp; i++) { System.out.print(" "+card.getTotal()[i]); } System.out.println(); } public static void main(String[] args) throws Exception{ System.out.println("請選擇游戲:1、斗地主,2、三打哈"); BufferedReader br=new BufferedReader(new InputStreamReader(System.in));//輸入語句 Integer rs = Integer.valueOf(br.readLine()); Cards card=PlayingCards(rs+2); card.print(card,rs); } }
運行結(jié)果:

新聞熱點
疑難解答