示例#1
0
        public void Print()
        {
            string s        = "";
            int    cellSize = 3;

            PrintLetters(ref s, cellSize);
            PrintLine(ref s, cellSize);
            for (int n = 8; n >= 1; n--)
            {
                s += $"{n}|";
                for (char c = 'A'; c <= 'H'; c++)
                {
                    Posizione cella = GetPosizione(c, n);
                    if (cella.Pedina != null)
                    {
                        s += cella.Pedina.ShortName.PadRight(cellSize);
                    }
                    else
                    {
                        s += $"".PadRight(cellSize);
                    }
                    s += "|";
                }
                s += "\n";
                PrintLine(ref s, cellSize);
            }
            PrintLetters(ref s, cellSize);
            Console.WriteLine(s);
        }
示例#2
0
        public override void Muovi(Posizione nuovaPosizione)
        {
            base.Muovi(nuovaPosizione);
            switch (Squadra)
            {
            case Colore.Bianco:
                if (nuovaPosizione.Lettera == Posizione.Lettera && nuovaPosizione.Numero == Posizione.Numero + 1)
                {
                    Posizione = nuovaPosizione;
                }
                else if (nuovaPosizione.Lettera == Posizione.Lettera && nuovaPosizione.Numero == Posizione.Numero + 2 && Posizione.Numero == 2)
                {
                    Posizione = nuovaPosizione;
                }
                Errore();
                break;

            case Colore.Nero:
                if (nuovaPosizione.Lettera == Posizione.Lettera && nuovaPosizione.Numero == Posizione.Numero - 1)
                {
                    Posizione = nuovaPosizione;
                }
                else if (nuovaPosizione.Lettera == Posizione.Lettera && nuovaPosizione.Numero == Posizione.Numero - 2 && Posizione.Numero == 7)
                {
                    Posizione = nuovaPosizione;
                }
                Errore();
                break;
            }
        }
示例#3
0
 public override void Muovi(Posizione nuovaPosizione)
 {
     base.Muovi(nuovaPosizione);
     if (nuovaPosizione.Lettera == Posizione.Lettera || nuovaPosizione.Numero == Posizione.Numero)
     {
         Posizione = nuovaPosizione;
     }
     Errore();
 }
示例#4
0
 public override void Muovi(Posizione nuovaPosizione)
 {
     base.Muovi(nuovaPosizione);
     if (Math.Abs(nuovaPosizione.Lettera - Posizione.Lettera) == Math.Abs(nuovaPosizione.Numero - Posizione.Numero))
     {
         Posizione = nuovaPosizione;
     }
     Errore();
 }
示例#5
0
 public override void Muovi(Posizione nuovaPosizione)
 {
     base.Muovi(nuovaPosizione);
     if (Math.Abs(nuovaPosizione.Lettera - Posizione.Lettera) == Math.Abs(1) && Math.Abs(nuovaPosizione.Numero - Posizione.Numero) == Math.Abs(2) ||
         Math.Abs(nuovaPosizione.Lettera - Posizione.Lettera) == Math.Abs(2) && Math.Abs(nuovaPosizione.Numero - Posizione.Numero) == Math.Abs(1))
     {
         Posizione = nuovaPosizione;
     }
     else
     {
         Errore();
     }
 }
示例#6
0
 public override void Muovi(Posizione nuovaPosizione)
 {
     base.Muovi(nuovaPosizione);
     if (nuovaPosizione.Lettera == Posizione.Lettera || nuovaPosizione.Numero == Posizione.Numero ||
         Math.Abs(nuovaPosizione.Lettera - Posizione.Lettera) == Math.Abs(nuovaPosizione.Numero - Posizione.Numero))
     {
         Posizione = nuovaPosizione;
     }
     else
     {
         Errore();
     }
 }