bricks/docs/ja/gobang.md
2025-11-19 12:30:39 +08:00

3.4 KiB
Raw Blame History

GobangPoint

コントロール機能五目並べの盤面における1つの石の位置を表す。状態に応じて、空き、黒石、または白石として表示され、マウスホバー効果もサポートする。
タイプ:通常コントロール
親クラスbricks.Image

初期化パラメータ

パラメータ名 説明
p_status 数値Number 石の状態0 は空き、1 は黒石、2 は白石を示す
p_x 数値Number 水平位置、範囲は1から15まで
p_y 数値Number 垂直位置、範囲は1から15まで
tip 文字列String、任意 マウスオーバー時のツールチップテキスト

注:コンストラクタは自動的に calc_url() を呼び出し、位置と状態に基づいて対応する画像パスを生成し、set_url() を通じて画像ソースを設定します。

主なイベント

  • mouseover
    マウスがコントロール領域に入ったときに発生。set_current_position(true) を呼び出し、現在の座標にハイライトスタイルCSSクラス curpos を追加)を適用する。

  • mouseout
    マウスがコントロール領域から離れたときに発生。set_current_position(false) を呼び出し、ハイライトスタイルを削除する。


Gobang

コントロール機能15×15の五目並べゲームのインターフェースを実現するコンテナコントロール。盤面の描画、各石の状態管理、プレイヤーのターン制御などを担当する。
タイプ:コンテナコントロール
親クラスbricks.VBox

初期化パラメータ

外部からの明示的なパラメータはなし。内部で以下の初期化処理を行う:

  • 自動的にレイアウト調整用の Filler コントロールを作成
  • 15×15の碁石ポイント配列GobangPoint 使用)を作成・描画
  • ウィンドウサイズ変更イベントに連動して、各マスのサイズを動的に調整し、正方形を維持しつつ使用可能な空間を埋めるようにする

主なイベント

  • element_resizefiller にバインド)
    filler のDOM要素のサイズが変化したときに発生。resize_area() メソッドを呼び出して、各マスの幅と高さを再計算し、盤面がコンテナに比例して適切にリサイズされるよう保証する。

カスタムメソッドの説明

  • render_empty_area()
    空の盤面を初期化・描画する。ネストされた VBoxHBox 構造を作成し、15×15の GobangPoint インスタンスを配置。後続の操作のために this.area[i][j] に格納する。

  • resize_area()
    filler の実際のサイズに基づき、各マスのサイズを動的に計算最小辺の長さを15で割った値。全 GobangPoint に対して統一された幅と高さのスタイルを設定する。

  • inform_go(party)
    (現在は空の実装)指定されたプレイヤー(例:'black''white'に次の手番を通知するためのメソッド。AIやネット対戦ロジックとの連携に利用可能。

注:このコントロールは bricks.Factory.register('Gobang', bricks.Gobang); によって登録されており、テンプレート中で <widget type="Gobang"/> の形式で使用可能である。