動きの規則性 ルークは直線のみで動ける駒です。 ルークがあるマス (file1,rank1)(file_1, rank_1)(file1,rank1) から別のマス (file2,rank2)(file_2, rank_2)(file2,rank2) に移動できるのは、以下の条件を満たす場合のみです。 file1=file2extまたはrank1=rank2file_1 = file_2 ext{ または } rank_1 = rank_2file1=file2extまたはrank1=rank2 つまり**同じファイルで垂直に移動(上または下)するか、同じランクで水平に移動(左または右)するかどちらかになります。 例 a1 → a8(垂直 - 有効) 開始位置:a1 = (1,1)(1, 1)(1,1) 目標位置:a8 = (1,8)(1, 8)(1,8) 計算: ファイルの差:∣1−1∣=0|1 - 1| = 0∣1−1∣=0(同じファイル) ランクの差:∣1−8∣=7|1 - 8| = 7∣1−8∣=7(異なるランク) 結果: ✅ リーガルムーブ d4 → h4(水平 - 有効) 開始位置:d4 = (4,4)(4, 4)(4,4) 目標位置:h4 = (8,4)(8, 4)(8,4) 計算: ファイルの差:∣4−8∣=4|4 - 8| = 4∣4−8∣=4(異なるファイル) ランクの差:∣4−4∣=0|4 - 4| = 0∣4−4∣=0(同じランク) 結果: ✅ リーガルムーブ 例3:c3 → f6(無効) 開始位置:c3 = (3,3)(3, 3)(3,3) 目標位置:f6 = (6,6)(6, 6)(6,6) 計算: ファイルの差:∣3−6∣=3|3 - 6| = 3∣3−6∣=3(異なるファイル) ランクの差:∣3−6∣=3|3 - 6| = 3∣3−6∣=3(異なるランク) 結果: ❌ イリーガルムーブ