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

クイーンの攻撃

中級

説明

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

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

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

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

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

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

クレジット

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

実装

クイーンは、盤上の有効な位置に置かなければなりません。 2つのクイーンが同じ位置を占めることはできません。

位置を指定しなかった場合、クイーンはデフォルトの初期配置に置かれます。白のクイーンは一番下の行(1)、黒のクイーンは一番上の行(8)です。どちらのクイーンも、4列目(d)から始まります。

  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で編集する リンクは新しいウィンドウまたはタブで開きます
JavaScript Exercism

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

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