Ratsu.java
package datastructureproject.luokat.nappulat;
import chess.model.Side;
import datastructureproject.luokat.Pelilauta;
import datastructureproject.luokat.tietorakenteet.*;
public class Ratsu extends Nappula {
public Ratsu(Side puoli, Ruutu ruutu) {
super('n', puoli, ruutu);
}
public Nappula kopioi() {
return new Ratsu(getPuoli(), getRuutu().kopioi());
}
@Override
public Lista<Siirto> generoiSiirrot(Pelilauta lauta) {
Lista<Siirto> siirrot = new Lista<>();
int[][] siirrotArr = new int[][] {{1, 2}, {1, -2}, {-1, 2}, {-1, -2}, {2, 1}, {2, -1}, {-2, 1}, {-2, -1}};
for (int[] pari: siirrotArr) {
Ruutu ruutu = new Ruutu(getX() + pari[0], getY() + pari[1]);
if (!ruutu.olenLaudalla(lauta)) {
continue;
}
Nappula n = lauta.lauta[ruutu.getY()][ruutu.getX()];
if (n == null || n.getPuoli() != this.getPuoli()) {
siirrot.add(new Siirto(getX(), getY(), ruutu.getX(), ruutu.getY()));
}
}
return siirrot;
}
@Override
public String toString() {
return "n";
}
}