package pokemon; import java.util.*; import java.lang.Math; public class Joueur implements Comparable { private String nom; private int niveau; //Nombre pokemon captures private int nbPoints; //Nombre pokemon actuel private ArrayList pokemon; public Joueur() { this.nom = null; this.niveau = 1; this.nbPoints = 0; this.pokemon = new ArrayList(); } public Joueur(String s) { this.nom = s; this.niveau = 1; this.nbPoints = 0; this.pokemon = new ArrayList(); } public String toString() { return "================================================================================\n" + "Le joueur " + this.nom + " a " + this.niveau + " pokemons!\nLes pokemons qu'il possede sont : " + this.pokemon.toString() + "\n================================================================================"; } public int compareTo(Joueur j) { return this.getNom().compareTo(j.getNom()); } public double vitesseMoyenne() { if(pokemon.isEmpty()) { return 0; } double moyenne = 0.; for (Pokemon p : pokemon) { moyenne += p.calculerVitesse(); } return moyenne/pokemon.size(); } public double vitesseMoyenne(String s) { int count = 0; if(pokemon.isEmpty()) { return 0; } double moyenne = 0.; for (Pokemon p : pokemon) { if(p.getType().getDescription().equals(s)) { moyenne += p.calculerVitesse(); count++; } } return moyenne/count; } public void attrapePokemon(Pokemon p){ this.niveau++; this.nbPoints++; this.pokemon.add(p); } public void relachePokemon(Pokemon p) { this.nbPoints--; this.pokemon.remove(p); } public void attack(Object obj) { Joueur j = (Joueur)obj; int x = (int)Math.random()*this.getPokemon().size(); int y = (int)Math.random()*j.getPokemon().size(); this.pokemon.get(x).attack(this.pokemon.get(y)); j.pokemon.get(y).attack(this.pokemon.get(x)); } public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } public int getNiveau() { return niveau; } public void setNiveau(int niveau) { this.niveau = niveau; } public int getNbPoints() { return nbPoints; } public void setNbPoints(int nbPoints) { this.nbPoints = nbPoints; } public ArrayList getPokemon() { return pokemon; } public void setPokemon(ArrayList pokemon) { this.pokemon = pokemon; } }