예제 #1
0
파일: GameRunner.cs 프로젝트: towersf/Tris
        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}");
        }
예제 #2
0
        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);
        }
예제 #3
0
파일: GameRunner.cs 프로젝트: towersf/Tris
        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");
                }
            }
        }
예제 #4
0
 public Arbitro(IGiocatore giocatore1, IGiocatore giocatore2)
 {
 }
예제 #5
0
파일: Program.cs 프로젝트: war-man/Scuola
 public Scacchi(IGiocatore g1, IGiocatore g2, Scacchiera s)
 {
     Giocatore1 = g1;
     Giocatore2 = g2;
     Scacchiera = s;
 }