Android Open Source - LotR_Risk L O T R_ Data






From Project

Back to project page LotR_Risk.

License

The source code is released under:

GNU General Public License

If you think the Android project LotR_Risk listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package utils;
/* w w w  .ja  v  a 2s.co m*/
import java.util.ArrayList;
import java.util.Random;

import objects.Joueur;
import objects.Region;
import objects.Territoire;
import objects.TypeTerritoire;

/**
 * Classe regroupant les donnes et les mthodes servant  utiliser la plateau <br>
 * <b> ATTENTION A LA CASSE ET AUX ACCENTS HEIN !! </b>
 * @author Swatosj
 */
public class LOTR_Data {
  
  private ArrayList<Region> mapRegion;
  
  public LOTR_Data() {
    this.mapRegion = new ArrayList<Region>(6);
    mapRegion.add(this.init_list_Territoire_Rohan()); 
    mapRegion.add(this.init_list_Territoire_Arnor()); 
    mapRegion.add(this.init_list_Territoire_Rhovanion()); 
    mapRegion.add(this.init_list_Territoire_Eriador()); 
    mapRegion.add(this.init_list_Territoire_Rhun()); 
    mapRegion.add(this.init_list_Territoire_Foret_Noire());  
  }
  
  /**
   * Retourne <u>l'objet Region</u> associ au nom dfini par <b>nomRegion</b>, retourne <u>null</u> sinon.
   * @param str
   */
  public Region getRegionByName(String nomRegion) {
    for (Region r : this.mapRegion)
    {
      if (r.getNom().equals(nomRegion)) {
        return r;
      }
    }
    return null;
  }
  
  /**
   * Gnre une ArrayList comprenant <b>nbTerritoire</b> en fonction du type de territoire <b>type</b><br>
   * La liste <b>listTerritoire</b> est mise  jour en enlevant les territoires ajouts  la liste de retour.<br>
   * (Un mme territoire ne peut pas tre dans <b>listTerritoire</b> et dans la <u>liste retourne</u>)
   * @param type
   * @param nbTerritoire
   */
  public ArrayList<Territoire> generateRandomTerritoiresFromType(TypeTerritoire type, int nbTerritoire, ArrayList<Territoire> listTerritoire) {
    ArrayList<Territoire> toReturn = new ArrayList<Territoire>();
    ArrayList<Territoire> listTerritoireType = getListTerritoireAvecType(type);
    int tailleListe = listTerritoireType.size();
    Territoire territoireCourant;
    if (nbTerritoire > listTerritoireType.size()) {
      return null;
    }
    Random random = new Random();
    int chiffreRandom;
    boolean trouve;
    for (int i = 0; i < nbTerritoire; i++) 
    {
      trouve = false;
      while (!trouve) {
        chiffreRandom = random.nextInt(tailleListe);
        territoireCourant = listTerritoireType.get(chiffreRandom);
        if (!toReturn.contains(territoireCourant) && listTerritoire.contains(territoireCourant)) //Evite les redondances
        {
            toReturn.add(territoireCourant);
            listTerritoire.remove(territoireCourant);
            trouve = true;
        }
      }
    }
    return toReturn;
  }

  /**
   * Retourne la liste des regions controles par le joueur <b>j</b>.
   * @param j
   */
  public ArrayList<Region> getRegionsJoueur(Joueur j) {
    ArrayList<Region> toReturn = new ArrayList<Region>();
    for (Region r : this.mapRegion) {
      if (playerHasRegion(j, r.getNom())) {
        toReturn.add(r);
      }
    }
    return toReturn;
  }
  
  /**
   * Retourne <b>true</b> si le joueur <b>j</b> poss?de la r?gion de nom <b>nomRegion</b>.
   * @param j
   * @param nomRegion
   */
  public boolean playerHasRegion(Joueur j, String nomRegion) {
    Region r = getRegionByName(nomRegion);
    if (r != null) {
      for (Territoire t : r.getListTerritoire()) {
        if (!j.getListTerritoire().contains(t))
          return false;
      }
    } else
      return false;
    return true;
  }
  
  /**
   * Retourne le <u>nombre de renforts</u> disponibles du joueur <b>j</b> en fonction de la liste des territoires qu'il poss?de.
   * @param j
   */
  public int calculer_Renforts(Joueur j)
  {
    if (j.getNB_Territoire() < 12)
      return 3;
    int renforts = j.getNB_Territoire() / 3;
    for (Region r : this.mapRegion) {
      if (this.playerHasRegion(j, r.getNom()))
        renforts += r.getNB_Renforts();
    }
    return renforts;
  }
  
  /**
   * Retourne la liste de tout les territoires possedant le type dfini par <b>type</b>.
   * @param type
   */
  public ArrayList<Territoire> getListTerritoireAvecType(TypeTerritoire type) {
    ArrayList<Territoire> toReturn = new ArrayList<Territoire>();
    for (Region r : this.mapRegion) {
      for (Territoire t : r.getListTerritoire()) {
        if (t.getType_Territoire() == type) {
          toReturn.add(t);
        }
      }
    }
    return toReturn;
  }
  
