55 lines
1.5 KiB
Java
55 lines
1.5 KiB
Java
import java.util.ArrayList;
|
|
|
|
public class Mappa {
|
|
private ArrayList<Posizione> caselle = new ArrayList<>();
|
|
|
|
public Mappa(){
|
|
for(int i = 0; i < 17; i++){
|
|
caselle.add(i, new Posizione());
|
|
}
|
|
}
|
|
|
|
public Posizione getPosizione(int i){
|
|
return caselle.get(i);
|
|
}
|
|
|
|
public Posizione getCasella(int i){
|
|
return caselle.get(i);
|
|
}
|
|
|
|
|
|
public boolean controllaAdiacenti(int i){
|
|
if (caselle.get(i-1).getTifoInveimento() != 0 || caselle.get(i+1).getTifoInveimento() != 0 || caselle.get(i).getTifoInveimento() != 0){
|
|
new Output().erroreAdiacenti();
|
|
return false;
|
|
}else{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
public String toString(){
|
|
String stringa ="";
|
|
|
|
for(int i = 0; i < caselle.size(); i++){
|
|
stringa += caselle.get(i).toString() + "\n";
|
|
}
|
|
|
|
return stringa;
|
|
}
|
|
|
|
public void movimentoCavalli(Cavallo cavallo, int i){
|
|
if(cavallo.isMatto()){
|
|
i = i * (-1);
|
|
}
|
|
ArrayList <Cavallo> cavalliArray = new ArrayList <>(caselle.get(cavallo.getPosizione()).getCavalli());
|
|
for(int j = 0; j < cavalliArray.size(); j++){
|
|
if (cavalliArray.get(j).equals(cavallo)){
|
|
for(int k = j; k < cavalliArray.size(); k++){
|
|
new Output().spostamentoCavallo(cavalliArray.get(k), i);
|
|
cavalliArray.get(k).spostaCasella(i);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|