76 lines
1.9 KiB
Java
76 lines
1.9 KiB
Java
|
package Nim;
|
||
|
|
||
|
import java.util.Iterator;
|
||
|
import java.util.ArrayList;
|
||
|
import fr.iut_fbleau.raw_api_body.entity.*;
|
||
|
|
||
|
public class PlateauNim implements Plateau {
|
||
|
|
||
|
int allumette;
|
||
|
Player currrentPlayer;
|
||
|
Result resultat;
|
||
|
|
||
|
public PlateauNim(int allumette) {
|
||
|
this.allumette = allumette;
|
||
|
this.currrentPlayer = currrentPlayer.JOUEUR1;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Player getPlayer() {
|
||
|
return currrentPlayer;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Result getResult() {
|
||
|
if (isFinished()) {
|
||
|
if (currrentPlayer == JOUEUR1) {
|
||
|
return Result.GAGNE;
|
||
|
} else {
|
||
|
return Result.PERDU;
|
||
|
}
|
||
|
} else {
|
||
|
throw new NullPointerException("La partie n'est pas terminée");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Iterator<Ply> givePlies() {
|
||
|
ArrayList<Ply> plies = new ArrayList<Ply>();
|
||
|
|
||
|
if (allumette == 1) {
|
||
|
plies.add(new PlyNim(1, currrentPlayer));
|
||
|
} else if (allumette == 2) {
|
||
|
plies.add(new PlyNim(1, currrentPlayer));
|
||
|
plies.add(new PlyNim(2, currrentPlayer));
|
||
|
} else {
|
||
|
plies.add(new PlyNim(1, currrentPlayer));
|
||
|
plies.add(new PlyNim(2, currrentPlayer));
|
||
|
plies.add(new PlyNim(3, currrentPlayer));
|
||
|
}
|
||
|
|
||
|
return plies.iterator();
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public boolean isFinished() {
|
||
|
if (allumette == 0) {
|
||
|
return true;
|
||
|
} else {
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void doo(Ply arg0) {
|
||
|
// TODO Auto-generated method stub
|
||
|
throw new UnsupportedOperationException("Unimplemented method 'doo'");
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void undo(Ply arg0) {
|
||
|
// TODO Auto-generated method stub
|
||
|
throw new UnsupportedOperationException("Unimplemented method 'undo'");
|
||
|
}
|
||
|
|
||
|
}
|