Pieceクラス - magu1436/TkinterBoardGame GitHub Wiki

Piece クラスとは?

ボードゲームにおける駒の役割を果たすクラス。
オセロなら白黒の石、すごろくの駒、マインスイーパーの旗などは、このクラスまたはこのクラスのサブクラスのオブジェクトとして実装する。
デフォルト設定では、ボードに設置したときに自動的に画像がリサイズされるため、プログラマは Piece オブジェクトを作成して Board に設置するという作業だけでグラフィック処理が終了する。

インスタンス属性

Piece オブジェクトは以下の属性を持つ

属性名 説明 備考
image BoardGamePhotoImage 自身の画像オブジェクト
image_display_size [Coordinate](/magu1436/TkinterBoardGame/wiki/Coordinateクラス) 画像のサイズ 変更不可
coordinate Coordinate | None ボード上の自身の座標 ボード上にないとき、Noneを持つ。 変更不可
x int ボード上の自身のx座標 ボード上にないとき、エラーを返す。変更不可
y int ボード上の自信のy座標 ボード上にないとき、エラーを返す。変更不可

ボード上におけるこのオブジェクトの座標は、自身から直接変更することはできない。座標を変更したい(移動したい)場合は、必ず Boardクラスオブジェクトから移動させる必要がある。

コンストラクタ

Piece クラスのコンストラクタには以下の引数を与える。

引数名 説明 備考
image PathOrImage | None オブジェクトの画像のパスまたは画像オブジェクト Noneのとき、透明な画像を持つ。デフォルトでNone
image_display_size Coordinatelike | None 画像の表示サイズ。Tkinter基準の大きさ Noneのとき、画像の大きさをそのまま自身の大きさとする
auto_resize bool 自身がボード上に配置されたとき、マスの大きさに合わせて自動的にリサイズするかどうか デフォルトでTrue
owner Player | None 自身を所持するプレイヤー
***_clicked_func Callable マウスクリック時に呼び出す関数 詳細は後述
***_release_func Callable マウスクリックが離されたときに呼び出す関数 詳細は後述

click_func release_func について

***_clicked_func ***_release_func には、マウスクリック時に呼び出す関数を指定できる。
*** には right center left を指定し、クリック時に押されたボタンに対応した関数が呼び出される。
イベント関数として指定する関数は、必ず BGEventオブジェクト のみを受け取る関数である必要がある。