static void Main() { int numeroCaselle; int numeroGiocatori; Menu menu; //il menù iniziale VistaDiGioco vista; //la vista di gioco TavoloDaGioco tavolo; //il tavolo da gioco Controllore controllore; //il controllore Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); menu = new Menu(); Application.Run(menu); numeroGiocatori = menu.getGiocatori; numeroCaselle = menu.getCaselle; //se il numero delle caselle e delle pedine è stato settato //avvio la vista principale if (numeroCaselle != 0 && numeroGiocatori != 0) { vista = new VistaDiGioco(numeroCaselle, numeroGiocatori); tavolo = new TavoloDaGioco(numeroCaselle, numeroGiocatori); controllore = new Controllore(vista, tavolo); Application.Run(vista); } }
//testo l'effetto delle caselle private void testaEffetto() { int scelta = 0; TavoloDaGioco tavolo = new TavoloDaGioco(numeroCaselle, 2); tavolo.OnEffetto_Applied += applicaEffetto; Console.WriteLine("Quale tipo di casella testare?"); Console.WriteLine("1. Normale"); Console.WriteLine("2. Locanda"); Console.WriteLine("3. SpostaAvanti"); Console.WriteLine("4. SpostaInDietro"); Console.WriteLine("5. RestaFermo"); int.TryParse(Console.ReadLine(), out scelta); Console.WriteLine("############################"); switch (scelta) { case 1: tavolo.gioca_test(0, 2); break; case 2: for (int i = 0; i < 5; i++) { tavolo.gioca_test(0, 19); } break; case 3: tavolo.gioca_test(0, 5); break; case 4: tavolo.gioca_test(0, 58); break; case 5: for (int i = 0; i < 4; i++) { tavolo.gioca_test(0, 31); tavolo.gioca_test(1, i == 0 ? 0 : 31); } break; default: Console.WriteLine("Scelta non valida!"); break; } }
public Controllore(VistaDiGioco vista, TavoloDaGioco tavolo) { _vista = vista; _tavolo = tavolo; //eventi _tavolo.OnEffetto_Applied += AggiornaPosizione; _tavolo.OnValueDadi_Updated += StampaDadi; _tavolo.OnPosizione_Updated += AggiornaPosizione; _tavolo.OnVittoria += VittoriaDiUnGiocatore; _vista.getButtonLanciaDadi.Click += Vista_Click_LanciaDadi; _vista.OnRigioca_Clicked += Vista_Click_Rigioca; _vista.getButtonReset.Click += Vista_Click_Rigioca; }//end costruttore