3x3 ビンゴカードをプレイヤーのサイドバーに表示し、HIT した数字を★で更新するクラス

8Fields
2Constructors
9Methods
214Lines
Package
com.example.rankingplugin.bingo
Source
bingo/BingoManager.java
Kind
class
Roles
非同期 / スケジューラ初期化 / ブートストラップ集約 / 制御
このクラスにも章立て解説を追加しています。 自動抽出の一覧だけでなく、下の『重点クラスの詳細解説』で読む順番・内部サブシステム・変更時の注意点まで追えます。 全クラス章立てガイドを見る

クラス説明

3x3 ビンゴカードをプレイヤーのサイドバーに表示し、HIT した数字を★で更新するクラス

責務と見どころ

重点クラスの詳細解説

3x3 ビンゴカードをプレイヤーのサイドバーに表示し、HIT した数字を★で更新するクラス。bingo パッケージの 小〜中規模クラスで、スケジューラを確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。

最初に追う読む順番

  1. BingoManager
    依存オブジェクトと初期状態を束ね、このクラスが担当するランタイムの前提を固めます。
  2. markHit
    指定の数字を HIT としてカードに反映
  3. countLines5x5
    countLines5x5 の主要処理を担当します。
  4. getLineCount
    必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
  5. getLineCount5x5
    必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
  6. reset
    reset の主要処理を担当します。
  7. getDisplayLines
    必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
  8. getDisplayLines5x5
    必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

内部サブシステムの地図

代表フロー詳解

反映・保存・終了の流れ

  1. BingoManager
  2. markHit
  3. countLines5x5
  4. getLineCount

結果を保持し、必要なら永続化し、最後に掃除まで行う出口です。画面更新だけ合って保存が壊れるケースや残骸が残るケースの確認に向きます。

変更時の注意点

フィールド

VisibilityTypeName役割
privateBingoCardcardcard の状態を保持します。
privateBingoDataServicedataService関連サービスへの参照です。
privateint[][]gridgrid の状態を保持します。
privateMap<Integer, Boolean>hitMaphitMap の状態を保持します。
privateAnimaTreeEngineanimaTreeanimaTree の状態を保持します。
privateorg.bukkit.plugin.java.JavaPluginpluginプラグイン本体参照です。
privatecom.example.rankingplugin.ScoreManagerscoreManager関連マネージャーへの参照です。
privatecom.example.rankingplugin.ScoreServicescoreService関連サービスへの参照です。

コンストラクタ / 初期化

Signature説明主要呼び出し
public BingoManager(Player p, BingoCard card, BingoDataService dataService, AnimaTreeEngine animaTree, JavaPlugin plugin, ScoreManager scoreManager)依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。主要呼び出しなし
public BingoManager(Player player, BingoCard card, BingoDataService dataService, AnimaTreeEngine animaTree, org.bukkit.plugin.java.JavaPlugin plugin, com.example.rankingplugin.ScoreManager scoreManager,com.example.rankingplugin.ScoreService scoreService)依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。getGrid → getHits

メソッド索引

NameVisibilityKind説明
BingoManagerpublicコンストラクタ依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
BingoManagerpublicコンストラクタ依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
markHitpublicメソッド指定の数字を HIT としてカードに反映
countLines5x5privateメソッドcountLines5x5 の主要処理を担当します。
getLineCountpublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getLineCount5x5publicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
resetpublicメソッドreset の主要処理を担当します。
getDisplayLinespublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getDisplayLines5x5publicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

メソッド詳細

BingoManager

コンストラクタpublic
public BingoManager(Player p, BingoCard card, BingoDataService dataService, AnimaTreeEngine animaTree, JavaPlugin plugin, ScoreManager scoreManager)

依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。

引数

throws

なし

主要な呼び出し順

目立つ内部呼び出しは抽出されませんでした。

BingoManager

コンストラクタpublic
public BingoManager(Player player, BingoCard card, BingoDataService dataService, AnimaTreeEngine animaTree, org.bukkit.plugin.java.JavaPlugin plugin, com.example.rankingplugin.ScoreManager scoreManager,com.example.rankingplugin.ScoreService scoreService)

依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。

引数

throws

なし

主要な呼び出し順

getGridgetHits

markHit

メソッドpublic
public void markHit(int number)

指定の数字を HIT としてカードに反映

引数

throws

なし

主要な呼び出し順

getPlayergetPlayerIdhitsaveisBingo5x5Runningensure5x5ExistscountLines5x5getHits

countLines5x5

メソッドprivate
private int countLines5x5(boolean[][] h)

countLines5x5 の主要処理を担当します。

引数

throws

なし

主要な呼び出し順

目立つ内部呼び出しは抽出されませんでした。

getLineCount

メソッドpublic
public int getLineCount()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

getGridgetHits

getLineCount5x5

メソッドpublic
public int getLineCount5x5()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

load5x5getPlayerIdensure5x5ExistsgetHits

reset

メソッドpublic
public void reset()

reset の主要処理を担当します。

引数

throws

なし

主要な呼び出し順

randomgetPlayerIdsave

getDisplayLines

メソッドpublic
public java.util.List<String> getDisplayLines()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

getGridgetHitsformatappendtoString

getDisplayLines5x5

メソッドpublic
public java.util.List<String> getDisplayLines5x5()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

getPlayerIdload5x5randomsave5x5getGridgetHitsformatappend

代表的な処理フロー

  1. 初期化フロー
    BingoManager → getGrid → getHits
    依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
  2. getDisplayLines5x5 フロー
    getDisplayLines5x5 → getPlayerId → load5x5 → random → save5x5 → getGrid
    必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
  3. markHit フロー
    markHit → getPlayer → getPlayerId → hit → save → isBingo5x5Running
    指定の数字を HIT としてカードに反映
  4. getDisplayLines フロー
    getDisplayLines → getGrid → getHits → format → append → toString
    必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
  5. getLineCount5x5 フロー
    getLineCount5x5 → load5x5 → getPlayerId → ensure5x5Exists → getHits
    必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

外部との接点

Web ルート

このクラス内に目立つ Web ルート定義は見つかりませんでした。

SQL / テーブル

テーブル名の抽出はありませんでした。

関連クラス

補足