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.
|