Ajout méthode jeu, deplacer, attaquer
This commit is contained in:
parent
0f8a283e31
commit
9d298ba9c1
@ -1,22 +1,49 @@
|
|||||||
package carte;
|
package carte;
|
||||||
|
|
||||||
|
import java.awt.Point;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
import main.Pioche;
|
|
||||||
import main.Type;
|
|
||||||
import main.TypeLumiere;
|
|
||||||
|
|
||||||
|
|
||||||
public class CarteLieu<T extends Type> extends CarteEffet{
|
public class CarteLieu extends CarteEffet{
|
||||||
|
|
||||||
private Pioche<T> piocheLumiere;
|
private List<Joueur> listeJoueurs;
|
||||||
private List<Joueur> listeJoueur;
|
private Point coordinates;
|
||||||
|
private CarteLieu voisin;
|
||||||
|
|
||||||
|
public CarteLieu(Point coordinates) {
|
||||||
|
this.listeJoueurs = new ArrayList<Joueur>();
|
||||||
|
this.coordinates = coordinates;
|
||||||
|
}
|
||||||
|
|
||||||
public void utiliser(Joueur j) {
|
public void utiliser(Joueur j) {
|
||||||
|
|
||||||
CartePiochable<?> carte = piocheLumiere.piocher();
|
this.getEffet().utiliser(j);
|
||||||
carte.utiliser(j);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean coordinatesContains(int i)
|
||||||
|
{
|
||||||
|
return coordinates.x == i || coordinates.y == i;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Joueur> getJoueurs() {
|
||||||
|
return listeJoueurs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Joueur> getJoueursAdjacents() {
|
||||||
|
return voisin.getJoueurs();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void remove(Joueur joueur) {
|
||||||
|
|
||||||
|
if(this.listeJoueurs.contains(joueur))
|
||||||
|
{
|
||||||
|
this.listeJoueurs.remove(joueur);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,26 @@
|
|||||||
package carte;
|
package carte;
|
||||||
|
|
||||||
|
import java.awt.Point;
|
||||||
|
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
|
import main.Pioche;
|
||||||
|
import main.Type;
|
||||||
|
|
||||||
public class CarteLieuType extends CarteLieu{
|
public class CarteLieuType<T extends Type> extends CarteLieu{
|
||||||
|
|
||||||
public void utiliser(Joueur j) {
|
private Pioche<T> pioche;
|
||||||
super.utiliser(j);
|
|
||||||
|
|
||||||
|
public CarteLieuType(Point coordinates,Pioche<T> pioche) {
|
||||||
|
super(coordinates);
|
||||||
|
this.pioche = pioche;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void utiliser(Joueur j) {
|
||||||
|
|
||||||
|
CartePiochable<?> carte = pioche.piocher();
|
||||||
|
carte.utiliser(j);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,41 +0,0 @@
|
|||||||
package main;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class CarteLieu {
|
|
||||||
private List<Integer> valeurs;
|
|
||||||
private List<Joueur> joueurs;
|
|
||||||
private String nom;
|
|
||||||
private CarteLieu voisin;
|
|
||||||
private Plateau plateau;
|
|
||||||
|
|
||||||
public CarteLieu(String n, List<Integer> vals, CarteLieu vois, Plateau plat){
|
|
||||||
nom = n;
|
|
||||||
for(int i : vals) {
|
|
||||||
//max 2 v par lieu normalement
|
|
||||||
valeurs.add(i);
|
|
||||||
}
|
|
||||||
voisin = vois;
|
|
||||||
plateau = plat;
|
|
||||||
}
|
|
||||||
|
|
||||||
//pour rajouter un joueur au lieu
|
|
||||||
public void addJoueur(Joueur j) {
|
|
||||||
joueurs.add(j);
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Joueur> getJoueursAdjacents() {
|
|
||||||
return voisin.getJoueurs();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void utiliser(Joueur j) {};
|
|
||||||
|
|
||||||
public List<Joueur> getJoueurs() {
|
|
||||||
return joueurs;
|
|
||||||
}
|
|
||||||
|
|
||||||
//pour enlever un joueur du lieu
|
|
||||||
public void removeJoueur(Joueur j) {
|
|
||||||
joueurs.remove(j); //pas sur que ca va marcher
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -2,6 +2,7 @@ package main;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import carte.CarteLieu;
|
||||||
import main.Joueur.Equipe;
|
import main.Joueur.Equipe;
|
||||||
|
|
||||||
public class ControleurIA {
|
public class ControleurIA {
|
||||||
@ -102,7 +103,7 @@ public class ControleurIA {
|
|||||||
List<Joueur> joueursProx = cl.getJoueurs();
|
List<Joueur> joueursProx = cl.getJoueurs();
|
||||||
if (getEnnemisJoueurs(jIA, joueursProx).size() > 0)
|
if (getEnnemisJoueurs(jIA, joueursProx).size() > 0)
|
||||||
return false;
|
return false;
|
||||||
List<Joueur> joueursAdj = cl.getJoueursAdjacents();
|
List<Joueur> joueursAdj = jIA.getJoueursAdjacents();
|
||||||
if (getEnnemisJoueurs(jIA, joueursAdj).size() > 0)
|
if (getEnnemisJoueurs(jIA, joueursAdj).size() > 0)
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
|
@ -3,6 +3,7 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import carte.CarteLieu;
|
||||||
import effet.Effet;
|
import effet.Effet;
|
||||||
import personnage.CartePersonnage;
|
import personnage.CartePersonnage;
|
||||||
|
|
||||||
@ -165,4 +166,24 @@ public class Joueur {
|
|||||||
this.plateau = plateau2;
|
this.plateau = plateau2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean choisir() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void utiliserEffetLieu() {
|
||||||
|
this.carteLieu.utiliser(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deplacer(CarteLieu cl) {
|
||||||
|
|
||||||
|
if(this.carteLieu != null)
|
||||||
|
{
|
||||||
|
this.carteLieu.remove(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.carteLieu = cl;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import carte.Carte;
|
import carte.CarteLieu;
|
||||||
|
|
||||||
public class Plateau {
|
public class Plateau {
|
||||||
private List<Joueur> joueurs;
|
private List<Joueur> joueurs;
|
||||||
@ -43,18 +43,41 @@ public class Plateau {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int rollDices() {
|
public void jeu() {
|
||||||
//pas necessaire?
|
int nbJoueurs = this.joueurs.size();
|
||||||
return 0;
|
int i = 0;
|
||||||
|
|
||||||
|
while(true) {
|
||||||
|
|
||||||
|
Joueur currentJoueur = this.joueurs.get(nbJoueurs % i);
|
||||||
|
deplacer(currentJoueur);
|
||||||
|
|
||||||
|
if(currentJoueur.choisir()) {
|
||||||
|
currentJoueur.utiliserEffetLieu();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void piocher(Joueur joueur, Type type) {
|
if(currentJoueur.choisir()){
|
||||||
|
Joueur cible = currentJoueur.choisirAdjacents();
|
||||||
|
attaquer(currentJoueur,cible);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void déplacerJoueur(Joueur joueur, int indexLieu) {
|
i++;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void deplacer(Joueur currentJoueur) {
|
||||||
|
|
||||||
|
int roll = sumRolls();
|
||||||
|
|
||||||
|
for(CarteLieu cl : lieux) {
|
||||||
|
if(cl.coordinatesContains(roll)){
|
||||||
|
|
||||||
|
currentJoueur.deplacer(cl);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void attaquer(Joueur joueur1, Joueur joueur2) {
|
public void attaquer(Joueur joueur1, Joueur joueur2) {
|
||||||
|
|
||||||
@ -79,18 +102,15 @@ public class Plateau {
|
|||||||
return (int) Math.floor(Math.random() * 3)+1;
|
return (int) Math.floor(Math.random() * 3)+1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int rollDices4() {
|
|
||||||
return Math.abs(roll4() - roll4());
|
|
||||||
}
|
|
||||||
|
|
||||||
public int rollDices6() {
|
|
||||||
return roll6() + roll6();
|
|
||||||
}
|
|
||||||
|
|
||||||
public int roll6() {
|
public int roll6() {
|
||||||
return (int) Math.floor(Math.random() * 5)+1;
|
return (int) Math.floor(Math.random() * 5)+1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int sumRolls()
|
||||||
|
{
|
||||||
|
return roll6() + roll4();
|
||||||
|
}
|
||||||
|
|
||||||
public List<Joueur> getJoueurs() {
|
public List<Joueur> getJoueurs() {
|
||||||
return this.joueurs;
|
return this.joueurs;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user