25×25の持駒なしの古将棋である「泰将棋(無上泰将棋)」を制作します。
①駒のサイズを決める
30ピクセル×30ピクセルにします。
理由としては、ギリギリ可読性のある2文字(1文字8ポイント)を記載できるからです。
②盤のマス目のサイズを決める
枠内を30ピクセル×30ピクセル(縦横の枠線を1ピクセル)にします。
枠も入れると1マスのサイズは、32ピクセル×32ピクセルです。
連続して並べるため、枠は左と上だけ含めて、1単位としては31ピクセル×31ピクセルです。
駒がギリギリ入る大きさにしますが、25マスあるため、盤は31×25+1=776ピクセルです。
つまり、最小でも盤のサイズは776ピクセル×776ピクセルになります。
※ZoGには盤面のズーム機能やスクロール機能がないため、モニタ解像度は縦800ピクセル以上が推奨されます。
(縦768ピクセルでは、ZoGのメニューバーのため、ツールバーを非表示にしても下3段が隠れます)
③盤のグラフィックを作る
30ピクセル×30ピクセル内に、ギリギリサイズで五角形の駒枠を描きます。
駒枠内に8ポイントで文字(駒名は原則2文字で)を入れます。
④駒のグラフィックを作る
1ピクセルで最外縁に矩形を描き、30ピクセルあけて、縦線と横線を等間隔に1ピクセルで描画します。
左上のマスは、左上点(1,1)-右下点(32,32)、枠を含めないと、左上点(2,2)-右下点(31,31)です。
配置用の1単位は、左上点(1,1)-右下点(31,31)になります。
⑤180度反転した駒のグラフィックを作る
相手用の駒は、「上下反転→左右反転」することで、180度反転した駒になります。
⑥盤の設定
Ⅰ:「image」で盤のグラフィックを指定します。
Ⅱ:「grid」で、盤の講師を定義します。
「start-rectangle」で、左上のマスを「1 1 31 31」と設定します。
「dimensions」で、
横方向へ「(31 0)」ずつ「列(筋):1~25」を定義し、
縦方向へ「(0 31)」ずつ「行(段):i~xxv」を定義します。
「directions」で、
東西南北を「(n 0 -1) (e 1 0) (s 0 1) (w -1 0)」と定義し、
斜め四方を「(ne 1 -1) (nw -1 -1) (se 1 1) (sw -1 1)」と定義します。
横方向は右(東)が+、縦方向は下(南)が+です。
※(nn 0 -2)や(nnn 0 -3)なども定義しておくと、獅子や奮迅の設定が楽です。
(nne 1 -2)と(nnw -1 -2)も定義しておくと、桂馬の設定が楽です。
Ⅲ:「zone」設定は不要です。
敵陣(昇格ゾーン)での昇格ではなく、敵を取った際の自動昇格のため、昇格ゾーンは設定不要です。
⑦駒の設定
自在天王:王駒
太子:王駒
太子(醉象からの昇格):王駒
存在する王駒が全て取られたら負け=1個でも王駒が残っていれば対局を続行します。
※「checkmated」は指定した王駒のどれかが詰んだ時点で勝敗がつくため、
「pieces-remaining」で指定した王駒の残数がなくなった時点で勝敗をつけます。
(「pieces-remaining」は、and演算が可能です)
※「無明・法性」または「提婆・教王」を取った駒は、自分の成駒ではなく、「法性」または「教王」に成ります。
→王駒にも適用されるのでしょうか??
⑧駒の動き
歩き駒 → 跳び駒:離れた位置を方向として定義し、その方向(離れた位置)へ直接移動します。
走り駒 → 走り駒(歩数制限):走り駒の繰り返しをなくし、制限数だけ繰り返します。
※跳ばずに離れた位置へ移動する駒の場合、走り駒の途中区間での「add」を省略します。
踊り駒
Ⅰ:走り駒の方向転換・・・鉤行・天狗・摩羯・孔雀
Ⅱ:全方位へ複数回移動・・・獅子・奮迅・法性
Ⅲ:直線方向へ複数回移動・・・狛犬・教王・飛鷲・角鷹
※踊り駒は、多段移動のため、「add-partial」を使用します。
自在駒:盤上の任意の位置(味方の駒のマスを除く)へ直接移動します。
駒打ち:盤上の任意の位置(空いたマスのみ)へ直接移動します。
※自在天王は紐の付いていない(他の敵が利いていない)敵駒のみを取れます。
→「checkmated」で指定すると、自動的に「safe-move」となるが、複数の王駒には対応できない。
「attacked?」で判定すると、盤が広くて駒数が多いと、処理にとても時間がかかる。
⑨盤上の駒の配置
左右非対称に配置される駒があります。
左車 右車
左将 右将
提婆 無明
力士 金剛
羅刹 夜叉:動きの対称性に疑問を感じます。
麒麟 鳳凰
大竜 金翅
摩羯 鉤行
古鶏 行鳥:動きの対称性に疑問を感じます。
西戎 北狄:動きの対称性に疑問を感じます。
東夷 南蛮:動きの対称性に疑問を感じます。
玄武 白虎:動きの対称性に疑問を感じます。
青竜 朱雀:動きの対称性に疑問を感じます。
現在:盤面整備率100%!
課題:
①自在天王同士の取り合いの解釈
Ⅰ:敵の自在天王が利いている敵の駒は常に取れない(自在天王で取り返される)
自在天王以外の敵が利いていない駒でも取れない
Ⅱ:敵の自在天王が利いている敵の駒でも取れる場合あり(自在天王で取り返される場合あり)
自在天王以外の敵が利いておらず、味方が利いていれば取れる
Ⅲ:敵の自在天王が利いている敵の駒も取れる(自在天王で取り返されない)
自在天王以外の敵が利いている駒のみ取れない
②王駒3個と自在天王の自在移動の両立
③王駒の取った「法性」または「教王」への昇格の解釈
Ⅰ:王駒は除外
Ⅱ:王駒が1個でも残れば適用可能
Ⅲ:王駒にも強制適用され、王駒が消えれば敗北
④取った「法性」または「教王」への昇格
Ⅰ:王駒は昇格不可
Ⅱ:最低1個の王駒を残せば昇格可能(任意もしくは強制)
Ⅲ:王駒が消滅したら即敗北
(⑤東西南北と四聖獣の動きの整合性)
(⑥wikipediaの大竜の動きが生駒と成駒で合わない)
<移動方式(泰将棋)>
隣接1マスへ移動
特定方向へ間の駒を跳び越えずに何マスでも移動
特定方向へ間の駒を跳び越えずにNマスまで移動
非隣接マスへ間の駒を跳び越えて直接移動
盤上の全てのマス(味方駒マスを除く、敵駒マスまたは空きマス)へ移動
ただし、他の敵が利いている敵駒のマスへは移動できない!
多段階移動
N回連続で移動
特定方向へ1回走った後、向きを変えて別の方向へ連続で走る移動
敵の駒を取った場合は強制停止(敵の駒を連続で取ることは不能)
転換型:進んできた方向と直交する両方向へ進める
隣接1マスへ1回歩いた後、さらに隣接マスへ連続で歩く移動
敵の駒を取った場合も継続可能(敵の駒を連続で取ることも可能)
往復型:進んだ方向へさらに進むか、逆方向へ戻るかのみ
自由型:進んだ方向と関係なく、全方向へ進める
- 盤をチェック柄に変更・・・斜めの利きを見やすくするため
- 駒名を塗り分け・・・黒:生駒、赤:成駒、青:不成駒、緑:不成駒(王駒)、橙:成駒(王駒)
最終更新:2020年05月01日 16:00