コード例 #1
0
  public void lancerPotionTeleportation(int port, String ipArene) {
    String nom = "Téléportation";

    // TODO remplacer la ligne suivante par votre numero de groupe
    String groupe = "G7";

    // creation du logger
    LoggerProjet logger = null;
    try {
      logger = new LoggerProjet(true, "potion_" + nom + groupe);
    } catch (IOException e) {
      e.printStackTrace();
      System.exit(ErreurLancement.suivant);
    }

    // lancement de la potion
    try {
      IArene arene = (IArene) java.rmi.Naming.lookup(Constantes.nomRMI(ipArene, port, "Arene"));

      logger.info("Lanceur", "Lancement de la potion sur le serveur...");

      // caracteristiques de la potion
      HashMap<Caracteristique, Integer> caracts = new HashMap<Caracteristique, Integer>();
      caracts.put(Caracteristique.VIE, 0);
      caracts.put(Caracteristique.FORCE, 0);
      caracts.put(Caracteristique.INITIATIVE, 0);
      caracts.put(Caracteristique.ESQUIVE, 0);
      caracts.put(Caracteristique.DEFENSE, 0);
      caracts.put(Caracteristique.BOUCLIER, 0);

      // ajout de la potion
      arene.ajoutePotion(new Potion(nom, groupe, caracts), Calculs.positionAleatoireArene());
      logger.info("Lanceur", "Lancement de la potion reussi");

    } catch (Exception e) {
      logger.severe("Lanceur", "Erreur lancement :\n" + e.getCause());
      e.printStackTrace();
      System.exit(ErreurLancement.suivant);
    }
  }
コード例 #2
0
  public static void main(String[] args) {
    String nom = "Assassin";

    // TODO remplacer la ligne suivante par votre numero de groupe
    String groupe = "G10";

    // nombre de tours pour ce personnage avant d'etre deconnecte
    // (30 minutes par defaut)
    // si negatif, illimite
    int nbTours = Constantes.NB_TOURS_PERSONNAGE_DEFAUT;

    // init des arguments
    int port = Constantes.PORT_DEFAUT;
    String ipArene = Constantes.IP_DEFAUT;

    if (args.length > 0) {
      if (args[0].equals("--help") || args[0].equals("-h")) {
        ErreurLancement.aide(usage);
      }

      if (args.length > 2) {
        ErreurLancement.TROP_ARGS.erreur(usage);
      }

      try {
        port = Integer.parseInt(args[0]);
      } catch (NumberFormatException e) {
        ErreurLancement.PORT_NAN.erreur(usage);
      }

      if (args.length > 1) {
        ipArene = args[1];
      }
    }

    // creation du logger
    LoggerProjet logger = null;
    try {
      logger = new LoggerProjet(true, "personnage_" + nom + groupe);
    } catch (IOException e) {
      e.printStackTrace();
      System.exit(ErreurLancement.suivant);
    }

    // lancement du serveur
    try {
      String ipConsole = InetAddress.getLocalHost().getHostAddress();

      logger.info("Lanceur", "Creation du personnage...");

      // caracteristiques du personnage
      HashMap<Caracteristique, Integer> caracts = new HashMap<Caracteristique, Integer>();
      // seule la force n'a pas sa valeur par defaut (exemple)
      caracts.put(Caracteristique.FORCE, 80);
      caracts.put(Caracteristique.VIE, 20);
      caracts.put(Caracteristique.INITIATIVE, 80);

      Point position = Calculs.positionAleatoireArene();

      new StrategieAssassin(
          ipArene, port, ipConsole, nom, groupe, caracts, nbTours, position, logger);
      logger.info("Lanceur", "Creation du personnage reussie");

    } catch (Exception e) {
      logger.severe("Lanceur", "Erreur lancement :\n" + e.getCause());
      e.printStackTrace();
      System.exit(ErreurLancement.suivant);
    }
  }