最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#使用二維數(shù)組模擬斗地主

 更新時間:2015年04月21日 12:15:31   作者:森林森  
這篇文章主要介紹了C#使用二維數(shù)組模擬斗地主的方法,通過C#的二維數(shù)組簡單實現(xiàn)撲克隨機發(fā)牌的功能,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了C#使用二維數(shù)組模擬斗地主的方法。分享給大家供大家參考。具體如下:

package com.pb.demo;
import java.util.Arrays;
import java.util.Random;
/**
 * 撲克牌隨機發(fā)牌♠♥♣♦ 二維數(shù)組實現(xiàn)
 * 
 */
public class Puker {
 public static void main(String[] args) {
  // 定義數(shù)組
  String[][] puker = new String[5][];
  puker[0] = new String[] { "♠A", "♠2", "♠3", "♠4", "♠5", "♠6", "♠7",
    "♠8", "♠9", "♠10", "♠J", "♠Q", "♠K" };
  puker[1] = new String[] { "♥A", "♥2", "♥3", "♥4", "♥5", "♥6", "♥7",
    "♥8", "♥9", "♥10", "♥J", "♥Q", "♥K" };
  puker[2] = new String[] { "♣A", "♣2", "♣3", "♣4", "♣5", "♣6", "♣7",
    "♣8", "♣9", "♣10", "♣J", "♣Q", "♣K" };
  puker[3] = new String[] { "♦A", "♦2", "♦3", "♦4", "♦5", "♦6", "♦7",
    "♦8", "♦9", "♦10", "♦J", "♦Q", "♦K" };
  puker[4] = new String[] { "大王", "小王" };
  // 定義3個玩家和底牌
  String[] player1 = new String[17];
  String[] player2 = new String[17];
  String[] player3 = new String[17];
  String[] temp = new String[3];
  // 二維數(shù)據(jù)洗牌
  Random random = new Random();
  int i1 = 0, i2 = 0, j1 = 0, j2 = 0;// 定義4個變量,用來存放數(shù)組的下標
  // 洗牌1000次
  for (int i = 0; i < 1000; i++) {
   // 下標i1等于,隨機0~4的整數(shù) 一維的下標
   i1 = random.nextInt(5); // 0~4之間
   if (i1 == 4) {
    // 如果一維的下標是4,則2維的的元素只有2個大王和小王,只有2個元素
    j1 = random.nextInt(2);
   } else {
    // 如果不是4,則有13張牌
    j1 = random.nextInt(13); // 0~12 共13個元素
   }
   // 因為最短的數(shù)組是2個元素,所以要2次,如果是多個就要多次
   i2 = random.nextInt(5);
   if (i2 == 4) {
    j2 = random.nextInt(2);
   } else {
    j2 = random.nextInt(13);
   }
   // 開始洗牌
   String tmp = puker[i1][j1];
   puker[i1][j1] = puker[i2][j2]; // 洗牌法,交換,打亂順序
   puker[i2][j2] = tmp;
  }
  // 洗牌后的牌
  System.out.println("===========洗牌后的順序============");
  for (int i = 0; i < puker.length; i++) {
   for (int j = 0; j < puker[i].length; j++) {
    System.out.print(puker[i][j] + " ");
   }
  }
  // 開始發(fā)牌
  for (int i = 0; i < 54; i++) {
   int p = i % 3; // 定義發(fā)給哪個玩家
   int k = i / 3 - 1; // 定義輪次
   if (i < 3) {
    // 先扣下三張底牌
    temp[i] = puker[i / 13][i % 13]; // 從前向回取3張,估做底牌
   } else if (p == 0) {
    player1[k] = puker[i / 13][i % 13];
   } else if (p == 1) {
    player2[k] = puker[i / 13][i % 13];
   } else if (p == 2) {
    player3[k] = puker[i / 13][i % 13];
   }
  }
  System.out.println("\n==========發(fā)牌完成=============");
  // 玩家一
  System.out.println("玩家一" + Arrays.toString(player1));
  // 玩家二
  System.out.println("玩家二" + Arrays.toString(player2));
  // 玩家三
  System.out.println("玩家三" + Arrays.toString(player3));
  // 底牌
  System.out.println("底牌" + Arrays.toString(temp));
 }
}

