Exemplo n.º 1
0
        public void counterMinMaxAlfaBeta5()
        {
            ITavola     tavola  = new Tavola();
            AbsAIPlayer p1      = new MinMaxAlphaBeta(5);
            IPlayer     p2      = new HumanPlayer();
            IGioco      gioco   = new Gioco(tavola);
            Bant        bantumi = new Bant(gioco, p1, p2);
            int         i       = p1.Elaborazione(gioco);

            Assert.AreEqual(25298451, p1.OperationCount);
        }
Exemplo n.º 2
0
        public void counterMinMaxAlfaBeta9()
        {
            ITavola     tavola  = new Tavola();
            AbsAIPlayer p1      = new MinMaxAlphaBeta(9, new HeuristicFunctionValue(Lato.A));
            IPlayer     p2      = new HumanPlayer();
            IGioco      gioco   = new Gioco(tavola);
            Bant        bantumi = new Bant(gioco, p1, p2);
            int         i       = p1.Elaborazione(gioco);

            Assert.AreEqual(0, p1.OperationCount);
        }
Exemplo n.º 3
0
        public void counterMinMaxNew2()
        {
            ITavola     tavola  = new Tavola();
            AbsAIPlayer p1      = new MinMax(2);
            IPlayer     p2      = new HumanPlayer();
            IGioco      gioco   = new Gioco(tavola);
            Bant        bantumi = new Bant(gioco, p1, p2);
            int         i       = p1.Elaborazione(gioco);

            Assert.AreEqual(8727, p1.OperationCount);
        }
Exemplo n.º 4
0
        public void counterMinMaxAlfaBeta5HAsc()
        {
            ITavola     tavola  = new Tavola();
            AbsAIPlayer p1      = new MinMaxAlphaBeta(5, new HeuristicFunctionAscendent());
            IPlayer     p2      = new HumanPlayer();
            IGioco      gioco   = new Gioco(tavola);
            Bant        bantumi = new Bant(gioco, p1, p2);
            int         i       = p1.Elaborazione(gioco);

            Assert.AreEqual(81995855, p1.OperationCount);
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            Console.Clear();
            var g = new Gioco(TipoCarte.ScalaQuaranta);

            foreach (var giocatore in g.giocatori)
            {
                giocatore.Stampa(true);
                Console.WriteLine();
            }
            Console.WriteLine();//"♥,♦,♣,♠");
        }
Exemplo n.º 6
0
 public void Errore_InizializzazioneGioco_Troppigiocatori()
 {
     List <Player> giocatori = new List <Player>()
     {
         Player.Create("Cavallo"), Player.Create("Macchina"),
         Player.Create("Cappello"), Player.Create("FerroDaStiro"),
         Player.Create("FerroDaStiro"), Player.Create("Scarpa"),
         Player.Create("Cane"), Player.Create("Nave"),
         Player.Create("Moto")
     };
     Gioco gioco = Gioco.Create(giocatori);
 }
Exemplo n.º 7
0
        public void Muovi_Buca3_Result_4SemiBuca45E1InBuca6TurnoSuccessivoPC()
        {
            ITavola tavola = new Tavola();
            IGioco  gioco  = new Gioco(tavola);

            gioco.Muovi(3);
            Assert.AreEqual(0, tavola.Buche[3].Semi);
            Assert.AreEqual(4, tavola.Buche[4].Semi);
            Assert.AreEqual(4, tavola.Buche[5].Semi);
            Assert.AreEqual(1, tavola.Buche[6].Semi);
            Assert.AreEqual(Lato.A, gioco.ProssimoTurno);
        }
Exemplo n.º 8
0
        public void Muovi_Buca0_Result_4SemiSemiBuca123TurnoSuccessivoNicola()
        {
            ITavola tavola = new Tavola();
            IGioco  gioco  = new Gioco(tavola);

            gioco.Muovi(0);
            Assert.AreEqual(0, tavola.Buche[0].Semi);
            Assert.AreEqual(4, tavola.Buche[1].Semi);
            Assert.AreEqual(4, tavola.Buche[2].Semi);
            Assert.AreEqual(4, tavola.Buche[3].Semi);
            Assert.AreEqual(Lato.B, gioco.ProssimoTurno);
        }
Exemplo n.º 9
0
        public void Controlla_Mantenimento_Ordinamento_X_Turno()
        {
            var   orderGiocatori = false;
            Gioco gioco          = Gioco.Create(this.GIOCATORI);

            for (int i = 0; i < MAX_TURNI; i++)
            {
                gioco.UpdateTurno();

                if (gioco.Giocatori.SequenceEqual(this.GIOCATORI))
                {
                    orderGiocatori = true;
                }
            }

            Assert.AreEqual(orderGiocatori, true);
        }