  /**
   * Retourne une ArrayList de tout les territoires du jeu.
   * @param type
   */
  public ArrayList<Territoire> getAllTerritoires() {
    ArrayList<Territoire> toReturn = new ArrayList<Territoire>();
    for (Region r : this.mapRegion) {
      for (Territoire t : r.getListTerritoire()) 
          toReturn.add(t);
    }
    return toReturn;
  }
  
  private Region init_list_Territoire_Rohan()
  {
    Region r = new Region("Rohan", 4);
    r.add_Territoire(new Territoire("Pays des Vieux Biscornus", true, TypeTerritoire.BIEN));
    r.add_Territoire(new Territoire("Troue du Rohan", false, TypeTerritoire.BIEN));
    r.add_Territoire(new Territoire("Fangorn", true, TypeTerritoire.MAL));
    r.add_Territoire(new Territoire("Enedwaith", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Miniriath", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Pays de Dun", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Eregion", false, TypeTerritoire.NEUTRE));
    return r;
  }
  
  private Region init_list_Territoire_Rhovanion()
  {
    Region r = new Region("Rhovanion", 5);
    r.add_Territoire(new Territoire("Marais des Morts", false, TypeTerritoire.MAL));
    r.add_Territoire(new Territoire("Le Plateau", false, TypeTerritoire.BIEN));
    r.add_Territoire(new Territoire("Terres Brunes", false, TypeTerritoire.MAL));
    r.add_Territoire(new Territoire("Collines de Rhn", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Lorien", false, TypeTerritoire.BIEN));
    r.add_Territoire(new Territoire("Emyn Muil", false, TypeTerritoire.MAL));
    r.add_Territoire(new Territoire("Moria", true, TypeTerritoire.MAL));
    r.add_Territoire(new Territoire("Champs aux Iris", false, TypeTerritoire.NEUTRE));
    return r;
  }
  
  private Region init_list_Territoire_Eriador()
  {
    Region r = new Region("Eriador", 3);
    r.add_Territoire(new Territoire("Collines des Tours", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("La Comt", false, TypeTerritoire.BIEN));
    r.add_Territoire(new Territoire("Les Collines d'Evendim", true, TypeTerritoire.BIEN));
    r.add_Territoire(new Territoire("Harlindon", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Forlindon", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Montagnes Bleues", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Mithlond", false, TypeTerritoire.NEUTRE));
    return r;
  }
  
  private Region init_list_Territoire_Arnor()
  {
    Region r = new Region("Arnor", 7);
    r.add_Territoire(new Territoire("Pays de Bouc", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Vieille Fort", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Rhudaur", true, TypeTerritoire.BIEN));
    r.add_Territoire(new Territoire("Fornost", false, TypeTerritoire.BIEN));
    r.add_Territoire(new Territoire("Hauts du Nord", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Hauts du Sud", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Collines du Temps", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Landes d'Etten", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Angmar", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Est d'Angmar", false, TypeTerritoire.MAL));
    r.add_Territoire(new Territoire("Forodwaith", false, TypeTerritoire.NEUTRE));
    return r;
  }
  
  private Region init_list_Territoire_Foret_Noire()
  {
    Region r = new Region("Fort Noire", 4);
    r.add_Territoire(new Territoire("Carrock", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Valle de l'Anduin", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Sud de la Fort Noire", true, TypeTerritoire.MAL));
    r.add_Territoire(new Territoire("Est de la Fort Noire", false, TypeTerritoire.MAL));
    r.add_Territoire(new Territoire("Nord de la Fort Noire", false, TypeTerritoire.BIEN));
    return r;
  }
  
  private Region init_list_Territoire_Rhun()
  {
    Region r = new Region("Rhn", 2);
    r.add_Territoire(new Territoire("Esgaroth", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Rhn du Sud", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Rhn du Nord", false, TypeTerritoire.NEUTRE));
    r.add_Territoire(new Territoire("Landes Dessche", false, TypeTerritoire.MAL));
    return r;
  }
}




Java Source Code List

com.activities.InitGameActivity.java
com.activities.StartUpActivity.java
com.custom.Compteur.java
com.custom.HelperCouleur.java
com.custom.Liste_Couleur.java
com.custom.ServiceReseau.java
com.game.InterfaceLOTR.java
com.game.LOTR_Data.java
com.net.DonneesConnexion.java
com.net.Emission.java
com.net.Reception.java
com.net.TacheConnexion.java
com.net.TacheTransmission.java
net.Emission.java
net.EnvoiReception.java
net.Reception.java
net.TestClient.java
net.ThreadConnexion.java
objects.Client.java
objects.Joueur.java
objects.Joueur.java
objects.Region.java
objects.Region.java
objects.Territoire.java
objects.Territoire.java
objects.TypeTerritoire.java
objects.TypeTerritoire.java
swingGUI.InfoJoueur.java
swingGUI.InfoTerritoire.java
swingGUI.Logger.java
swingGUI.MainWindow.java
swingGUI.Main.java
swingGUI.Map.java
utils.InterfaceLOTR.java
utils.LOTR_Data.java
utils.LOTR_Game.java
utils.Main.java