希望本文所述對大家的C#程序設(shè)計有所幫助。

相關(guān)文章

  • 解決Unity項目中UI腳本丟失的問題

    解決Unity項目中UI腳本丟失的問題

    這篇文章主要介紹了解決Unity項目中UI腳本丟失的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • C#非矩形窗體實現(xiàn)方法

    C#非矩形窗體實現(xiàn)方法

    這篇文章主要介紹了C#非矩形窗體實現(xiàn)方法,涉及C#窗體操作的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • C#集合查詢Linq在項目中使用詳解

    C#集合查詢Linq在項目中使用詳解

    本文主要介紹了C#集合查詢Linq在項目中使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • C# 獲取 PC 序列號的方法示例

    C# 獲取 PC 序列號的方法示例

    這篇文章主要介紹了C# 獲取 PC 序列號的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Unity實現(xiàn)簡易日志輸出功能

    Unity實現(xiàn)簡易日志輸出功能

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)簡易日志輸出功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • 解決C#中Linq GroupBy 和OrderBy失效的方法

    解決C#中Linq GroupBy 和OrderBy失效的方法

    最近發(fā)現(xiàn)了一個問題,在服務器端的Linq GroupBy 和OrderBy居然不管用,后來終于解決了所以現(xiàn)在分享給大家,有需要的朋友們可以參考借鑒。
    2016-09-09
  • C# Onnx實現(xiàn)輕量實時的M-LSD直線檢測

    C# Onnx實現(xiàn)輕量實時的M-LSD直線檢測

    這篇文章主要為大家詳細介紹了C#如何結(jié)合Onnx實現(xiàn)輕量實時的M-LSD直線檢測,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-11-11
  • C#?WPF數(shù)據(jù)綁定模板化操作的完整步驟

    C#?WPF數(shù)據(jù)綁定模板化操作的完整步驟

    WPF中的數(shù)據(jù)綁定提供了很強大的功能,與普通的WinForm程序相比,其綁定功能為我們提供了很多便利,下面這篇文章主要給大家介紹了關(guān)于C#?WPF數(shù)據(jù)綁定模板化操作的完整步驟,需要的朋友可以參考下
    2022-01-01
  • 詳解C#如何對ListBox控件中的數(shù)據(jù)進行操作

    詳解C#如何對ListBox控件中的數(shù)據(jù)進行操作

    這篇文章主要為大家詳細介紹了C#中對ListBox控件中的數(shù)據(jù)進行的操作,主要包括添加、刪除、清空、選擇、排序等,感興趣的小伙伴可以了解下
    2024-03-03
  • C#實現(xiàn)網(wǎng)頁畫圖功能

    C#實現(xiàn)網(wǎng)頁畫圖功能

    這篇文章主要為大家詳細介紹了C#實現(xiàn)網(wǎng)頁畫圖功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03

最新評論

湖南省| 锦州市| 塔城市| 浏阳市| 吴忠市| 南昌市| 和平县| 类乌齐县| 朝阳县| 邓州市| 呈贡县| 武乡县| 樟树市| 绩溪县| 临海市| 东宁县| 汾西县| 哈尔滨市| 凤台县| 海宁市| 金山区| 镇江市| 兴安盟| 青铜峡市| 新宾| 高邑县| 保亭| 扶风县| 噶尔县| 洛南县| 息烽县| 特克斯县| 伊宁市| 浪卡子县| 虞城县| 嵊泗县| 常州市| 密山市| 乐亭县| 会泽县| 湖口县|