Exemplo n.º 10
0
        public void Controlla_Ogni_Giocatore_Completa_Turni()
        {
            Gioco         gioco = Gioco.Create(this.GIOCATORI);
            PlayerService ps    = new PlayerService(MAX_CARTELLE, MAX_TURNI);

            for (int i = 0; i < MAX_TURNI; i++)
            {
                gioco.UpdateTurno();

                foreach (var giocatore in gioco.Giocatori)
                {
                    ps.Muovi(giocatore, Dado.Lancia());
                }
            }

            Assert.AreEqual(gioco.Turno, this.MAX_TURNI);
            Assert.AreEqual(gioco.Giocatori.TrueForAll(g => g.Turno == this.MAX_TURNI), true);
        }
Exemplo n.º 11
0
        public void Muovi_Buca3_12_Result_4SemiBuca45E1InBuca6TurnoSuccessivoPC()
        {
            ITavola tavola = new Tavola();
            IGioco  gioco  = new Gioco(tavola);

            gioco.Muovi(4);
            gioco.Muovi(12);

            Assert.AreEqual(4, tavola.Buche[0].Semi);
            Assert.AreEqual(4, tavola.Buche[1].Semi);
            Assert.AreEqual(3, tavola.Buche[2].Semi);
            Assert.AreEqual(3, tavola.Buche[3].Semi);
            Assert.AreEqual(0, tavola.Buche[4].Semi);
            Assert.AreEqual(4, tavola.Buche[5].Semi);
            Assert.AreEqual(1, tavola.Buche[6].Semi);
            Assert.AreEqual(4, tavola.Buche[7].Semi);
            Assert.AreEqual(3, tavola.Buche[8].Semi);
            Assert.AreEqual(3, tavola.Buche[9].Semi);
            Assert.AreEqual(3, tavola.Buche[10].Semi);
            Assert.AreEqual(3, tavola.Buche[11].Semi);
            Assert.AreEqual(0, tavola.Buche[12].Semi);
            Assert.AreEqual(1, tavola.Buche[13].Semi);
            Assert.AreEqual(Lato.A, gioco.ProssimoTurno);
        }
Exemplo n.º 12
0
        static void Main(string[] args)
        {
            int vittorieA = 0;
            int vittorieB = 0;
            int parita    = 0;
            //while (true)
            //{
            ITavola tavola = new Tavola();
            IPlayer p1     = new MinMaxAlphaBeta(4, new HeuristicFunctionValue(Lato.A));
            IPlayer p2     = new MinMaxAlphaBetaWithOpen(4, new HeuristicFunctionValue(Lato.B));
            //IPlayer p2 = new MinMaxPlayer(Convert.ToInt32(args[0]));
            IGioco gioco   = new Gioco(tavola);
            Bant   bantumi = new Bant(gioco, p1, p2);

            //gioco.Start();
            Render(gioco.Tavola);
            Console.WriteLine("Muove Player" + gioco.ProssimoTurno);
            Thread.Sleep(sleepTime);
            while (gioco.Vincitore == null && !gioco.Parita)
            {
                IPlayer player = bantumi.GetPlayer(gioco.ProssimoTurno);
                if (player is HumanPlayer)
                {
                    if (gioco.ProssimoTurno == Lato.A)
                    {
                        Console.WriteLine("Player" + Lato.A + " scegli una buca fra 0 e 5");
                    }
                    else
                    {
                        Console.WriteLine("Player" + Lato.B + " scegli una buca fra 7 e 12");
                    }
                    gioco.Muovi(ReadValue(gioco));
                }
                else
                {
                    if (player is IAIPlayer)
                    {
                        IAIPlayer aiPlayer = player as IAIPlayer;
                        int       i        = aiPlayer.Elaborazione(gioco);

                        Console.WriteLine("MUOVE" + i);

                        gioco.Muovi(i);
                    }
                }

                Render(gioco.Tavola);
                Thread.Sleep(sleepTime);
            }
            if (gioco.Parita)
            {
                Console.WriteLine("Parità");

                parita++;
            }
            else
            {
                if (gioco.Vincitore == Lato.A.ToString())
                {
                    Console.WriteLine("Ha vinto Player" + gioco.Vincitore);
                    Console.ReadLine();
                    //vittorieA++;
                }
                if (gioco.Vincitore == Lato.B.ToString())
                {
                    Console.WriteLine("Ha vinto Player" + gioco.Vincitore);
                    Console.ReadLine();
                    //vittorieB++;
                }
            }

            //}
        }
Exemplo n.º 13
0
        public void InizializzazioneGioco()
        {
            Gioco gioco = Gioco.Create(GIOCATORI);

            Assert.AreEqual(gioco.Giocatori.Find(g => g.Nome == "Cavallo") != null ? true : false, true);
        }
Exemplo n.º 14
0
 private void Exit_button_Click(object sender, EventArgs e)
 {
     Gioco.End();
 }
Exemplo n.º 15
0
 private void StartMenu_FormClosing(object sender, FormClosingEventArgs e)
 {
     Gioco.End();
 }