예제 #1
0
파일: Arene.java 프로젝트: clem822/bl
  @Override
  public boolean Fuite(int refRMI, int refRMIaFuir) throws RemoteException {
    boolean res = false;

    VuePersonnage client = personnages.get(refRMI);

    if (client.isActionExecutee()) {
      // si une action a deja ete executee
      logActionDejaExecutee(refRMI);
    } else {
      Point pMoi = this.getPosition(refRMI);
      Point pAFuir = this.getPosition(refRMIaFuir);
      Point objectif = pMoi;
      if (pMoi.getX() - pAFuir.getX() > 0) objectif.x++;
      else objectif.x--;
      if (pMoi.getY() - pAFuir.getY() > 0) objectif.y++;
      else objectif.y--;
      // sinon, on tente de jouer l'interaction
      new Deplacement(client, getVoisins(refRMI)).seDirigeVers(objectif);
      client.executeAction();

      res = true;
    }

    return res;
  }
예제 #2
0
파일: Arene.java 프로젝트: clem822/bl
  @Override
  public boolean deplaceRapidement(int refRMI, Point objectif) throws RemoteException {
    boolean res = false;

    VuePersonnage client = personnages.get(refRMI);

    if (client.isActionExecutee()) {
      // si une action a deja ete executee
      logActionDejaExecutee(refRMI);
    } else {
      // sinon, on tente de jouer l'interaction
      new DeplacementRapide(client, getVoisins(refRMI)).seDirigeVers(objectif);
      client.executeAction();

      res = true;
    }

    return res;
  }
예제 #3
0
파일: Arene.java 프로젝트: clem822/bl
  @Override
  public boolean invoquer(int refRMI, int nbSbires) throws RemoteException {
    // TODO Auto-generated method stub
    boolean res = false;

    VuePersonnage invoqueur = personnages.get(refRMI);

    if (invoqueur.isActionExecutee()) {
      // si une action a deja ete executee
      logActionDejaExecutee(refRMI);
    } else {
      // sinon, on tente de jouer l'interaction
      new Invocation(this, invoqueur, nbSbires).invoquerSbires();
      invoqueur.executeAction();

      res = true;
    }

    return res;
  }