トラック
/
Free Pascal
Free Pascal
/
演習
/
クイーンの攻撃
クイーンの攻撃

クイーンの攻撃

中級

説明

チェス盤上の2つのクイーンの位置が与えられたとき、それらが互いを攻撃できる配置にあるかどうかを判定します。

チェスのゲームでは、クイーンは同じ行、列、または対角線上にある駒を攻撃できます。

チェス盤は8×8の配列で表すことができます。

では、白のクイーンがc5(0から数えて列2、行3)に、黒のクイーンがf2(0から数えて列5、行6)にあるとしましょう。すると、配置は次のようになっていることがわかります。

2つのクイーンが置かれたチェス盤。c5のクイーンから伸びる矢印は、縦・横・斜めの駒を取れる方向を示しています。

クイーン同士が互いを攻撃できるかどうかも答えられます。 この場合は「はい、攻撃できます」となります。なぜなら、2つの駒が同じ対角線上にいるからです。

クレジット

チェス盤の画像は、habere-et-dispertireが、Ulrike FischerによるchessboardパッケージとLaTeXを使って作成したものです。

実装

下に示すクイーンは、それぞれデフォルトの開始位置にあります。白のクイーンは1ランク目(7行目)、黒のクイーンは8ランク目(0行目)です。どちらのクイーンも、dファイル(3列目)から始まります。

  a b c d e f g h
8 _ _ _ B _ _ _ _ 8
7 _ _ _ _ _ _ _ _ 7
6 _ _ _ _ _ _ _ _ 6
5 _ _ _ _ _ _ _ _ 5
4 _ _ _ _ _ _ _ _ 4
3 _ _ _ _ _ _ _ _ 3
2 _ _ _ _ _ _ _ _ 2
1 _ _ _ W _ _ _ _ 1
  a b c d e f g h
GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Free Pascal Exercism

クイーンの攻撃を始める準備はできましたか?

Exercismに登録すれば、100個の演習、そして本物の人間によるメンタリングとともに、Free Pascalを学んでマスターできます。すべて無料です。