(1)駒のフリー配置2
(1:移動スタート処理
1)盤上か駒台かを判断する。
・駒が存在しない
・プレイヤー(駒の先手後手を判断)
・プレイヤーとターンの判断はしない。
・スターの駒の位置をセーブする。(startx,starty)
・駒のある場所を白にする。(drawpiece(startx,starty,id,player,2);)
駒の位置、駒の種類、駒の向、色。
1-1)駒台の駒の場合。
・if(isinside(startx,starty,ofsx,ofsy,9,9)==false)
・位置盤上フラグをOFF:0
1-1-1)移動できる位置を示す。
1-1-1-1)歩の場合
・2歩のチェック(位置駒が歩の場合)
※位置駒:移動前の位置の駒
1-1-1-2)以外
・空いている位置には移動できる。
※margin = [ 0,0,0,0,0,2,1,1 ];
移動できない位置を表す。
※成るなら制限なし(強制成るフラグON)
1-2)盤上の場合
・位置盤上フラグをON:1
・駒を打つ場合と同じ。
※位置盤上フラッグの初期値は-1。
(2:移動エンド処理
2-1)エンド位置の判定(エンド位置フラグ)
・1:盤上
・2:駒台(空いてる位置かチェック)
・3:相手の駒台(空いてる位置かチェック)
2-2)強制成るフラッグ
・強制的に成らす。
・以外、成らない。
(3:成る処理
・同じ位置
・右クリック
・成らす。
if(confirm("成りますか?")){
//なる前にスタートをセーブ
nariflag = 1;
board[starty][startx].id |= 8; //成る
}