-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKnight.java
More file actions
32 lines (28 loc) · 880 Bytes
/
Knight.java
File metadata and controls
32 lines (28 loc) · 880 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.lang.Math;
public class Knight extends Empty {
//inherits location, symbol
public Knight(int _color) {
super(_color);
this.symbols = new String[2];
this.symbols[0] = "♘";
this.symbols[1] = "♞";
}
public boolean move(Empty[][] map, int[] attempt, int[] location) {
int aX = attempt[0];
int aY = attempt[1];
Empty selected = map[aY][aX];
if(selected.color == this.color) {
return false;
}
if(Math.abs(aX - location[0]) > 2 || Math.abs(aY - location[1]) > 2) {
return false;
}
if(Math.abs(aX - location[0]) < 1 || Math.abs(aY - location[1]) < 1) {
return false;
}
if(Math.abs(aX - location[0]) == Math.abs(aY - location[1])) {
return false;
}
return true;
}
}