Esempio n. 1
0
        public void TestGameSave()
        {
            gameBuilder = new GameBuilderUnsaved();

            Player[] tabPlayer = new Player[2];
            tabPlayer[0] = new Player("Joueur1", "cyclops");
            tabPlayer[1] = new Player("Joueur2", "centaur");

            gameBuilder.AddStrategy("demo");
            gameBuilder.AddPlayer(tabPlayer);
            Game game = gameBuilder.Build();


            Assert.AreEqual(game.NbJoueur, 2);
            Assert.AreEqual(game.ListPlayer.Count, 2);
            Assert.AreEqual(game.ListPlayer[0].Name, "Joueur1");
            Assert.AreEqual(game.ListPlayer[0].RaceString, "cyclops");
            Assert.AreEqual(game.ListPlayer[0].EntityList.Count, 4);
            Assert.AreEqual(game.ListPlayer[1].Name, "Joueur2");
            Assert.AreEqual(game.ListPlayer[1].RaceString, "centaur");
            Assert.AreEqual(game.ListPlayer[1].EntityList.Count, 4);

            if (game.CurrEntity.Pos == 0)
            {
                game.Move(1);
            }
            else if (game.CurrEntity.Pos == 35)
            {
                game.Move(34);
            }
            else if (game.CurrEntity.Pos == 5)
            {
                game.Move(4);
            }
            else if (game.CurrEntity.Pos == 29)
            {
                game.Move(30);
            }

            //On enregistre une sauvegarde du game dans un fichier SaveFile
            game.Save("SaveFile.txt", -1);

            Assert.IsTrue(game.VerifEndGame() == -1);

            //On charge la sauvegarde
            gameBuilder = new GameBuilderSaved("C:\\Users\\agimenez\\Documents\\SaveFile.txt");

            Game gameLoad = gameBuilder.Build();

            Assert.AreEqual(gameLoad.NbJoueur, 2);
            Assert.AreEqual(gameLoad.ListPlayer.Count, 2);
            Assert.AreEqual(gameLoad.ListPlayer[0].Name, "Joueur1");
            Assert.AreEqual(gameLoad.ListPlayer[0].RaceString, "cyclops");

            //Assert.AreEqual(game.ListPlayer[0].EntityList.Count, 4);
            Assert.AreEqual(gameLoad.ListPlayer[1].Name, "Joueur2");
            Assert.AreEqual(gameLoad.ListPlayer[1].RaceString, "centaur");
            Assert.AreEqual(gameLoad.ListPlayer[1].EntityList.Count, 4);
        }
Esempio n. 2
0
        public void TestAttackDefense()
        {
            gameBuilder = new GameBuilderUnsaved();;

            Player[] tabPlayer = new Player[2];
            tabPlayer[0] = new Player("Joueur1", "cyclops");
            tabPlayer[1] = new Player("Joueur2", "centaur");

            gameBuilder.AddStrategy("demo");
            gameBuilder.AddPlayer(tabPlayer);
            Game game = gameBuilder.Build();

            game.StartTurn();
            game.CurrEntity.Pos = 2;

            //les movePoints ne sont sencés changer après un Skip() car ils sont au max
            double Oldpoint = game.CurrEntity.MovePoint;

            Assert.IsTrue(game.Skip());
            Assert.AreEqual(Oldpoint, game.CurrEntity.MovePoint);

            //On passe la main a l'enemy
            game.EndMyTurn();
            game.CurrEntity.Pos = 3;
            game.EndMyTurn();

            //c'est la seul entity dans la position 3 donc c'est la meilluer defense
            Assert.AreEqual(game.CurrEntity, game.Map.GetBestDefenser(2));

            game.Map.GetDistance(game.CurrEntity, 3);

            //Le move va decalancher un combat vu que il ya l'enemy est dans la case suivante
            //l'entité courante gagne et cela retourne true
            Assert.IsTrue(game.Move(3));
            Assert.AreEqual(game.GetActionNumber(), 1);

            //On met tout ses LifePoint à 0 pour que l'autre joueur gagne
            // FAUX ! On sort l'unité du plateau en lui mettant pour position -1
            foreach (Entity e in game.ListPlayer[0].EntityList)
            {
                //e.LifePoint = 0;
                game.Map.Remove(e.Pos, e);
            }
            //On passe la main à l'autre joueur
            game.EndMyTurn();
            Assert.AreEqual(game.VerifEndGame(), game.CurrPlayerNumber);
        }
Esempio n. 3
0
        public void TestMovePointTurn()
        {
            //construire le gameBuilder
            gameBuilder = new GameBuilderUnsaved();
            //declarer un tableau de Player
            Player[] tabPlayer = new Player[2];
            tabPlayer[0] = new Player("Joueur1", "cyclops");
            tabPlayer[1] = new Player("Joueur2", "centaur");
            //Ajouter la strategie au gameBuilder
            gameBuilder.AddStrategy("demo");
            //Ajouter les joueurs au gameBuilder
            gameBuilder.AddPlayer(tabPlayer);
            //declarer et construire le game
            Game game = gameBuilder.Build();

            //Debut des tours
            game.StartTurn();
            //recuperer les points de mouvement de l'netité courante du premier player
            double pt1 = game.CurrEntity.MovePoint;

            //faire un movement a la case 2
            //Et si il commence pas en 0 ?
            //game.Move(2);
            if (game.CurrEntity.Pos == 0)
            {
                game.Move(2);
            }
            if (game.CurrEntity.Pos == 35)
            {
                game.Move(33);
            }
            if (game.CurrEntity.Pos == 5)
            {
                game.Move(3);
            }
            if (game.CurrEntity.Pos == 30)
            {
                game.Move(32);
            }
            //recuperer les points de mouvement apres le move
            double pt2 = game.CurrEntity.MovePoint;

            //les points de mouvements doivent baisser
            Assert.IsTrue(pt1 > pt2);
            //passer la main à l'autre joueur
            game.NextPlayer();
            game.StartTurn();
            //recuperer la position de l'entité courante
            int pos1 = game.CurrEntity.Pos;

            //deplacer l'entité courante
            game.CurrEntity.Move(10, game.Map);
            //recuperer la nouvelle position
            int pos2 = game.CurrEntity.Pos;

            //tester si la position a changé
            Assert.IsTrue(pos1 != pos2);
            //faire un move qui teste si on peut
            game.Move(10);
            //recuperer la nouvelle position
            int pos3 = game.CurrEntity.Pos;

            //tester si la position n'a pas changé car on a que 3 points de mouvement
            Assert.IsTrue(pos3 == pos2);
        }