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 33 34 35 36 37
| public abstract List<PionPosee> getNextToHim (PionPosee pion, List<PionPosee> liste);
public abstract List<PionPosee> getPionDeCouleurRouge (List<PionPosee> liste);
public abstract List<PionPosee> getPionDeCouleurNonRouge (List<PionPosee> liste);
public abstract boolean isPionCoteGauche(List<PionPosee> liste);
public abstract boolean isPionCoteDroit(List<PionPosee> liste);
public abstract boolean isPionCoteHaut(List<PionPosee> liste);
public abstract boolean isPionCoteBas(List<PionPosee> liste);
public boolean couleurRougeGagnant(){
List<PionPosee> listPionRouge = this.getPionDeCouleurRouge(this.getListePionPosee());
if(listPionRouge.size()==0){
return false;
}
for (PionPosee pionPosee : listPionRouge) {
ArrayList<PionPosee> amaDePion = new ArrayList<PionPosee>();
this.addPionNextToHim(pionPosee, listPionRouge, amaDePion);
if(this.isPionCoteHaut(amaDePion) && this.isPionCoteBas(amaDePion)){
return true;
}
}
return false;
}
public void addPionNextToHim(PionPosee pion, List<PionPosee> liste, List<PionPosee> ama){
List<PionPosee> nextTo = this.getNextToHim(pion, liste);
for (PionPosee pionPosee : nextTo) {
if(!ama.contains(pionPosee)){
ama.add(pionPosee);
this.addPionNextToHim(pionPosee, liste, ama);
}
}
}
public abstract boolean couleurNonRougeGagnant(); |