Package ingsw.proj.cluedo.componenti

Examples of ingsw.proj.cluedo.componenti.Giocatore


        copia.add(stanze.get(i));
    Collections.shuffle(copia);
    for (int i = 0; i < numGioc; i++) {
      String nome = nomiGiocatori.get(i);
      Casella posizione = copia.get(i).getCasellaVuotaRandom();
      giocatori.add(new Giocatore(nome, posizione, mazzi.get(i)));
      giocatori.get(i).cambiaPosizione(posizione);
    }
  }
View Full Code Here


      this.giocoTerminato = false;
    }
  }

  public Iterator<Point> getDestinazioniGiocatore(String nome) {
    Giocatore giocatore = getGiocatore(nome);
    List<Casella> dest = getPossibiliDestinazioni(giocatore.getPosizione());
    ArrayList<Point> result = new ArrayList<Point>();
    for (int i = 0; i < dest.size(); i++) {
      result.add(tabellone.getPosizione(dest.get(i)));
    }
    giocatore.setUltimaAzione(AzioniEnum.MOVIMENTO);
    return result.iterator();
  }
View Full Code Here

  public Iterator<String> getNoteGiocatore(String nome) {
    return getGiocatore(nome).getNote();
  }

  public Point getPosizioneGiocatore(String nome) {
    Giocatore giocatore = getGiocatore(nome);
    return tabellone.getPosizione(giocatore.getPosizione());
  }
View Full Code Here

    }
    return dest;
  }

  public StanzeEnum getStanzaGiocatore(String nome) {
    Giocatore giocatore = getGiocatore(nome);
    return giocatore.getPosizione().getStanza();
  }
View Full Code Here

    Giocatore giocatore = getGiocatore(nome);
    return giocatore.getPosizione().getStanza();
  }

  public boolean getStatoGiocatore(String nome) {
    Giocatore giocatore = getGiocatore(nome);
    return giocatore.getInGioco();
  }
View Full Code Here

      giocatore.aggiungiNota(messaggio);
    }
  }

  public void spostaGiocatore(String nome, Point destinazione) {
    Giocatore giocatore = getGiocatore(nome);
    giocatore.cambiaPosizione(tabellone.getCasella(destinazione));
    giocatore.setUltimaAzione(AzioniEnum.MOVIMENTO);
  }
