64 lines
1.5 KiB
Markdown
64 lines
1.5 KiB
Markdown
# Queen Attack
|
|
|
|
Given the position of two queens on a chess board, indicate whether or not they
|
|
are positioned so that they can attack each other.
|
|
|
|
In the game of chess, a queen can attack pieces which are on the same
|
|
row, column, or diagonal.
|
|
|
|
A chessboard can be represented by an 8 by 8 array.
|
|
|
|
So if you're told the white queen is at (2, 3) and the black queen at
|
|
(5, 6), then you'd know you've got a set-up like so:
|
|
|
|
```text
|
|
_ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _ _
|
|
_ _ _ W _ _ _ _
|
|
_ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ B _
|
|
_ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _ _
|
|
```
|
|
|
|
You'd also be able to answer whether the queens can attack each other.
|
|
In this case, that answer would be yes, they can, because both pieces
|
|
share a diagonal.
|
|
|
|
## Setup
|
|
|
|
Go through the setup instructions for Javascript to
|
|
install the necessary dependencies:
|
|
|
|
[https://exercism.io/tracks/javascript/installation](https://exercism.io/tracks/javascript/installation)
|
|
|
|
## Requirements
|
|
|
|
Install assignment dependencies:
|
|
|
|
```bash
|
|
$ npm install
|
|
```
|
|
|
|
## Making the test suite pass
|
|
|
|
Execute the tests with:
|
|
|
|
```bash
|
|
$ npm test
|
|
```
|
|
|
|
In the test suites all tests but the first have been skipped.
|
|
|
|
Once you get a test passing, you can enable the next one by
|
|
changing `xtest` to `test`.
|
|
|
|
|
|
## Source
|
|
|
|
J Dalbey's Programming Practice problems [http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html](http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html)
|
|
|
|
## Submitting Incomplete Solutions
|
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|