debut des regle

This commit is contained in:
2025-10-16 11:57:37 +02:00
parent dedc20f54a
commit 32217b8e39

View File

@@ -0,0 +1,83 @@
package fr.iut_fbleau.Avalam;
import fr.iut_fbleau.GameAPI.AbstractBoard;
import fr.iut_fbleau.GameAPI.AbstractPly;
import fr.iut_fbleau.GameAPI.Player;
import fr.iut_fbleau.GameAPI.Result;
import fr.iut_fbleau.GameAPI.IBoard;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.Deque;
import java.util.ArrayDeque;
public class AvalamBoard extends AbstractBoard {
private int max_height = 5;
private Result result;
private boolean gameOver;
private int array_length = 9;
private ArrayList<Integer>[][] grid = new ArrayList[this.array_length][this.array_length];
public AvalamBoard(){
super(Player.PLAYER1, new ArrayDeque<>());
//création du tableau
this.gameOver = false;
this.result = null;
}
@Override
public boolean isGameOver() {
return this.gameOver;
}
@Override
public Result getResult() {
return this.result;
}
public boolean In_range(int x_tower_play, int y_tower_play, int x_tower_destination, int x_tower_destination){
boolean in_table = true;
if (x_tower_play >= 0 && x_tower_play < 9){
in_table = false;
}
else if (y_tower_play >= 0 && y_tower_play < 9){
in_table = false;
}
else if (x_tower_destination >= 0 && x_tower_destination < 9){
in_table = false;
}
else if (x_tower_destination >= 0 && x_tower_destination < 9){
in_table = false;
}
return in_table;
}
@Override
public boolean isLegal(AbstractPly c, int x_tower_play, int y_tower_play, int x_tower_destination, int x_tower_destination) {
if (this.gameOver) {
throw new NullPointerException("Le jeu est terminé");
}
if (!(c instanceof NimPly)) {
return false;
}
NimPly coup = (NimPly) c;
if (coup.getPlayer() != getCurrentPlayer()) {
return false;
}
if (In_range(x_tower_play, y_tower_play, x_tower_destination, x_tower_destination)){
return false;
}
// Vérifier que le nombre d'allumettes est valide
int nbAllumettes = coup.getNombreAllumettesPrises();
return // modifier IsgameOver
}
}