コード例 #1
0
ファイル: Program.cs プロジェクト: Manieri03/GiocoScacchi
        static void Main(string[] args)
        {
            Scacchiera s = Scacchiera.Istanza;

            s.Spostamento += StampaConsole;
            writer         = new StreamWriter("log.txt");
            s.Spostamento += StampaFile;

            Pedone p = new Pedone(Schieramento.Bianco)
            {
                Posizione = s.GetCella('B', 2)
            };
            Torre t = new Torre(Schieramento.Bianco)
            {
                Posizione = s.GetCella('C', 1)
            };
            Alfiere a = new Alfiere(Schieramento.Bianco)
            {
                Posizione = s.GetCella('E', 2)
            };
            Re re = new Re(Schieramento.Bianco)
            {
                Posizione = s.GetCella('E', 1)
            };
            Regina r = new Regina(Schieramento.Bianco)
            {
                Posizione = s.GetCella('G', 3)
            };
            Cavallo c = new Cavallo(Schieramento.Bianco)
            {
                Posizione = s.GetCella('F', 2)
            };

            s.Print();

            Console.WriteLine();
            Console.WriteLine("".PadRight(40, '-'));
            Console.WriteLine();
            try
            {
                p.Muovi(s.GetCella('B', 3));
                t.Muovi(s.GetCella('C', 4));
                a.Muovi(s.GetCella('B', 5));
                re.Muovi(s.GetCella('F', 1));
                r.Muovi(s.GetCella('G', 5));
                c.Muovi(s.GetCella('E', 5));
                s.Print();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            writer.Flush();
            writer.Close();
            Console.ReadLine();
        }
コード例 #2
0
        public void MovimentoLInAltoASinistra()
        {
            //Given
            Cavallo cavallo = new Cavallo(Colore.Nero);
            //When
            bool esito = cavallo.PuòMuovere(
                colonnaPartenza: Colonna.D,
                traversaPartenza: Traversa.Quarta,
                colonnaArrivo: Colonna.C,
                traversaArrivo: Traversa.Sesta);

            //Then
            Assert.True(esito);
        }
コード例 #3
0
        public void MovimentoNonFattibile()
        {
            //Given
            Cavallo cavallo = new Cavallo(Colore.Nero);
            //When
            bool esito = cavallo.PuòMuovere(
                colonnaPartenza: Colonna.D,
                traversaPartenza: Traversa.Quarta,
                colonnaArrivo: Colonna.H,
                traversaArrivo: Traversa.Prima);

            //Then
            Assert.False(esito);
        }
コード例 #4
0
        public void IlCavalloNonPuòRestareFermo(Colore c)
        {
            //Given
            Cavallo cavallo = new Cavallo(c);
            //When
            bool esito = cavallo.PuòMuovere(
                colonnaPartenza: Colonna.A,
                traversaPartenza: Traversa.Prima,
                colonnaArrivo: Colonna.A,
                traversaArrivo: Traversa.Prima
                );

            Assert.False(esito);
        }
コード例 #5
0
        public void IlCavalloPuòMuovereASinistraIndietroDiUnaCasa()
        {
            //Given
            Cavallo cavallo = new Cavallo(Colore.Nero);
            //When
            bool esito = cavallo.PuòMuovere(
                colonnaPartenza: Colonna.D,
                traversaPartenza: Traversa.Quarta,
                colonnaArrivo: Colonna.B,
                traversaArrivo: Traversa.Terza);

            //Then
            Assert.True(esito);
        }
コード例 #6
0
        public void IlCavalloPuòMuovereADestraAvantiDiUnaCasa()
        {
            //Given
            Cavallo cavallo = new Cavallo(Colore.Nero);
            //When
            bool esito = cavallo.PuòMuovere(
                colonnaPartenza: Colonna.D,
                traversaPartenza: Traversa.Quarta,
                colonnaArrivo: Colonna.F,
                traversaArrivo: Traversa.Quinta);

            //Then
            Assert.True(esito);
        }
コード例 #7
0
        public void IlCavalloPuòMuovereIndietroADestraDiDueCase()
        {
            //Given
            Cavallo cavallo = new Cavallo(Colore.Nero);
            //When
            bool esito = cavallo.PuòMuovere(
                colonnaPartenza: Colonna.D,
                traversaPartenza: Traversa.Quarta,
                colonnaArrivo: Colonna.E,
                traversaArrivo: Traversa.Seconda);

            //Then
            Assert.True(esito);
        }
コード例 #8
0
        static void Main(string[] args)
        {
            StreamWriter writer;
            Scacchiera   s = Scacchiera.Istanza;
            Pedone       p = new Pedone(Colore.Bianco)
            {
                Posizione = s.GetCella('B', 2)
            };
            Torre t = new Torre(Colore.Bianco)
            {
                Posizione = s.GetCella('C', 1)
            };
            Alfiere a = new Alfiere(Colore.Bianco)
            {
                Posizione = s.GetCella('E', 2)
            };
            Re re = new Re(Colore.Bianco)
            {
                Posizione = s.GetCella('E', 1)
            };
            Regina r = new Regina(Colore.Bianco)
            {
                Posizione = s.GetCella('G', 3)
            };
            Cavallo c = new Cavallo(Colore.Bianco)
            {
                Posizione = s.GetCella('F', 2)
            };

            s.Print();

            Console.WriteLine();
            Console.WriteLine("".PadRight(40, '-'));
            Console.WriteLine();
            try
            {
                p.Muovi(s.GetCella('B', 3));
                t.Muovi(s.GetCella('C', 4));
                a.Muovi(s.GetCella('B', 5));
                re.Muovi(s.GetCella('F', 1));
                r.Muovi(s.GetCella('G', 5));
                c.Muovi(s.GetCella('E', 5));
                s.Stampa();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.ReadLine();
        }
コード例 #9
0
        public void IlCavalloPuoMuovereAdElle()
        {
            //Given
            Cavallo cavallo = new Cavallo(Colore.Nero);
            //When
            bool esito = cavallo.PuòMuovere(
                colonnaPartenza: Colonna.B,
                traversaPartenza: Traversa.Ottava,
                colonnaArrivo: Colonna.C,
                traversaArrivo: Traversa.Sesta);

            //Then
            Assert.True(esito);
        }
コード例 #10
0
        public void IlCavalloPuoMuovereSoloAdL(Colore colore)
        {
            //Given
            Cavallo    cavallo    = new Cavallo(colore);
            Scacchiera scacchiera = new Scacchiera();
            //When
            bool esito = cavallo.PuòMuovere(
                colonnaPartenza: Colonna.G,
                traversaPartenza: Traversa.Ottava,
                colonnaArrivo: Colonna.E,
                traversaArrivo: Traversa.Sesta,
                scacchiera: scacchiera);

            //Then
            Assert.False(esito);
        }
コード例 #11
0
        public void IlCavalloPuoMuovereAdL(Colore colore)
        {
            //Given
            Cavallo    cavallo    = new Cavallo(colore);
            Scacchiera scacchiera = new Scacchiera();
            //When
            bool esito = cavallo.PuòMuovere(
                colonnaPartenza: Colonna.B,
                traversaPartenza: Traversa.Prima,
                colonnaArrivo: Colonna.A,
                traversaArrivo: Traversa.Terza,
                scacchiera: scacchiera);

            //Then
            Assert.True(esito);
        }
コード例 #12
0
        public void ilCavalloPuòMangiarePezzoAvversario(
            Colonna colonnaPartenza, Traversa traversaPartenza,
            Colonna colonnaArrivo, Traversa traversaArrivo,
            Colore colore, Colore colorePezzoBloccante,
            Colonna colonnaPezzoBloccante,
            Traversa traversaPezzoBloccante)
        {
            //Given
            Cavallo    cavallo    = new Cavallo(colore);
            Scacchiera scacchiera = new Scacchiera();

            scacchiera[colonnaPezzoBloccante, traversaPezzoBloccante].PezzoPresente =
                new Pedone(colorePezzoBloccante);
            //When
            bool esito = cavallo.PuòMuovere(colonnaPartenza, traversaPartenza,
                                            colonnaArrivo, traversaArrivo, scacchiera);

            //Then
            Assert.True(esito);
        }
コード例 #13
0
        public void ilCavalloNonPuòOccupareCasaOccupataDaPezzoDiStessoColore(
            Colonna colonnaPartenza, Traversa traversaPartenza,
            Colonna colonnaArrivo, Traversa traversaArrivo,
            Colore colore, Colore colorePezzoBloccante,
            Colonna colonnaPezzoBloccante,
            Traversa traversaPezzoBloccante)
        {
            //Given
            Cavallo    cavallo    = new Cavallo(colore);
            Scacchiera scacchiera = new Scacchiera();

            scacchiera[colonnaPezzoBloccante, traversaPezzoBloccante].PezzoPresente =
                new Pedone(colorePezzoBloccante);
            //When
            bool esito = cavallo.PuòMuovere(colonnaPartenza, traversaPartenza,
                                            colonnaArrivo, traversaArrivo, scacchiera);

            //Then
            Assert.False(esito);
        }