91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java如何實現撲克牌發牌器

發布時間:2020-08-01 10:27:24 來源:億速云 閱讀:188 作者:小豬 欄目:編程語言

小編這次要給大家分享的是java如何實現撲克牌發牌器,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

實現思路

  • 構建一張撲克牌
  • 構建一套撲克牌
  • 測試

構建一張撲克牌

 /**
 * @author 冬冬
 * 定義一個單張撲克牌類
 * 有花型,大小
 */
public class Card {
 
  private String flower; // 花型
  private int daxiao;  // 點數
 
  /**構造方法
   * @param flower
   * @param daxiao
   */
  public Card(String flower, int daxiao) {
   this.flower = flower;
   this.daxiao = daxiao;
  }
 

  /* (non-Javadoc)
   * @see java.lang.Object#toString()
   * 獲取本張卡牌的花型與大小,對于特殊的大小,如1——A,輸出時進行轉換
   */
  public String toString() {
   String daxiaoStr = "";
   switch(daxiao) {
   case 1: daxiaoStr = "A"; break;
   case 11: daxiaoStr = "J"; break;
   case 12: daxiaoStr = "Q"; break;
   case 13: daxiaoStr = "K"; break;
   default: daxiaoStr = String.valueOf(daxiao);
   }
   return flower + daxiaoStr;
  }
}

構建一套撲克牌

public class Poker {
 
 private static String[] flowers = {"黑桃", "紅桃", "草花", "方塊"};
 private static int[] daxiaos = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
 private Card[] cards;//卡片數組,應該有54張,這里去掉大小王,只52張
 
 /**
  * 構造器
  * 按順序實例化52張撲克牌
  */
 public Poker() {
  cards = new Card[52];
  for(int i = 0; i < flowers.length; i++) {
   for(int j = 0; j < daxiaos.length; j++) {
    cards[i * 13 + j] = new Card(flowers[i], daxiaos[j]);
   }
  }
 }
 
 /**
  * 洗牌 (隨機亂序)
  * 對于52個Card實例數組隨機亂序排列
  */
 public void shuffle() {
  for(int i = 0, len = cards.length; i < len; i++) {
   int index = (int) (Math.random() * len);
   Card temp = cards[index];
   cards[index] = cards[i];
   cards[i] = temp;
  }
 }
 
 /**
  * 發牌
  * @param index 發牌的位置
  * 
  */
 public Card deal(int index) {
  return cards[index];
 }
 
}

測試

public class Test {
 
 public static void main(String[] args) {
  Poker poker = new Poker();//生成撲克牌
  poker.shuffle();   // 洗牌(亂序)
  Card c1 = poker.deal(0); // 發第一張牌
  //創建四個玩家,每個玩家13張空牌
  Card [] person1=new Card[13];
  Card [] person2=new Card[13];
  Card [] person3=new Card[13];
  Card [] person4=new Card[13];
  //為玩家的的空牌賦值
  for(int i=1;i<=52;i++)
  {
   if(i<=13) person1[i-1]=poker.deal(i-1);
   if(i>13&&i<=26) person2[i-1-13]=poker.deal(i-1);
   if(i>26&&i<=39) person3[i-1-26]=poker.deal(i-1);
   if(i>39&&i<=52) person4[i-1-39]=poker.deal(i-1); 
  }
  //打印
  System.out.println("玩家1");
  for (Card card : person1) {
 System.out.print(card+" ");
  }
  System.out.println("");
  System.out.println("玩家2");
  for (Card card : person2) {
  System.out.print(card+" ");
  }
  System.out.println("");
  System.out.println("玩家3");
  for (Card card : person3) {
  System.out.print(card+" ");
  }
  System.out.println("");
  System.out.println("玩家4");
  for (Card card : person4) {
  System.out.print(card+" ");
  }
 }
}

結果:

玩家1
紅桃6 方塊4 方塊A 黑桃4 草花2 紅桃Q 紅桃J 紅桃K 方塊3 黑桃K 方塊8 黑桃7 黑桃5
玩家2
草花A 黑桃2 紅桃7 草花3 草花5 方塊J 方塊9 草花9 草花K 黑桃8 草花J 黑桃10 紅桃8
玩家3
方塊7 紅桃4 紅桃2 草花6 方塊2 黑桃Q 黑桃9 黑桃A 草花10 草花7 紅桃10 紅桃A 方塊Q
玩家4
紅桃9 方塊5 草花8 方塊10 方塊K 草花Q 黑桃3 紅桃5 黑桃6 黑桃J 紅桃3 方塊6 草花4

注意事項

不要忘記在Poker類里導入Card類,在Test類里面導入Poker和Card;
自己想想,動手做一做才能真正理解。

看完這篇關于java如何實現撲克牌發牌器的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湖北省| 邢台市| 揭阳市| 娱乐| 昌宁县| 田林县| 翁牛特旗| 汪清县| 大荔县| 西畴县| 虎林市| 县级市| 宣城市| 山阳县| 都江堰市| 常熟市| 土默特右旗| 临泽县| 罗山县| 溧水县| 晋江市| 沿河| 高陵县| 积石山| 镇原县| 前郭尔| 白银市| 循化| 普兰县| 弥勒县| 会昌县| 广灵县| 天镇县| 和静县| 和田市| 岗巴县| 海原县| 马关县| 盈江县| 绵阳市| 伊吾县|