Android Open Source - LotR_Risk Envoi Reception






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 net;
//  w  w w . j  a  va2  s . c  o m
import java.io.IOException;
import java.util.ArrayList;

import objects.Joueur;
import utils.InterfaceLOTR;

public class EnvoiReception extends Thread implements InterfaceLOTR {

  private ArrayList<Joueur> listJoueur; //Permet de stocker la liste recu ou voulante etre envoye
  private int traitement; //Sert  dfinir le traitement voulu (via constantes InterfaceLOTR)
  private Reception in;
  private Emission out;
  
  public EnvoiReception(Reception in, Emission out, ArrayList<Joueur> listJoueurs, int traitement) {
    super();
    this.listJoueur = listJoueurs;
    this.traitement = traitement;
    this.in = in;
    this.out = out;
  }
  
  @Override
  public void run() 
  {
    try {
      switch (traitement)
      {
        case CREATION_JOUEURS : this.listJoueur = getInfosJoueurs();
                    break;
        case SERVEUR_RECEPTION_JOUEURS : getJoueurs();
                             break;
        case SERVEUR_ENVOI_JOUEURS : if (sendJoueurs())
                        System.out.println("Envoi termin avec succs");
                       else
                        System.out.println("ERREUR lors de l'envoi des joueurs !");
                       break;        
      }
    } catch (IOException | ClassNotFoundException e) {
      e.printStackTrace();
    }
  }
  
  /**
   * Reoit la liste des joueurs envoye par l'application distante.
   * @throws ClassNotFoundException
   * @throws IOException
   */
  private ArrayList<Joueur> getInfosJoueurs() throws ClassNotFoundException, IOException 
  {
    out.sendString("#OK"); //Averti le client que sa demande est bien reue 
    Integer nbJoueurs = in.getInt();
    while (nbJoueurs == null) {
      System.out.println("Erreur de saisie, j'attend un ENTIER");
      nbJoueurs = in.getInt();
    }
    if (this.listJoueur == null)
      this.listJoueur = new ArrayList<Joueur>(nbJoueurs);
    
    for (int i = 0; i < nbJoueurs; i ++) {
      Joueur joueurRecu = in.getJoueur();
      if (!listJoueur.contains(joueurRecu)) {
        listJoueur.add(joueurRecu);
        System.out.println("Joueur ajout : " + joueurRecu.getNom());
      }
    }
    return this.listJoueur;
  }
  
  private boolean sendJoueurs() 
  {
    try {
      if (listJoueur == null || listJoueur.size() == 0) {
        out.sendString("#ERROR");
        return false;
      }
      out.sendString("#OK");
      for (Joueur j : listJoueur) 
        out.sendJoueur(j);
      out.reset();
    } catch (IOException e) {
      return false;
    }
    return true;
  }
  
  private void getJoueurs() throws ClassNotFoundException, IOException 
  {
    out.sendString("#OK"); //Averti le client que sa demande est bien reue 
    for (int i = 0; i < listJoueur.size(); i++) {
      Joueur joueurRecu = in.getJoueur();
      System.out.println(joueurRecu);
      listJoueur.set(i, joueurRecu);
    }
  }
  
  public ArrayList<Joueur> getListJoueur() {
    return listJoueur;
  }
}




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