Compare commits
1 Commits
8cefae7da6
...
Regle_coup
| Author | SHA1 | Date | |
|---|---|---|---|
| 32217b8e39 |
83
fr/iut_fbleau/Avalam/AvalamBoard.java
Normal file
83
fr/iut_fbleau/Avalam/AvalamBoard.java
Normal 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
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user