1 /**
2 A queen in the eight queens problem.
3 */
4 public class Queen
5 {
6 private int row;
7 private int column;
8
9 /**
10 Constructs a queen at a given position.
11 @param r the row
12 @param c the column
13 */
14 public Queen(int r, int c)
15 {
16 row = r;
17 column = c;
18 }
19
20 /**
21 Checks whether this queen attacks another.
22 @param other the other queen
23 @return true if this and the other queen are in the same
24 row, column, or diagonal.
25 */
26 public boolean attacks(Queen other)
27 {
28 return row == other.row
29 || column == other.column
30 || Math.abs(row - other.row) == Math.abs(column - other.column);
31 }
32
33 public String toString()
34 {
35 return "" + "abcdefgh".charAt(column) + (row + 1) ;
36 }
37 }