程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#應用二維數組模仿斗田主

C#應用二維數組模仿斗田主

編輯:C#入門知識

C#應用二維數組模仿斗田主。本站提示廣大學習愛好者:(C#應用二維數組模仿斗田主)文章只能為提供參考,不一定能成為您想要的結果。以下是C#應用二維數組模仿斗田主正文


本文實例講述了C#應用二維數組模仿斗田主的辦法。分享給年夜家供年夜家參考。詳細以下:

package com.pb.demo;
import java.util.Arrays;
import java.util.Random;
/**
 * 撲克牌隨機發牌♠♥♣♦ 二維數組完成
 * 
 */
public class Puker {
 public static void main(String[] args) {
  // 界說數組
  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];
  // 二維數據洗牌
  Random random = new Random();
  int i1 = 0, i2 = 0, j1 = 0, j2 = 0;// 界說4個變量,用來寄存數組的下標
  // 洗牌1000次
  for (int i = 0; i < 1000; i++) {
   // 下標i1等於,隨機0~4的整數 一維的下標
   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個元素
   }
   // 由於最短的數組是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] + " ");
   }
  }
  // 開端發牌
  for (int i = 0; i < 54; i++) {
   int p = i % 3; // 界說發給哪一個玩家
   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==========發牌完成=============");
  // 玩家一
  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#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved