Esempio n. 1
0
        public SituazionePartita AggiungiPartecipante(IRobot robot)
        {
            if (statoPartita != StatiPartita.PartitaDaIniziare)
            {
                throw new InvalidOperationException("Si possono aggiungere partecipanti solo prima dell'inizio della partita");
            }

            var posizione         = GeneraPosizioneCasuale(robotPartecipanti.Values.Select(p => p.Posizione));
            var denominazione     = robot.DenominazioneConTimeout(opzioni.TimeoutDenominazione);
            var situazionePartita = new SituazionePartita(denominazione, posizione);

            robotPartecipanti.Add(robot, situazionePartita);
            return(situazionePartita);
        }
Esempio n. 2
0
 private SituazioneRound CreaSituazioneInizialePerIlRobot(SituazionePartita situazionePartita)
 {
     return(new SituazioneRound(puntiVitaIniziali: opzioni.PuntiVita, situazionePartita: situazionePartita));
 }
Esempio n. 3
0
 public SituazioneRound(int puntiVitaIniziali, SituazionePartita situazionePartita)
 {
     PuntiVitaResidui       = puntiVitaIniziali;
     this.situazionePartita = situazionePartita;
 }