public void TestBolsterAllies() { Start game = new Start(); game.beginGame(); Legacy legacy = new Legacy(); List<int> firstList = new List<int>(); foreach (Hero hero in GameEngine.getHeroes()) { firstList.Add(hero.hand.Count()); } Card bolster = new Card("Images\\Hero\\Legacy\\BolsterAllies.png"); legacy.BolsterAllies(bolster); List<int> secondList = new List<int>(); foreach (Hero hero in GameEngine.getHeroes()) { secondList.Add(hero.hand.Count()); } for(int i = 0; i < secondList.Count(); i++) { Assert.AreEqual(secondList[i], firstList[i] + 1); } }
////Minions public void PterodactylThief(Card card) { card.cardType = Card.CardType.Environment; PterodactylThief ptero = new PterodactylThief(); GameEngine.getEnvironment().addMinion(ptero); Console.WriteLine("Pterodactyl Thief: " + ptero.lifeTotal); }
public Deck(string characterName, IPlayer.PlayerType playerType) { var files = Directory.GetFiles(Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName + "\\Images\\"+playerType+"\\" + characterName); cards = new List<Card>(); foreach (var fileName in files) { var cardTitle = Path.GetFileNameWithoutExtension(fileName); if (fileName.Contains(Utility.splitDelimeter)) { var number = Utility.getNumOfCards(cardTitle); var title = Utility.removeNumOfCards(cardTitle); Console.WriteLine("\n" + title); for (int k = 0; k < number; k++) { Card card = new Card(fileName); cards.Add(card); } } else { Card card = new Card(fileName); cards.Add(card); } } }
public void PrimordialPlantLife_Continuation(int discardedCards, Hero target, Card card) { if (discardedCards == 0) { DamageEffects.DealDamage(this,new List<Targetable>(){target}, 4, DamageEffects.DamageType.Toxic); } card.SendToGraveyard(this, cardsOnField); }
public void BreakDown() { drawThisCard = null; discardedCardsThisTurn = null; cardClickedArray = null; gridLayout = null; handViewer = null; }
public void ObsidianField(Card card) { card.cardType = Card.CardType.Ongoing; GameEngine.obsidianInPlay = true; foreach (Hero hero in GameEngine.getHeroes()) { } DamageEffects.damageDealtHandlers.Add(ObsidianFieldHandler); }
public object[] PrimordialPlantLife(Card card) { card.cardType = Card.CardType.OneShot; List<Hero> targets = getTargets(GameEngine.getHeroes()); DiscardedAction act = PrimordialPlantLife_Continuation; return new object[] { act, GameEngine.ForcedEffect.PrimordialPlant, GameEngine.getHeroes(), card }; }
public void TestDangerSense() { Start testGame = new Start(); testGame.beginGame(); Legacy testLegacy = new Legacy(); Card testDanger = new Card("Images\\Hero\\Legacy\\DangerSense.png"); testLegacy.DangerSense(testDanger); Assert.True(testLegacy.immuneToEnvironment); }
public void TestBackFistStrike() { Start testGame = new Start(); testGame.beginGame(); Legacy testLegacy = new Legacy(); Card testStrike = new Card("Images\\Hero\\Legacy\\BackFistStrike.png"); testLegacy.BackFistStrike(testStrike); Assert.AreEqual(GameEngine.getVillain().lifeTotal, 35); //change to 36 when done individually, 35 with all are executed, change when static problem fixed... }
public void TestBattalion() { Start game = new Start(); game.beginGame(); BaronBlade test = new BaronBlade(); Card battleCard = new Card("Images\\Villain\\BaronBlade\\BladeBattalion.png"); test.BladeBattalion(battleCard); Assert.AreEqual(GameEngine.getVillain().getMinions()[0].ToString(), (new BladeBattalion()).ToString()); }
public void TestFleshRepairNanites() { Start game = new Start(); game.beginGame(); BaronBlade test = new BaronBlade(); Card nanoCard = new Card("Images\\Villain\\BaronBlade\\FleshRepairNanites.png"); test.FleshRepairNanites(nanoCard); Assert.AreEqual(GameEngine.getVillain().lifeTotal, 50); }
public void testPtero() { Start testGame = new Start(); testGame.beginGame(); InsulaPrimus testEnvo = new InsulaPrimus(); Card testPtero = new Card("Images\\Environment\\InsulaPrimus\\2-PterodactylThief.png"); Assert.NotNull(testPtero); testEnvo.PterodactylThief(testPtero); testEnvo.addMinion(new PterodactylThief()); Assert.AreEqual(GameEngine.getEnvironment().getMinions().ToString(), testEnvo.getMinions().ToString()); }
public void testTRex() { Start testGame = new Start(); testGame.beginGame(); InsulaPrimus testEnvo = new InsulaPrimus(); Card testRex = new Card("Images\\Environment\\InsulaPrimus\\2-EnragedTRex.png"); Assert.NotNull(testRex); testEnvo.EnragedTRex(testRex); testEnvo.addMinion(new EnragedTRex()); Assert.AreEqual(GameEngine.getEnvironment().getMinions().ToString(), testEnvo.getMinions().ToString()); }
public void TestHastenDoom() { Start game = new Start(); game.beginGame(); BaronBlade test = new BaronBlade(); Card hastenCard = new Card("Images\\Villain\\BaronBlade\\HastenDoom.png"); test.HastenDoom(hastenCard); for(int i=0; i < GameEngine.getHeroes().Count; i++){ Assert.AreEqual(GameEngine.getHeroes()[i].lifeTotal, 32); } }
public void testObsidian() { Start testGame = new Start(); testGame.beginGame(); InsulaPrimus testEnvo = new InsulaPrimus(); Card testObsidian = new Card("Images\\Environment\\InsulaPrimus\\3-ObsidianField.png"); testEnvo.ObsidianField(testObsidian); Assert.True(GameEngine.obsidianInPlay); //fix this test Assert.True(false); //Assert.AreEqual(DamageEffects.GlobalDamageAmplification, 1); }
public void TestElbowSmash() { Start game = new Start(); game.beginGame(); Haka haka = (Haka)ObjectMother.TestHero(); BaronBlade baron = (BaronBlade)ObjectMother.TestVillain(); GameEnvironment env = (GameEnvironment)ObjectMother.TestEnvironment(); Minion min1 = ObjectMother.TestMinion(); GameEngine.getVillain().addMinion(min1); Minion min2 = ObjectMother.TestMinion(); GameEngine.getEnvironment().addMinion(min2); Card elbowSmash = new Card("Images\\Hero\\Haka\\ElbowSmash.png"); }
public void TestDominion() { GameEngine.TearDownGameEngine(); Start game = new Start(); game.beginGame(); Haka haka= (Haka)GameEngine.getHeroes().Find(x => x.GetType() == typeof(Haka)); Card envCard = new Card("Images\\Environment\\InsulaPrimus\\2-PterodactylThief.png"); envCard.cardType = Card.CardType.Environment; GameEngine.getEnvironment().cardsOnField.Add(envCard); Card dominion = new Card("Images\\Hero\\Haka\\3-Dominion.png"); haka.Dominion(dominion); GameEngine.getEnvironment().cardsOnField.Find(x=> x.cardType== Card.CardType.Environment).SendToGraveyard(GameEngine.getEnvironment(), GameEngine.getEnvironment().cardsOnField); }
public void TestEnduringIntercession() { GameEngine.TearDownGameEngine(); Start game = new Start(); game.beginGame(); Haka haka = (Haka)GameEngine.getHeroes().Find(x => x.GetType() == typeof(Haka)); Legacy legacy= (Legacy)GameEngine.getHeroes().Find(x => x.GetType() == typeof(Legacy)); InsulaPrimus env = (InsulaPrimus)GameEngine.getEnvironment(); Card enduringIntercessionCard = new Card("Images\\Hero\\Haka\\3-EnduringIntercession.png"); haka.EnduringIntercession(enduringIntercessionCard); DamageEffects.DealDamage(env, new List<Targetable>(){legacy, haka},4, DamageEffects.DamageType.Melee); Assert.AreEqual(legacy.maxHealth, legacy.lifeTotal); Assert.AreEqual(haka.maxHealth - 8, haka.lifeTotal); //haka takes his own and legacy's damage //test that damage wasn't absorbed for damage not from environment var hakaTotal = haka.lifeTotal; DamageEffects.DealDamage(legacy, new List<Targetable>() { legacy, haka }, 4, DamageEffects.DamageType.Melee); Assert.AreEqual(legacy.maxHealth -4, legacy.lifeTotal); //legacy did take 4 damage Assert.AreEqual(hakaTotal - 4, haka.lifeTotal); //haka takes ONLY his own damage }
public void TestHakaOfBattle() { Start game = new Start(); game.beginGame(); Haka haka = (Haka)ObjectMother.TestHero(); Card hakaOfBattleCard = new Card("Images\\Hero\\Haka\\HakaOfBattle.png"); int startLifeTotal = GameEngine.getVillain().lifeTotal; int startHandCount = haka.hand.Count; haka.DiscardCard(haka.hand[0]); haka.HakaOfBattle(hakaOfBattleCard); Assert.True(false); //int damageAmount= 2 + haka.damageAmplificationFromPlayer; //DamageEffects.DealDamageToVillain(GameEngine.getVillain(), damageAmount, DamageEffects.DamageType.Melee); //Assert.AreEqual(GameEngine.getVillain().lifeTotal, startLifeTotal - 3); ////needs to reset haka's damage amp after first damage has been used //int damageAmount2 = 2 + haka.damageAmplificationFromPlayer; //DamageEffects.DealDamageToVillain(GameEngine.getVillain(), damageAmount, DamageEffects.DamageType.Melee); //Assert.AreEqual(GameEngine.getVillain().lifeTotal, startLifeTotal - 5); //also need to test that it doesn't use the bonus damage until he is dealing it for the first time }
private void drawNPCBoard(Villain villain, GameEnvironment env) { string villainName = villain.getCharacterName(); Card villainCard = new Card(VILLAIN_IMAGE_PATH + villainName + "/NonPlayable/" + villainName + "_initial.png"); villainCard.MouseDown += new MouseButtonEventHandler(Mouse_Click_Listener); Card villainDeck = new Card(VILLAIN_IMAGE_PATH + villainName + "/NonPlayable/" + villainName + "_back.png"); villainDeck.MouseDown += new MouseButtonEventHandler(Mouse_Click_Listener); Card villainInst = new Card(VILLAIN_IMAGE_PATH + villainName + "/NonPlayable/" + villainName + "_instr_front.png"); villainInst.MouseDown += new MouseButtonEventHandler(Mouse_Click_Listener); Card envDeck = new Card("Images/Environment/" + env.characterName + "/NonPlayable/" + "insula_primus_back.png"); envDeck.MouseDown += new MouseButtonEventHandler(Mouse_Click_Listener); Utility.addElementToGrid(villainCard, VILLAIN_ROW, CHARACTER_COLUMN, gridLayout); Utility.addElementToGrid(villainInst, VILLAIN_ROW, INSTRUCTION_COLUMN, gridLayout); Utility.addElementToGrid(villainDeck, VILLAIN_ROW, DECK_COLUMN, gridLayout); Utility.addElementToGrid(envDeck, ENVIRONMENT_ROW, DECK_COLUMN, gridLayout); addHealthLabel(villain, VILLAIN_ROW); Card envGraveyard = new Card(GRAVEYARD_IMAGE_PATH); envGraveyard.MouseDown += new MouseButtonEventHandler(Mouse_Click_Listener); Utility.addElementToGrid(envGraveyard, ENVIRONMENT_ROW, GRAVEYARD_COLUMN, gridLayout); Card villainGraveYard = new Card(GRAVEYARD_IMAGE_PATH); villainGraveYard.MouseDown += new MouseButtonEventHandler(Mouse_Click_Listener); Utility.addElementToGrid(villainGraveYard, VILLAIN_ROW, GRAVEYARD_COLUMN, gridLayout); }
public void TestGroundPoundWithExistingDamageHandler() { GameEngine.TearDownGameEngine(); Start game = new Start(); game.beginGame(); Haka haka = (Haka)GameEngine.getHeroes().Find(x => x.GetType() == typeof(Haka)); Card groundPoundCard = new Card("Images\\Hero\\Haka\\2-GroundPound.png"); var insulaPrimus =(InsulaPrimus)GameEngine.getEnvironment(); DamageEffects.damageDealtHandlers.Add(insulaPrimus.ObsidianFieldHandler); haka.GroundPound_Continuation(0, groundPoundCard); int damageAmount = 20; DamageEffects.DealDamage(insulaPrimus, new List<Targetable>() { haka }, damageAmount, DamageEffects.DamageType.Melee); Assert.AreEqual(haka.maxHealth, haka.lifeTotal); }
public void EnragedTRex(Card card) { EnragedTRex rex = new EnragedTRex(); GameEngine.getEnvironment().addMinion(rex); Console.WriteLine("Enraged T-Rex: " + rex.lifeTotal); }
public void VolcanicEruption(Card card) { List<Hero> targets = getTargets(GameEngine.getHeroes()); GameEngine.volcanoInPlay = true; }
public void TestGroundPound() { GameEngine.TearDownGameEngine(); Start game = new Start(); game.beginGame(); Haka haka = (Haka)GameEngine.getHeroes().Find(x => x.GetType() == typeof(Haka)); Card groundPoundCard = new Card("Images\\Hero\\Haka\\2-GroundPound.png"); haka.GroundPound_Continuation(0, groundPoundCard); int damageAmount = 20; //tests damage from nonhero DamageEffects.DealDamage(GameEngine.getEnvironment(), new List<Targetable>() { haka }, damageAmount, DamageEffects.DamageType.Melee); Assert.AreEqual(haka.maxHealth, haka.lifeTotal); //tests damage from hero DamageEffects.DealDamage(haka, new List<Targetable>() { haka }, damageAmount, DamageEffects.DamageType.Melee); Assert.AreEqual(haka.maxHealth-damageAmount, haka.lifeTotal); }
public void TestTaMoko() { Start game = new Start(); game.beginGame(); Haka haka = (Haka)ObjectMother.TestHero(); int startingLifeTotal = haka.lifeTotal; Card tamokoCard = new Card("Images\\Hero\\Haka\\TaMoko.png"); haka.TaMoko(tamokoCard); Assert.True(false); //DamageEffects.DealDamgae(haka, 2, DamageEffects.DamageType.Melee); //Assert.AreEqual(startingLifeTotal - 1, haka.lifeTotal); tamokoCard.SendToGraveyard(haka, haka.cardsOnField); //DamageEffects.DealDamageToHero(haka, 2, DamageEffects.DamageType.Melee); //Assert.AreEqual(startingLifeTotal - 3, haka.lifeTotal); }
public void VelociraptorPack(Card card) { VelociraptorPack velo = new VelociraptorPack(); GameEngine.getEnvironment().addMinion(velo); Console.WriteLine("Velociraptor Pack: " + velo.lifeTotal); }
public void RiverOfLava(Card card) { List<Hero> targets = getTargets(GameEngine.getHeroes()); GameEngine.lavaInPlay = true; }
public void TestMere() { GameEngine.TearDownGameEngine(); Haka testHaka= new Haka(); BaronBlade testVil = new BaronBlade(); InsulaPrimus env = new InsulaPrimus(); List<Hero> myHeroes = new List<Hero>() { testHaka }; typeof(GameEngine).GetField("heroes", BindingFlags.Static| BindingFlags.NonPublic).SetValue(null, myHeroes); typeof(GameEngine).GetField("villain", BindingFlags.Static | BindingFlags.NonPublic).SetValue(null, testVil); typeof(GameEngine).GetField("environment", BindingFlags.Static | BindingFlags.NonPublic).SetValue(null, env); Card mere= new Card("Images\\Hero\\Haka\\3-Mere.png"); //deals damage to villain because cardClickedArray is empty GameBoard.cardClickedArray = new List<Card>(); testHaka.MerePower(mere, null); Assert.AreEqual(5, testHaka.hand.Count); Assert.AreNotEqual(GameEngine.getVillain().maxHealth, GameEngine.getVillain().lifeTotal); }
private void addButtons() { sideBar.Children.RemoveRange(0, sideBar.Children.Count); if (((Targetable)GameEngine.getCurrentPlayer()).lifeTotal <= 0) { Card death = new Card("Images\\Hero\\" + GameEngine.getCurrentPlayer().characterName + "\\" + GameEngine.getCurrentPlayer().characterName.ToLower() + "_death.jpg"); Grid.SetColumn(death, 1); List<Card> deadHand = new List<Card>(); deadHand.Add(death); initGrid(deadHand); Button power1Button = new Button(); power1Button.Content = "Power 1"; power1Button.Click += new RoutedEventHandler(Power1_Action); Button power2Button = new Button(); power2Button.Content = "Power 2"; power2Button.Click += new RoutedEventHandler(Power2_Action); Button power3Button = new Button(); power3Button.Content = "Power 3"; power3Button.Click += new RoutedEventHandler(Power3_Action); } else { Button discardButton = new Button(); discardButton.Content = "Discard"; discardButton.Click += new RoutedEventHandler(Discard_Action); Button cancelButton = new Button(); cancelButton.Content = "Cancel Action"; cancelButton.Click += new RoutedEventHandler(Cancel_Action); Button closeButton = new Button(); closeButton.Content = "Close"; closeButton.Click += new RoutedEventHandler(Close_Action); Button endTurnButton = new Button(); endTurnButton.Content = "End Turn!"; endTurnButton.Click += new RoutedEventHandler(End_Turn); if (!GameEngine.playerPlayedCard) { Button playButton = new Button(); playButton.Content = "Play Card"; playButton.Click += new RoutedEventHandler(Play_Card); sideBar.Children.Add(playButton); } if (!GameEngine.playerUsedPower) { Button powerButton = new Button(); powerButton.Content = "Player Power"; powerButton.Click += new RoutedEventHandler(Power_Action); sideBar.Children.Add(powerButton); } sideBar.Children.Add(cancelButton); sideBar.Children.Add(closeButton); sideBar.Children.Add(endTurnButton); sideBar.Children.Add(discardButton); } }
public void TestRampage() { //add mocks for GameEngine.getHeroes() and GameEngine.getVillain() Start game = new Start(); game.beginGame(); Haka haka = (Haka)ObjectMother.TestHero(); Minion min1 = ObjectMother.TestMinion(); GameEngine.getVillain().addMinion(min1); Card rampageCard = new Card("Images\\Hero\\Haka\\Rampage.png"); haka.Rampage(rampageCard); Assert.AreEqual(GameEngine.getVillain().lifeTotal, 35); }