/* 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(); } }
public Gioco(Tabellone tabellone, Server server) { Tabellone = tabellone; Server = server; }
public Gioco(Tabellone tabellone, Queue <Turno> listaTurni) { // Setup(listaTurni); }
public Gioco(Tabellone tabellone) { // Setup(listaTurni); }