示例#1
0
        /* setup partita
         * private void Setup(Queue<Turno> listaTurni)
         * {
         *  ListaTurni = listaTurni;
         *  foreach (Turno turno in ListaTurni)
         *  {
         *      turno.Pedina.Posizione = Tabellone.GetCasella(0);
         *      Banca.DistribuisciDenaroIniziale(turno.Pedina);
         *  }
         *
         * }
         */
        public Casella MuoviPedina(int sommaDadi, string nomeGiocatore)
        {
            if (nomeGiocatore == PedinaPrincipale.Nome)
            {
                if (ListaPedine.Contains(PedinaPrincipale))
                {
                    if (!PedinaPrincipale.PedinaInPrigione)
                    {
                        int posizioneAttualePedina = PedinaPrincipale.Posizione.Numerocasella;

                        PedinaPrincipale.Posizione = Tabellone.GetCasella(posizioneAttualePedina + sommaDadi);

                        if (PedinaPrincipale.Posizione.Numerocasella < posizioneAttualePedina)
                        {
                            PedinaPrincipale.DenaroPedina += (Tabellone.GetCasella(0) as Via).PassaggioDalVia;
                        }

                        Server.MuoviPedina(sommaDadi);

                        return(PedinaPrincipale.Posizione);
                    }
                    else
                    {
                        return(PedinaPrincipale.Posizione); //implementa prigione
                    }
                }
                else
                {
                    throw new Exception();
                }
            }
            else
            {
                foreach (Pedina pedina in ListaPedine)
                {
                    if (pedina.Nome == nomeGiocatore)
                    {
                        int posizioneAttualePedina = pedina.Posizione.Numerocasella;
                        pedina.Posizione = Tabellone.GetCasella(posizioneAttualePedina + sommaDadi);

                        return(pedina.Posizione);
                    }
                }
                throw new Exception();
            }
        }
示例#2
0
 public Gioco(Tabellone tabellone, Server server)
 {
     Tabellone = tabellone;
     Server    = server;
 }
示例#3
0
 public Gioco(Tabellone tabellone, Queue <Turno> listaTurni)
 {
     // Setup(listaTurni);
 }
示例#4
0
 public Gioco(Tabellone tabellone)
 {
     // Setup(listaTurni);
 }