View Full Code Here

    giocatore.cambiaPosizione(tabellone.getCasella(destinazione));
    giocatore.setUltimaAzione(AzioniEnum.MOVIMENTO);
  }

  public boolean verificaAccusa(Congettura accusa) {
    Giocatore giocatore = getGiocatore(accusa.getAccusante());
    Giocatore colpevole = getGiocatore(accusa.getAccusato());
    Casella destinazione;
    ArmiEnum arma = accusa.getArma();
    StanzeEnum stanza = giocatore.getStanza();
    notificaTutti(giocatore.getNome() + " accusa " + colpevole.getNome() + " di aver ucciso in " + stanza.toString() + " con l'arma " + arma.toString());

    boolean esito = false;

    if (verificaCongettura(accusa)) {
      notificaTutti(giocatore.getNome() + " ha vinto!");
      giocoTerminato = true;
      esito = true;
    } else {
      notificaTutti(giocatore.getNome() + " ha perso!");
      giocatore.setInGioco(false);
      giocoTerminato = true;
      for (Giocatore temp : giocatori) {
        if (temp.getInGioco()) {
          giocoTerminato = false;
          break;
        }
      }
    }
    destinazione = tabellone.getCasellaVuotaInStanza(giocatore.getStanza());
    colpevole.cambiaPosizione(destinazione);
    for (Pedina pedina : pedineArmi) {
      if (pedina.getNome().equals(accusa.getArma().toString())) {
        destinazione = tabellone.getCasellaVuotaInStanza(giocatore.getStanza());
        pedina.cambiaPosizione(destinazione);
      }
View Full Code Here

  private boolean verificaCongettura(Congettura ipotesi) {
    boolean flag = false;
    String mostrata = null;
    String colpevole = ipotesi.getAccusato();
    ArmiEnum arma = ipotesi.getArma();
    Giocatore daControllare = null;
    Giocatore giocatore = getGiocatore(ipotesi.getAccusante());
    StanzeEnum stanza = giocatore.getStanza();

    if ((giocatore != null) && (arma != null) && (stanza != null) && (colpevole != "")) {
      int miaPosizione = giocatori.indexOf(giocatore);
      for (int i = miaPosizione - 1; i >= 0 && !flag; i--) {
        daControllare = giocatori.get(i);
        if (daControllare.haCarta(arma.toString())) {
          flag = true;
          mostrata = arma.toString();
        }
        if (daControllare.haCarta(stanza.toString())) {
          flag = true;
          mostrata = stanza.toString();
        }
        if (daControllare.haCarta(colpevole)) {
          flag = true;
          mostrata = colpevole;
        }
      }
      for (int i = giocatori.size() - 1; i >= miaPosizione && !flag; i--) {
        daControllare = giocatori.get(i);
        if (daControllare.haCarta(arma.toString())) {
          flag = true;
          mostrata = arma.toString();
        }
        if (daControllare.haCarta(stanza.toString())) {
          flag = true;
          mostrata = stanza.toString();
        }
        if (daControllare.haCarta(colpevole)) {
          flag = true;
          mostrata = colpevole;
        }
      }
      Casella destinazione = tabellone.getCasellaVuotaInStanza(giocatore.getStanza());
      getGiocatore(colpevole).cambiaPosizione(destinazione);
      for (Pedina pedina : pedineArmi) {
        if (pedina.getNome().equals(ipotesi.getArma().toString())) {
          destinazione = tabellone.getCasellaVuotaInStanza(giocatore.getStanza());
          pedina.cambiaPosizione(destinazione);
        }
      }
      if (flag && mostrata != null) {
        notificaTutti(daControllare.getNome() + " ha confutato la teoria di " + giocatore.getNome());
        notificaGiocatore(daControllare.getNome() + " ha confutato la mia teoria con la carta " + mostrata, giocatore);
        notificaGiocatore("Ho confutato la teoria di " + giocatore.getNome() + " mostrando la carta " + mostrata, daControllare);
      } else {
        notificaTutti("Nessuno ha confutato la teoria di " + giocatore.getNome());
      }
    }
    giocatore.setUltimaAzione(AzioniEnum.IPOTESI);
    return !flag;

  }
View Full Code Here

  }

  public boolean verificaIpotesi(Congettura ipotesi) {
    String colpevole = ipotesi.getAccusato();
    ArmiEnum arma = ipotesi.getArma();
    Giocatore giocatore = getGiocatore(ipotesi.getAccusante());
    StanzeEnum stanza = giocatore.getStanza();
    notificaTutti(giocatore.getNome() + " pensa che " + colpevole + " ha ucciso in " + stanza.toString() + " con l'arma " + arma.toString());
    giocatore.setUltimaAzione(AzioniEnum.IPOTESI);
    return verificaCongettura(ipotesi);
  }
View Full Code Here

    return verificaCongettura(ipotesi);
  }

  public String getProssimoGiocatore(String attuale) {
    if (attuale == null) {
      Giocatore giocatore = giocatori.get(0);
      giocatore.setUltimaAzione(AzioniEnum.INIZIA);
      return giocatore.getNome();
    } else {
      int i;
      Giocatore giocatore = getGiocatore(attuale);
      Giocatore prossimo = null;
      giocatore.setUltimaAzione(AzioniEnum.PASSA);
      // Se il gioco e' finito e' inutile perdere tempo.
      if (!giocoAttivo())
        return null;
      // Vedo in che posizione sono nel turno
      for (i = 0; i < giocatori.size(); i++) {
        if (giocatori.get(i).equals(giocatore))
          break;
      }
      // Se sono l'ultimo, oppure io non sono presente (!!!ASSURDO!!!)
      // Decido di scegliere il primo giocatore disponibile nell'array.
      if (i >= giocatori.size() - 1) {
        for (int j = 0; j < giocatori.size(); j++) {
          if (giocatori.get(j).getInGioco()) {
            prossimo = giocatori.get(j);
            break;
          }
        }
      } else {
        // Altrimenti scorro da dopo di me fino alla fine dell'array
        boolean found = false;
        for (int j = i + 1; j < giocatori.size(); j++) {
          if (giocatori.get(j).getInGioco()) {
            prossimo = giocatori.get(j);
            found = true;
            break;
          }
        }
        // Se non ho ancora trovato niente
        if (!found) {
          // Scorro dall'inizio fino a me (incluso)
          for (int j = 0; j <= i; j++) {
            if (giocatori.get(j).getInGioco()) {
              prossimo = giocatori.get(j);
              found = true;
              break;
            }
          } // Se fallisco pure qui, ritorno null
          if (!found)
            return null;
        }
      }
      prossimo.setUltimaAzione(AzioniEnum.INIZIA);
      return prossimo.getNome();
    }
  }
View Full Code Here

TOP

Related Classes of ingsw.proj.cluedo.componenti.Giocatore

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.