/* Metodo che aggiorna il giocatore attivo */ public void aggiornaGiocatoreDiTurno() { int index = giocatori.IndexOf(giocatoreDiTurno); index = (index + 1) % giocatori.Count; giocatoreDiTurno = giocatori[index]; giocatoreDiTurno.Init(); }
// Aggiunge giocatori fino ad arrivare ad int numGiocatori //Costruttore implicito dei giocatori public void creaGiocatori(int numGiocatori) { if (numGiocatori < 1 || numGiocatori > 4) throw new Exception(); while (giocatori.Count < numGiocatori) { giocatori.Add(new Giocatore()); } giocatoreDiTurno = giocatori[0]; }
public GestoreDiGiocatori() { giocatoreDiTurno = null; giocatori = new List<Giocatore>(); //Definizione dei colori dei giocatore QuantumColor.Add(e_color.Blu, Color.Blue); QuantumColor.Add(e_color.Rosso, Color.Red); QuantumColor.Add(e_color.Giallo, Color.Yellow); QuantumColor.Add(e_color.Verde, Color.Green); }
// L'azione di colonizzazione vera e propria public bool Colonizza(Giocatore plyr) { if (plyr.PuòColonizzare && this.Colonizzabile(plyr.Colore)) { // Da togliere il check sulla condizione Colonizzabile? (lo fa il programma prima?) for (int i = 0; i < _colonizzazioni.Length - 1; i++) { if (_colonizzazioni[i] == 0) { _colonizzazioni[i] = plyr.Colore; plyr.Azione(true); // Toglie 2 azioni al giocatore return true; } } } return false; }
public Nave(Giocatore proprietario) { _proprietario = proprietario; _ingioco = _mossa = _special = _riconfigurata = false; _tipo = e_nave.Rottame; }
//True se la nave è del colore del giocatore argomento public bool Alleato(Giocatore player) { return (_proprietario.Colore == player.Colore); }
public virtual bool PresenzaAlleata(Giocatore giocatore) { return false; }
/// <summary>Determina se il giocatore argomento può colonizzare il pianeta.</summary> public bool Colonizzabile(Giocatore player) { int punteggio = 0; e_color colore = player.Colore; bool spazio = _colonizzazioni.Any(x => x == 0) && !_colonizzazioni.Any(x => x == colore); foreach (Tile t in this.TileAdiacenti(false, false)) if (t?.PresenzaAlleata(player) == true) { var c = (Casella)t; punteggio += c.Occupante.Pwr; } System.Diagnostics.Debug.WriteLine(punteggio); if (spazio && punteggio == (int)this.Tipo) return true; else return false; }
/// <summary> Restituisce True se sul pianeta c'è una mentina del giocatore argomento</summary> public override bool PresenzaAlleata(Giocatore player) { return _colonizzazioni.Any(c => c == player.Colore); }
public override bool PresenzaAlleata(Giocatore giocatore) { return (_occupante != null && _occupante.Colore == giocatore.Colore); }