public void Run() { var dsService = new DisegnatoreScacchieraService(); var arbitro = new Arbitro(_giocatore1, _giocatore2); dsService.DisegnaScacchiera(_scacchiera); IGiocatore vincitore = null; while (vincitore == null) { _eseguiMossa(_giocatore1); dsService.DisegnaScacchiera(_scacchiera); vincitore = arbitro.ControllaVincitore(_scacchiera); if (vincitore != null) { break; } _eseguiMossa(_giocatore2); dsService.DisegnaScacchiera(_scacchiera); vincitore = arbitro.ControllaVincitore(_scacchiera); } Console.WriteLine($"Il vincitore è {vincitore.Nome}"); }
public void TestIlTavoloHaDueGiocatori() { ITavolo tavolo = new Tavolo(null, null, null); tavolo.RiceviGiocatori("Bianco", "Nero"); IReadOnlyDictionary <Colore, IGiocatore> dict = tavolo.Giocatori; IGiocatore bianco = dict[Colore.Bianco]; IGiocatore nero = dict[Colore.Nero]; Assert.Equal(2, dict.Count); Assert.Equal(1, dict.Where(colore => colore.Key == Colore.Bianco).Count()); Assert.Equal(1, dict.Where(colore => colore.Key == Colore.Nero).Count()); Assert.Equal("Bianco", bianco.Nome); Assert.Equal("Nero", nero.Nome); }
private void _eseguiMossa(IGiocatore giocatore) { var rispostaValida = false; while (!rispostaValida) { Console.WriteLine($"{giocatore.Nome} fai la tua mossa"); var scelta = Console.ReadLine(); try { _scacchiera.ImpostaSimbolo(Convert.ToInt32(scelta), giocatore.Simbolo); rispostaValida = true; } catch (Exception err) { Console.WriteLine("Mossa non valida"); } } }
public Arbitro(IGiocatore giocatore1, IGiocatore giocatore2) { }
public Scacchi(IGiocatore g1, IGiocatore g2, Scacchiera s) { Giocatore1 = g1; Giocatore2 = g2; Scacchiera = s; }