예제 #1
0
파일: Program.cs 프로젝트: Camerana/Scacchi
        static void GeneraPedine(List <Pedina> pedine)
        {
            Random r = new Random();

            for (int i = 0; i < 15; i++)
            {
                Pedina p      = null;
                int    numero = r.Next(0, 6);
                if (numero == 0)
                {
                    p = new Pedone(r);
                }
                else if (numero == 1)
                {
                    p = new Cavallo(r);
                }
                else if (numero == 2)
                {
                    p = new Alfiere(r);
                }
                else if (numero == 3)
                {
                    p = new Torre(r);
                }
                else if (numero == 4)
                {
                    p = new Re(r);
                }
                else if (numero == 5)
                {
                    p = new Regina(r);
                }
                pedine.Add(p);
            }
        }
예제 #2
0
파일: Program.cs 프로젝트: Camerana/Scacchi
 static void DisegnaPedine(List <Pedina> pedine)
 {
     for (int y = 0; y < 10; y++)
     {
         for (int x = 0; x < 20; x++)
         {
             Pedina found = null;
             foreach (Pedina p in pedine)
             {
                 if (p.XPosition == x && p.YPosition == y)
                 {
                     found = p;
                     break;
                 }
             }
             if (found != null)
             {
                 Console.Write(found.Simbolo);
             }
             else
             {
                 Console.Write(".");
             }
         }
         Console.WriteLine();
     }
 }
예제 #3
0
        //testo il calcolo della posizione della pedina
        private void testaPosizione()
        {
            Pedina pedina;
            int    input  = 0;
            int    output = 0;
            int    valAtt = 0;

            //creo una pedina per i test con le specifiche dell'utente
            Console.WriteLine("######################################################################");
            pedina = new Pedina(0, numeroCaselle, TIPO_PEDINA);
            Console.WriteLine("Creazione Pedina con ID: " + pedina.idGiocatore
                              + ", Numero Caselle: " + numeroCaselle
                              + ", di tipo: " + pedina.tipoPedina);
            Console.WriteLine("######################################################################\n");

            Console.Write("Inserire il valore lancio dei dadi:");
            int.TryParse(Console.ReadLine(), out input);
            Console.Write("Inserire il valore atteso:");
            int.TryParse(Console.ReadLine(), out valAtt);

            Console.Write("La pedina è nel pozzo? [s/N]");
            if (Console.ReadLine().Equals("s"))
            {
                pedina.inPozzo = true;
            }
            Console.Write("La pedina è in prigione? [s/N]");
            if (Console.ReadLine().Equals("s") && pedina.inPozzo == false)
            {
                pedina.inPrigione = true;
            }
            Console.Write("La pedina deve attendere dei turni? [s/N]");
            if (Console.ReadLine().Equals("s") && pedina.inPozzo == false && pedina.inPrigione == false)
            {
                pedina.attendi(3);
            }

            //eseguo il test
            output = pedina.muovi(input);
            Console.WriteLine("La pedina è in posizione: " + output);

            if (pedina.vincitore == true)
            {
                Console.WriteLine("La pedina ha vinto la partita");
            }
            if (output == valAtt)
            {
                Console.WriteLine("Test superato! :)");
            }
            else
            {
                Console.WriteLine("Test non superato! :(");
            }
        }
예제 #4
0
 public Game(int side, GameState gameState, Pedina currentPlayer)
 {
     Scacchiera    = new Pedina?[side, side];
     GameState     = gameState;
     CurrentPlayer = currentPlayer;
 }