トランプトランプトランプアルゴリズム実現
2803 ワード
トランプトランプトランプアルゴリズムは将棋ゲームでよく使われる基礎アルゴリズムであり、ゲーム開発者のニーズでもある.
よく知られているベースアルゴリズムの一つです.このアルゴリズムの実装方法について説明します.以下を参照してください.
トランプとトランプのシミュレーション
まず、トランプの各カードに番号を設定します.次のアルゴリズムで実現される番号ルールは次のとおりです.
紅桃は小さい頃から大きい順に:1-13
ブロックは小さい順に14-26です.
黒桃は小さい頃から27-39の順だった.
梅の花は小さい頃から大きい順に:40-52
王さんは53、王さんは54
アルゴリズムは以下のように実現される.
まず、108個の数字を含む配列を上記の番号規則に従って初期化します.
この配列からランダムに1つの数字を抽出するたびに、プレイヤーデータを保存する配列に割り当てられます.
実行結果:
C:/java>java Exec
50 31 52 24 10 29 29 32 36 46 8 28 27 41 17 17 38 41 46 18 34 24 4 21 6
22 53 54 42 16 48 38 35 31 2 45 26 47 32 51 9 49 45 34 27 3 11 54 25 1
37 5 10 13 39 42 36 6 47 4 30 37 20 12 14 8 3 40 30 12 23 52 43 9 23
15 49 14 35 7 44 33 40 48 44 1 19 43 39 20 15 7 51 26 11 2 8 16 21 18 5
25 2 50 53 33 19 22 13
よく知られているベースアルゴリズムの一つです.このアルゴリズムの実装方法について説明します.以下を参照してください.
トランプとトランプのシミュレーション
まず、トランプの各カードに番号を設定します.次のアルゴリズムで実現される番号ルールは次のとおりです.
紅桃は小さい頃から大きい順に:1-13
ブロックは小さい順に14-26です.
黒桃は小さい頃から27-39の順だった.
梅の花は小さい頃から大きい順に:40-52
王さんは53、王さんは54
アルゴリズムは以下のように実現される.
まず、108個の数字を含む配列を上記の番号規則に従って初期化します.
この配列からランダムに1つの数字を抽出するたびに、プレイヤーデータを保存する配列に割り当てられます.
:
import java.util.*;
/**
*
* : 2 , 108 , 4 , 8
*/
public class Exec{
public static void main(String[] args){
// 108
int[] total = new int[108];
//
int[][] player = new int[4][25];
//
int leftNum = 108;
//
int ranNumber;
//
Random random = new Random();
//
for(int i = 0;i < total.length;i++){
total[i] = (i + 1) % 54;
//
if(total[i] == 0){
total[i] = 54;
}
}
//
for(int i = 0;i < 25;i++){
//
for(int j = 0;j < player.length;j++){
//
ranNumber = random.nextInt(leftNum);
//
player[j][i] = total[ranNumber];
//
total[ranNumber] = total[leftNum - 1];
// 1
leftNum--;
}
}
//
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();
}
}
実行結果:
C:/java>java Exec
50 31 52 24 10 29 29 32 36 46 8 28 27 41 17 17 38 41 46 18 34 24 4 21 6
22 53 54 42 16 48 38 35 31 2 45 26 47 32 51 9 49 45 34 27 3 11 54 25 1
37 5 10 13 39 42 36 6 47 4 30 37 20 12 14 8 3 40 30 12 23 52 43 9 23
15 49 14 35 7 44 33 40 48 44 1 19 43 39 20 15 7 51 26 11 2 8 16 21 18 5
25 2 50 53 33 19 22 13