示例#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);
        }
示例#2
0
 private SituazioneRound CreaSituazioneInizialePerIlRobot(SituazionePartita situazionePartita)
 {
     return(new SituazioneRound(puntiVitaIniziali: opzioni.PuntiVita, situazionePartita: situazionePartita));
 }
示例#3
0
 public SituazioneRound(int puntiVitaIniziali, SituazionePartita situazionePartita)
 {
     PuntiVitaResidui       = puntiVitaIniziali;
     this.situazionePartita = situazionePartita;
 }