コード例 #1
0
        }//end costruttore

        /*
         * Override del metodo effetto.
         * Il metodo sposta la pedina in una data posizione (destinazione) passata
         * all'atto della creazione
         */
        public override void effetto(TavoloDaGioco t, Pedina p, EventHandler <ArgEvento <Pedina> > evento)
        {
            int tiro = p.muovi(_destinazione - p.posizione);

            t.sposta(p, tiro);
            evento.Invoke(this, new ArgEvento <Pedina>(p));
        }
コード例 #2
0
        }//end turnoGiocatore

        //metodo per gestire il turno dei bot
        private void turnoBot(Pedina p)
        {
            int tiro = lanciaDadi();

            sposta(p, p.muovi(tiro));
            OnPosizione_Updated.Invoke(this, new ArgEvento <Pedina>(p));
        }//end turnoBot
コード例 #3
0
 /*
  * Override del metodo effetto.
  * Il metodo sposta la pedina di n posizioni pari al tiro
  * effettuato precedentemente.
  */
 public override void effetto(TavoloDaGioco t, Pedina p, EventHandler <ArgEvento <Pedina> > evento)
 {
     if (!p.vincitore)
     {
         int tiro = p.muovi(p.tiroPrecedente);
         t.sposta(p, tiro);
     }
     evento.Invoke(this, new ArgEvento <Pedina>(p));
 }
コード例 #4
0
        //metodo per gestire il turno dell'utente
        private void turnoGiocatore(Pedina p)
        {
            int tiro = 0;

            //se la pedina non è in attesa o in prigione
            //lancio il dado, altrimenti passo 0 come lancio
            if (!p.inAttesa && _inPrigione != p && _inPozzo != p)
            {
                tiro = lanciaDadi();
            }
            OnValueDadi_Updated.Invoke(this, new ArgEvento <int>(tiro));
            sposta(p, p.muovi(tiro));
            OnPosizione_Updated.Invoke(this, new ArgEvento <Pedina>(p));
        }//end turnoGiocatore