Package common

Examples of common.Conteneur


    try{
      this.socketServeur = new Socket(host, port);
      this.in = new BufferedInputStream(socketServeur.getInputStream());
      this.out = new BufferedOutputStream(socketServeur.getOutputStream());
      // On prévient le serveur de notre arrivée
      Conteneur c = new Conteneur(TypeConteneur.JOUEUR, new Joueur(pseudo));
      this.envoyerConteneur(c);

      Thread fils = new ClientFils();
      fils.start();
View Full Code Here


   * prévienne l'adversaire
   *
   * @param p
   */
  public void envoyerDeplacementAuServeur(Point p) {
    Conteneur c = new Conteneur(TypeConteneur.POINT, p);
    try {
      envoyerConteneur(c);
    } catch (IOException ioe) {
      ioe.printStackTrace();
    }
View Full Code Here

  /**
   * Envoi d'un conteneur de contenu quelconque
   */
  public boolean envoyerMessage(String type, Object contenu){
    Conteneur c1 = new Conteneur(type, contenu);
    c1.setPseudo(pseudo);
    try{
      envoyerConteneur(c1);
      return true;
    }catch(IOException ioe){
      return false;
View Full Code Here

      try {
        while (!fini) {

          BufferedInputStream reader = new BufferedInputStream(in);

          Conteneur c = (Conteneur) Utils.deserialize(reader);

          if (c != null) {

            String tp = c.getTypeConteneur();
            if (tp.equals(TypeConteneur.ARRET_SERVEUR)) {
              System.out.println("[" + pseudo
                  + "] Le serveur va déco => Goodbye");


              jxoGui.resetMainPanel();
              jxoGui.desactiverTousChamps();

              jxoGui.info("Le serveur va s'arreter !");
              fini = true;




            } else if (tp.equals(TypeConteneur.PSEUDO_EXISTANT)) {
              System.out
              .println("["
                  + pseudo
                  + "] Aie, Mon pseudo existe déja sur le serveur !");

              jxoGui.resetMainPanel();
              jxoGui.desactiverTousChamps();
              jxoGui.warning("Le pseudo "+pseudo+" existe deja sur le serveur");

              /*
               * Etant donne qu'on sort de la boucle, on relance une demande de
               * connexion.
               */
              fini = true;

            } else if (tp
                .equals(TypeConteneur.PARTIE_PEUT_COMMENCER)) {
              String symbole = (String) c.getObject();
              System.out.println("[" + pseudo + "] Je joue les "
                  + symbole + " la partie commence");

              // remise du texte de base dans la barre de status.
              jxoGui.setDefaultStatusBarText();
             
              jxoGui.info("La partie peut commencer, vous avez le symbole "
                  +symbole);
              /* Definir le symbole joue par ce joueur
               *  + debloquage de la grille de jeu
               */
              jxoGui.setTypeSymbole2Gui(symbole);
              gameStarted = true;


            } else if (tp.equals(TypeConteneur.POINT)) {
              System.out.println("[" + pseudo
                  + "] J'ai recu le point :");

              Point p = (Point) c.getObject();
              System.out.println("Symbole = " + p.getSymbole()
                  + " X = " + p.getX() + " Y = " + p.getY());

              // action sur la reception d'un point
              jxoGui.showPointAdversaire(p);


            } else if (tp.equals(TypeConteneur.GAGNE)) {
              // J'ai gagné
              System.out.println("[" + pseudo+"] Vous avez gagne !");

              jxoGui.desactiverTousChamps();
              jxoGui.info("Vous avez gagne cette partie !\nFelicitations !");

              fini = veutTerminer();

//              if(jxoGui.rejouer()){
//              envoyerMessage(TypeConteneur.REJOUER_OK, TypeConteneur.REJOUER_OK);
//              }else{
//              envoyerMessage(TypeConteneur.REJOUER_KO, TypeConteneur.REJOUER_KO);
//              fini = true;
//              disconnect();
//              }


            }else if(tp.equals(TypeConteneur.MATCH_NUL)){
              System.out.println("[" + pseudo+"] Match nul");

              jxoGui.desactiverTousChamps();
              jxoGui.info("Match Nul !");

              fini = veutTerminer();

//              if(jxoGui.rejouer()){
//              envoyerMessage(TypeConteneur.REJOUER_OK, TypeConteneur.REJOUER_OK);
//              }else{
//              envoyerMessage(TypeConteneur.REJOUER_KO, TypeConteneur.REJOUER_KO);
//              fini = true;
//              disconnect();
//              }

              jxoGui.resetMainPanel();
              jxoGui.desactiverTousChamps();

            }else if (tp.equals(TypeConteneur.PERDU)) {
              // J'ai perdu
              System.out.println("[" + pseudo+"]J'ai perdu !");

              // affichage du point du gagnant.
              Point p = (Point) c.getObject();
              jxoGui.showPointAdversaire(p);

              jxoGui.desactiverTousChamps();

              jxoGui.info("Vous avez perdu cette partie !");
View Full Code Here

   * @param j Ordonnee du point a envoyer
   * @throws IOException Si quelque chose tourne mal.
   */
  public void envoyerPoint(int i, int j) throws IOException{
    Point p = new Point(i,j, this.symbole);
    Conteneur c1 = new Conteneur(TypeConteneur.POINT, p);
    c1.setPseudo(this.userName);
    this.leClient.envoyerConteneur(c1);
  }
View Full Code Here

   *
   * @param pseudoAdversaire
   * @param p
   */
  public void prevenirAdversaire(String pseudoAdversaire, Point p) {
    Conteneur c = new Conteneur(TypeConteneur.POINT, p);
    Socket socketAdv = (Socket) joueurs.get(pseudoAdversaire);

    try {
      this.envoyerConteneur(c, socketAdv);
    } catch (IOException e) {
View Full Code Here

    //System.out.println("pseudoJoueurCroix = " + pseudoJoueurCroix);
    Socket sCroix = (Socket) joueurs.get(pseudoJoueurCroix);
    Socket sRond = (Socket) joueurs.get(pseudoJoueurRond);

    Conteneur cCroix = new Conteneur(TypeConteneur.PARTIE_PEUT_COMMENCER,
        TypeConteneur.CROIX);
    Conteneur cRond = new Conteneur(TypeConteneur.PARTIE_PEUT_COMMENCER,
        TypeConteneur.ROND);

    // System.out.println("cCroix = "+cCroix);
    // System.out.println("sCroix = "+sCroix);
    envoyerConteneur(cCroix, sCroix);
View Full Code Here

      Socket kill = (Socket) it.next();
      // Envoi au client du message de fin
      try {
        // BufferedOutputStream bout = new
        // BufferedOutputStream(kill.getOutputStream());
        Conteneur c = new Conteneur(TypeConteneur.ARRET_SERVEUR,
            new String(TypeConteneur.ARRET_SERVEUR));
        envoyerConteneur(c, kill);

      } catch (IOException ioe) {
        ioe.printStackTrace();
View Full Code Here

      if (client == null)
        return;

      try {

        Conteneur c;
        BufferedInputStream bin = new BufferedInputStream(in);

        while ((c = (Conteneur) Utils.deserialize(bin)) != null) {
          // On récupére le message du client         

          if (c == null) {
            System.out.println("Impossible de récupérer le message pour "+pseudo);
          }

          // Traitement des messages
          if (c != null) {
            String type = c.getTypeConteneur();
            if(type.equals(TypeConteneur.JOUEUR)){
              System.out.println("Arrivée d'un nouveau joueur");
            }
            else{
              System.out.println("[SERVEUR] Le client "+pseudo+" a recu un Conteneur de Type "+
                  type+((pseudoAdversaire!=null)?" de la part de : "+pseudoAdversaire:""));
            }             

            // RECEPTION D'UN JOUEUR
            if (type.equals(TypeConteneur.JOUEUR)) {//ARRIVE D'UN NOUVEAU JOUEUR
              Joueur j = (Joueur) c.getObject();
              String pseudoCl = j.getPseudo();

              if (joueurs.containsKey(pseudoCl)) {
                // On prévient le client que ce pseudo est déja
                // utilisé
                //System.out.println("[SERVEUR] : "+pseudoCl+" Pseudo existant");
                c = new Conteneur(
                    TypeConteneur.PSEUDO_EXISTANT, null);
                envoyerConteneur(c, client);               
                return;
              }

              // On ajout ce client dans la liste des joueurs du
              // serveur
              ajouterJoueur(pseudoCl, client);
              // On conserve son pseudo
              this.pseudo = pseudoCl;

              /*System.out.println("[Serveur] : Arrivée de => "
                  + pseudo);*/

              // On appelle le gestionnaire de connexion
              dernierePartie = gs.ajouterJoueur(pseudo);
             
             
            }else if(type.equals(TypeConteneur.RESTER)){//RESTER APRES DEPART DE L'ADVERSAIRE       
              dernierePartie = gs.ajouterJoueur(pseudo);
              pseudoAdversaire = null;
            }else if (type.equals(TypeConteneur.POINT)) {// RECEPTION D'UN POINT
              // On récupére le pseudo du joueur associé à cet
              // socket
              // String pseudo =
              // c.getPseudo();//(String)joueurs.get(client);
              if (pseudo == null) {               
                return;
              }
                           
              Point point = (Point) c.getObject();

              // Création de la partie si elle n'existe pas
              if (dernierePartie == null) {
                dernierePartie = gs.aJouer(pseudo, point);
              }
                           

              if (dernierePartie != null) {
               
                if (pseudoAdversaire == null) {
                  pseudoAdversaire = dernierePartie
                      .getAdversaire(pseudo);
                //  System.out.println("[SERVEUR] Adversaire de "+pseudo+ " = "+pseudoAdversaire);
                }
               
                dernierePartie = gs.aJouer(dernierePartie, point);           
                boolean aGagne = dernierePartie
                    .aGagne(dernierePartie
                        .getSymbole(pseudo));
                boolean matchNul = dernierePartie.matchNul();
               
                //System.out.println("aGagné = "+aGagne);

               

                Socket socketAdversaire = (Socket) joueurs
                    .get(pseudoAdversaire);
                Conteneur cAdversaire = null;
                Conteneur cMatchNul = new Conteneur(TypeConteneur.MATCH_NUL,null);               
               
                if (aGagne) { // VICTOIRE DE CE CLIENT
                  // L'adversaire a perdu, on lui envoit le
                  // point et le résultat de la partie
                  // On envoit le résultat au gagnant
                  // également
                  // On termine la partie
                  cAdversaire = new Conteneur(
                      TypeConteneur.PERDU, point);
                                 
                 
                  Conteneur cGagnant = new Conteneur(
                      TypeConteneur.GAGNE, null);
                  envoyerConteneur(cGagnant, client);
                } else if(matchNul){ // MATCH NUL                 
                  envoyerConteneur(cMatchNul, client);
                  cAdversaire = cMatchNul;
                }else { // PERDU
                  System.out.println("CAS INEXISTANT ");
                  // On Envoie seulement le point à
                  // l'adversaire
                  cAdversaire = new Conteneur(
                      TypeConteneur.POINT, point);
                }

                // On envoie les conteneurs apropriés à chacun des joueurs
                if (socketAdversaire != null
                    && cAdversaire != null) {
                  envoyerConteneur(cAdversaire,
                      socketAdversaire);
                 
                }
               
               

              }

            }else if( (type.equals(TypeConteneur.REJOUER_OK)) ||
                (type.equals(TypeConteneur.REJOUER_KO)) ){
              // On remet à zero la partie et on peut y aller
              //dernierePartie = gs.remettreAZeroPartie(dernierePartie);
             
              dernierePartie = gs.getPartie(dernierePartie);
              if(dernierePartie == null){
                //System.out.println("Plus de partie, l'autre est parti !");
              }else{
                if(type.equals(TypeConteneur.REJOUER_OK)){               
                  dernierePartie.addOk();
                  lastChoice = OK;
                 
                  System.out.println("[SERVEUR] => Je veux rejouer = "+dernierePartie.getNbOk());
                }else if(type.equals(TypeConteneur.REJOUER_KO)){
                  dernierePartie.addKo();
                  lastChoice = KO;
                }
               
                //On remet à jour la partie sur le gestionnaire
                //gs.putPartie(dernierePartie);
                
               
                if(dernierePartie.getKoAndOk() == 2){
                  // Fin de partie
                  Socket socketAdversaire = (Socket) joueurs
                  .get(pseudoAdversaire);
                 
                 
                  if(dernierePartie.getNbOk() == 2){
                    // On remet à jour la partie sur le gestionnaire
                   
                    //System.out.println("Deux ok !");
                    Conteneur conteneur = new Conteneur(TypeConteneur.REJOUER_OK,null);
                    //Message pour rejouer au 2
                    envoyerConteneur(conteneur,client);
                    envoyerConteneur(conteneur,socketAdversaire);
                  }else{
                    // On ne rejoue pas
                    if(lastChoice.equals(OK)){
                      Conteneur conteneur = new Conteneur(TypeConteneur.ATTENTE,null);
                     
                      //System.out.println("[SERVEUR] "+pseudo+" ATTENTE !");
                      //On arrete la partie
                      gs.arreterPartie(dernierePartie);
                      dernierePartie = gs.ajouterJoueur(pseudo);
                      pseudoAdversaire = null;
                     
                     
                      //Message pour rejouer au 2
                      envoyerConteneur(conteneur,client);
                    }else{
                      Conteneur conteneur = new Conteneur(TypeConteneur.REJOUER_KO,null);
                      //Message de fin                    
                      envoyerConteneur(conteneur,socketAdversaire);
                    }
                   
                  }
                 
                  // On arrete la partie
                  dernierePartie.remettreAZero();
                  dernierePartie.initKoAndOk();

                 
                }
               
                //On remet à jour la partie sur le gestionnaire
                gs.putPartie(dernierePartie);
              }
             
             
             
             
            }
          }

        }

      } catch (ClassNotFoundException cnf) {
        // cnf.printStackTrace();
        System.out.println(cnf);
      } catch (NullPointerException npe) {
        // npe.printStackTrace();
        //System.out.println(npe);
        npe.printStackTrace();
      } catch (IOException ioe) {               
        System.out.println(pseudo + " s'est deconnecté ");       
       
        if (pseudoAdversaire != null) {
          Socket socketAdversaire = (Socket) joueurs
              .get(pseudoAdversaire);
          Conteneur cAdversaire = new Conteneur(
              TypeConteneur.DECO_ADVERSAIRE, null);
          try {
            //On regarde si l'adversair existe encore
            if(socketAdversaire != null){
              gs.arreterPartie(dernierePartie);
View Full Code Here

     */

    Socket sCroix = (Socket) joueurs.get(pseudoJoueurCroix);
    Socket sRond = (Socket) joueurs.get(pseudoJoueurRond);

    Conteneur cCroix = new Conteneur(TypeConteneur.PARTIE_PEUT_COMMENCER,
        TypeConteneur.CROIX);
    Conteneur cRond = new Conteneur(TypeConteneur.PARTIE_PEUT_COMMENCER,
        TypeConteneur.ROND);
    envoyerConteneur(cCroix, sCroix);
    envoyerConteneur(cRond, sRond);
  }
View Full Code Here

TOP

Related Classes of common.Conteneur

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.