Java ゲーム作成 〜ステーテス作成ロジック〜

今までに、設計してきたうちの「ステータス作成」の部分を実装したいと思います。関連する記事は以下になります。

  1. Java プロコンゲーム 〜プレーヤー生成のシュミレーション〜
  2. Java プロコンゲーム 〜プレーヤー生成のステータスについて〜
  3. Java ゲーム作成 データ作成 〜タロットカードの意味と性格〜
  4. Java ゲーム作成 〜ステータス作成 for キャラ作成〜
  5. Java ゲーム作成 〜ステータス生成処理の設計〜

ステータス作成ロジック

大まかに、手順は以下のようになります。

  1. プレーヤー(クライアントアプリ)からSocket通信でXMLデータとイメージファイルを受信。
  2. 受診したXMLから「名前(ローマ字)」と「生年月日」を取得する
  3. 数秘術のネームチャート(数字の出し方参照)から算出した数字に対応する値(マップ)を取得する
  4. 取得したマップから各値を合計する

マップの値

作成したマップは以下のようになっています。

☆数字 1 2 3 4 5 6 7 8 9 11 12 備考
目的達成
個性
自立
愛情
知識
許容
連帯感
認知
創造
リーダーシップ
真理の探究
奉仕
承認
意思貫徹
霊性
論理
空間把握
無私
自制
具現化
行動を起こす
思慮深い
表現

例えば、人格数が「1」の場合は上記の丸がついているところのステータスが3加算されます。
つまり「人格数はx3の値を設定する」というところです。

ステータス生成ロジック内容

名前と数字の変換表
1 2 3 4 5 6 7 8 9
A B C D E F G H I
J K L M N O P Q R
S T U V W X Y Z

算出方法に関してはこちらの記事を参照願います。

そして、サンプルで算出したものからステータス生成ロジックに当てはめてみます。

名前は漢字で書くと「七志野 多久之次」ですが、ローマ字で処理を行うので「Nanashino Takunoji」になります。
数秘術の変換方法はこちらの記事を参考に変換しました
その結果は以下の通りになります。

そして、運命数は生年月日から算出します。
西暦は2桁ずつ、月日も2桁ずつ。。。

ハリソンフォードの場合: 1942年7月13日
年(右): 1 + 9 = 10 => 1 + 0 =1
年(左): 4 + 2 = 6
年= 1 + 6 => 「7」
月日:7+1+3 = 「11」
運命数 = 7 + 11 = 18 => 1 + 8 = 「9」

なので、「七志野 多久之次」は2018年5月2日生まれなので(ブログ開始日)以下のような式になります。

(2) + (1 + 8) + (5 + 2) = 18 => 1 + 8 =「9」
運命数= 「9」

上のようになります。ちなみに、こちらの記事に記載していますが、ステータス生成に使用する数字をまとめると以下のようになります。

人格数=「9」( x3)
運命数=「11」 (x1)
ハート数=「9」 (x2)
意思数=「6」 (xX(X倍する))
特徴数=「1, 5」(x1)
欠落数=「4, 7」(x(-1))

ここに出てきた数字を上の表から計算します。ここはプログラムで算出したいので、現状ではからの状態にしておきます。

ステータス計算結果

  1. 目的達成 =
  2. 個性 = 0
  3. 自立 = 0
  4. 愛情 = 4
  5. 知識 = 4 + X
  6. 許容 =
  7. 連帯感 =
  8. 認知 =
  9. 創造 =
  10. リーダーシップ =
  11. 真理の探究 =
  12. 奉仕 =
  13. 承認 =
  14. 意思貫徹 =
  15. 霊性 =
  16. 論理 =
  17. 空間把握 =
  18. 無私 =
  19. 自制 =
  20. 具現化 =
  21. 行動を起こす =
  22. 思慮深い =
  23. 表現 =

プログラムの作成

UMLでの設計では下のようになっています。

なのでPlalyerStatusUtilクラスにその処理を一任しようと考えています。。。

プログラムの実装は次回というところで。。。

でわでわ。。。



投稿者:

takunoji

音響、イベント会場設営業界からIT業界へ転身。現在はJava屋としてサラリーマンをやっている。自称ガテン系プログラマー(笑) Javaプログラミングを布教したい、ラスパイとJavaの相性が良いことに気が付く。 Spring framework, Struts, Seaser, Hibernate, Playframework, JavaEE6, JavaEE7などの現場経験あり。 SQL, VBA, PL/SQL, コマンドプロント, Shellなどもやります。

コメントを残す