3.4 KiB
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_resize(fillerにバインド)
fillerのDOM要素のサイズが変化したときに発生。resize_area()メソッドを呼び出して、各マスの幅と高さを再計算し、盤面がコンテナに比例して適切にリサイズされるよう保証する。
カスタムメソッドの説明
-
render_empty_area()
空の盤面を初期化・描画する。ネストされたVBoxとHBox構造を作成し、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"/>の形式で使用可能である。