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); }
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); }
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); }