Пример #1
0
        public void StartBattle()
        {
            var encounter = new Encounter(new Goomba(), new SpikedGoomba());
            var battle    = new Battle.Battle(new List <Hero> {
                mario
            }, encounter);

            battle.Start();
            Assert.IsTrue(battle.IsStarted());
            Assert.IsFalse(battle.IsEnded());
        }
Пример #2
0
        public void jr_troopa_1()
        {
            Assert.IsTrue(!battle.IsStarted(), $"battle state = {battle.State.ToString()}");
            Assert.IsTrue(!battle.ActionMenu.Showing);
            Assert.IsTrue(!battle.OptionsListMenu.Showing);
            Assert.IsTrue(battle.OptionsListMenu.Active == null);
            Assert.IsTrue(battle.TurnSystem.Active == Mario);
            //0:28
            battle.Start();
            Assert.IsTrue(battle.TextBubbleSystem.Showing);
            Assert.IsTrue(!battle.ActionMenu.Showing);
            battle.TextBubbleSystem.Continue();
            battle.TextBubbleSystem.Continue();
            battle.TextBubbleSystem.Continue();
            Assert.IsTrue(@battle.TextBubbleSystem.Showing);
            //0:20 4th, press a
            battle.TextBubbleSystem.Continue();
            Assert.IsTrue(!battle.TextBubbleSystem.Showing);
            Assert.IsTrue(battle.ActionMenu.Showing);
            battle.ActionMenu.MoveTargetDown();
            Assert.IsTrue(battle.ActionMenu.ActiveAction.Name == "Hammer");
            battle.ExecuteFromActionMenu();
            Assert.IsTrue(battle.TargetSystem.Showing);
            Assert.IsTrue(battle.TargetSystem.Actives[0] == JrTroopa);
            battle.ConfirmTarget();
            //0:25 mario hammers jr troopa for one   -1
            Assert.IsTrue(JrTroopa.Health.CurrentValue == 4);
            Assert.IsTrue(battle.TextBubbleSystem.Showing);
            //zooms into goompa for him to talk
            //one chat bubble
            battle.TextBubbleSystem.Continue();
            Assert.IsTrue(!battle.TextBubbleSystem.Showing);
            //0:29
            //then jr troopa attacks
            Assert.IsTrue(battle.TurnSystem.LastActive == "JrTroopa", $"{battle.TurnSystem.Active}");

            //0:32
            //mario takes one, mario hp = 9
            Assert.IsTrue(Mario.Health.CurrentValue == 9);
            Assert.IsTrue(battle.ActionMenu.Showing);
            battle.ActionMenu.MoveTargetUp();
            Assert.IsTrue(battle.ActionMenu.ActiveAction.Name == "Jump");
            battle.ExecuteFromActionMenu();
            Assert.IsTrue(battle.TargetSystem.Showing);
            Assert.IsTrue(battle.TargetSystem.Actives[0] == JrTroopa);
            //0:36
            //mario jumps on jr troopa for one -2
            battle.ConfirmTarget();
            Assert.IsTrue(JrTroopa.Health.CurrentValue == 3);
            Assert.IsTrue(battle.TextBubbleSystem.Showing, $"");
            Assert.IsTrue(Mario.Health.CurrentValue == 9);
            Assert.IsTrue(battle.TurnSystem.LastActive == "JrTroopa", $"{battle.TurnSystem.Active}");
            Assert.IsTrue(battle.TextBubbleSystem.Showing, $"");
            //camera resets
            //jr troop starts talking,//text shows
            //1st text
            battle.TextBubbleSystem.Continue();
            Assert.IsTrue(!battle.TextBubbleSystem.Showing, $"");
            //0:39
            //jrs troops turn, he jumps on mario, mario hp = 8
            Assert.IsTrue(Mario.Health.CurrentValue == 8, $"mario health {Mario.Health.CurrentValue}");

            //shows actions of mario,jump is selected
            Assert.IsTrue(battle.ActionMenu.Showing);
            Assert.IsTrue(battle.ActionMenu.ActiveAction.Name == "Jump");
            //press a, confirm jump
            battle.ExecuteFromActionMenu();
            //showing targeting on jr.troopa
            Assert.IsTrue(battle.TargetSystem.Actives[0] == JrTroopa);
            //press a, confirming target
            battle.ConfirmTarget();
            //0:43
            //mario jumps on jr troopa for one -3
            Assert.IsTrue(JrTroopa.Health.CurrentValue == 2);
            //camera resets
            //0:46
            //jr troop starts talking,//text shows
            Assert.IsTrue(battle.TextBubbleSystem.Showing);
            //0:48
            //1st text press a to continue text
            battle.TextBubbleSystem.Continue();
            //0:49
            //jr troopa jumps on mario, mario hp = 7
            Assert.IsTrue(Mario.Health.CurrentValue == 7, $"mario health {Mario.Health.CurrentValue}");
            //shows actions of mario, jump is selected
            Assert.IsTrue(battle.ActionMenu.Showing);
            Assert.IsTrue(battle.ActionMenu.ActiveAction.Name == "Jump");
            //move down actions, hammer is selected
            battle.ActionMenu.MoveTargetDown();
            //0:52 press a, confirm hammer
            battle.ExecuteFromActionMenu();
            //showing targeting on jr.troopa
            //press a, confirming target
            battle.ConfirmTarget();
            //0:54 mario hammers jr troopa for one -4
            Assert.IsTrue(JrTroopa.Health.CurrentValue == 1);
            //0:56 goompa tells mario he almost has it!
            //one chat bubble
            Assert.IsTrue(battle.TextBubbleSystem.Showing);
            //0:59 press a, chat continues
            battle.TextBubbleSystem.Continue();
            //then jr troopa talks, zooms in
            //1st chat bubble
            Assert.IsTrue(battle.TextBubbleSystem.Showing);
            battle.TextBubbleSystem.Continue();
            //1:04 2nd chat bubble
            battle.TextBubbleSystem.Continue();
            // 3rd chat bubble, press a
            //he uses a power jump! hits mario for 2
            //1:07
            //mario is at 5/10
            Assert.IsTrue(Mario.Health.CurrentValue == 5, $"mario health {Mario.Health.CurrentValue}");
            //move up actions, jump is selected
            battle.ActionMenu.MoveTargetUp();
            Assert.IsTrue(battle.ActionMenu.ActiveAction.Name == "Jump");
            //press a, confirm jump
            battle.ExecuteFromActionMenu();
            //showing targeting on jr.troopa
            //press a, confirming target
            battle.ConfirmTarget();
            //1:12
            //mario jumpd on jr troopa for one -5
            //goompa talks, shows text
            Assert.IsTrue(battle.TextBubbleSystem.Showing);
            Assert.IsTrue(!battle.IsEnded());
            //1:17
            //1st text, press a
            battle.TextBubbleSystem.Continue();
            //2nd text, press a
            battle.TextBubbleSystem.Continue();
            //3rd text, press a
            battle.TextBubbleSystem.Continue();
            //4rd text, press a
            battle.TextBubbleSystem.Continue();
            //battle done
            Assert.IsTrue(battle.IsEnded());
        }
Пример #3
0
        public void goomba_king_tattle_fire_flower()
        {
            Assert.IsTrue(battle.TurnSystem.Active == mario);
            //0:28
            Assert.IsTrue(battle.ActionMenu.Showing);

            Assert.IsTrue(battle.ActionMenu.ActiveAction != null);
            Assert.IsTrue(battle.ActionMenu.ActiveAction == mario.Actions[2] && battle.ActionMenu.ActiveAction.Name == "Jump");
            battle.ActionMenu.MoveTargetUp();
            Assert.IsTrue(battle.ActionMenu.ActiveAction == mario.Actions[1] && battle.ActionMenu.ActiveAction.Name == "Items");
            battle.TurnSystem.Swap();
            Assert.IsTrue(battle.TurnSystem.Active == goombario);
            Assert.IsTrue(battle.ActionMenu.ActiveAction == goombario.Actions[1] && battle.ActionMenu.ActiveAction.Name == "Abilities");
            battle.ShowOptionsMenu();
            Assert.IsTrue(battle.OptionsListMenu.Showing);
            Assert.IsFalse(battle.ActionMenu.Showing);
            Assert.IsTrue(battle.OptionsListMenu.Items.Length == 2);
            battle.OptionsListMenu.MoveTargetDown();
            //press a (tattle is pressed)
            Assert.IsTrue(battle.GetActiveOptionName() == "Tattle", "was not tattle");
            battle.ShowTargeting(battle.OptionsListMenu.Active);
            Assert.IsFalse(battle.OptionsListMenu.Showing, $"OptionsListMenu showing = {battle.OptionsListMenu.Showing}");
            Assert.IsTrue(battle.TargetSystem.Actives[0] == GoombaKing, $"target is not goombaking, target = {battle.TargetSystem.Actives[0]}");
            battle.ConfirmTarget();
            Assert.IsTrue(battle.TextBubbleSystem.Showing);
            //press a(text is continued) 0:40
            battle.TextBubbleSystem.Continue();
            Assert.IsTrue(battle.TextBubbleSystem.Showing);
            battle.TextBubbleSystem.Continue();
            Assert.IsTrue(battle.TextBubbleSystem.Showing);
            battle.TextBubbleSystem.Continue();
            Assert.IsTrue(battle.TextBubbleSystem.Showing);
            battle.TextBubbleSystem.Continue();
            Assert.IsFalse(battle.TextBubbleSystem.Showing);
            //this is failing somethinh anout goombario?
            Assert.IsTrue(battle.TurnSystem.Active == mario, $"{battle.TurnSystem.Active}");
            Assert.IsTrue(battle.ActionMenu.ActiveAction == mario.Actions[1] && battle.ActionMenu.ActiveAction.Name == "Items", $"{battle.ActionMenu.ActiveAction.Name}");
            battle.ShowOptionsMenu();
            Assert.IsTrue(battle.OptionsListMenu.Items.Length == 3);
            battle.OptionsListMenu.MoveTargetDown();

            Assert.IsTrue(battle.GetActiveOptionName() == "Fire Flower", $"was not Fire Flower, {battle.GetActiveOptionName()}");
            //excuting option should show targeting!
            battle.ShowTargeting(battle.OptionsListMenu.Active);
            battle.ConfirmTarget();
            int goombaKingHealth = battle.Enemies.First(enemy => enemy == GoombaKing).Health.CurrentValue;

            Assert.IsTrue(condition: goombaKingHealth == 7, message: $"was not GoombaKing, {goombaKingHealth}");
            Enemy redGoomba = battle.Enemies.First(enemy => enemy is RedGoomba);

            Assert.IsTrue(condition: redGoomba.IsDead, message: $"redGoomba is not dead, {redGoomba}");
            Enemy blueGoomba = battle.Enemies.First(enemy => enemy is NewBlueGoomba);

            Assert.IsTrue(condition: blueGoomba.IsDead, message: $"blueGoomba is not dead, {blueGoomba}");
            Assert.IsTrue(battle.TurnSystem.LastActive == GoombaKing.GetType().Name, $"{battle.TurnSystem.Active}");
            //then the enviroment hits mario with three goomnuts 1:04
            Assert.IsTrue(mario.Health.CurrentValue == 8, $"{mario.Health.CurrentValue}");
            Assert.IsTrue(battle.TurnSystem.Active == mario, $"{battle.TurnSystem.Active}");
            Assert.IsTrue(battle.ActionMenu.Showing);
            battle.ActionMenu.MoveTargetDown();
            battle.ActionMenu.MoveTargetDown();
            Assert.IsTrue(battle.ActionMenu.ActiveAction.Name == "Hammer", $"action = {battle.ActionMenu.ActiveAction.Name}");
            Assert.IsTrue(battle.ActionMenu.Showing);
            battle.ExecuteFromActionMenu();
            Assert.IsTrue(!battle.ActionMenu.Showing && !battle.OptionsListMenu.Showing, $"{battle.OptionsListMenu.Showing}");
            Assert.IsTrue(battle.TargetSystem.Actives[0] == GoombaKing, $"{battle.OptionsListMenu.Showing}");
            battle.TargetSystem.MoveTargetLeft();
            Assert.IsTrue(battle.TargetSystem.Actives[0] is GoomnutTree, $"{battle.OptionsListMenu.Showing}");
            battle.ConfirmTarget();
            //goomba king takes 3 damage 1:14 (goombaking = 4)
            Assert.IsTrue(condition: GetGoombaKingHealth() == 4, message: $"was not GoombaKing, {goombaKingHealth}");
            Assert.IsTrue(battle.TurnSystem.Active == goombario);
            Assert.IsTrue(battle.ActionMenu.ActiveAction == goombario.Actions[1] && battle.ActionMenu.ActiveAction.Name == "Abilities");
            battle.ExecuteFromActionMenu();
            Assert.IsTrue(battle.GetActiveOptionName() == "Headbonk", $"was not Headbonk {battle.GetActiveOptionName()}");
            battle.ExecuteFromOptionMenu();
            Assert.IsTrue(battle.TargetSystem.Actives[0] == GoombaKing, $"{battle.OptionsListMenu.Showing}");
            battle.ConfirmTarget();
            Assert.IsTrue(condition: GetGoombaKingHealth() == 3, message: $"was not 3, {goombaKingHealth}");
            Assert.IsTrue(battle.ActionMenu.ActiveAction.Name == "Hammer", $"action = {battle.ActionMenu.ActiveAction.Name}");
            battle.ActionMenu.MoveTargetUp();
            Assert.IsTrue(battle.ActionMenu.ActiveAction == mario.Actions[2] && battle.ActionMenu.ActiveAction.Name == "Jump");
            battle.ExecuteFromActionMenu();
            battle.OptionsListMenu.MoveTargetDown();
            Assert.IsTrue(battle.GetActiveOptionName() == "Power Jump", $"was not Power Jump, {battle.GetActiveOptionName()}");
            battle.ExecuteFromOptionMenu();
            Assert.IsTrue(battle.TargetSystem.Showing);
            Assert.IsTrue(battle.TargetSystem.Actives[0] == GoombaKing, $"{battle.OptionsListMenu.Showing}");
            battle.ConfirmTarget();
            Assert.IsTrue(condition: GetGoombaKingHealth() == 0, message: $"was not GoombaKing, {goombaKingHealth}");
            Assert.IsTrue(condition: battle.IsEnded(), message: $"was not GoombaKing, {goombaKingHealth}");
        }
Пример #4
0
        public void magikoopa_1()
        {
            Assert.IsTrue(!battle.IsStarted(), $"battle state = {battle.State.ToString()}");
            Assert.IsTrue(!battle.ActionMenu.Showing);
            Assert.IsTrue(!battle.OptionsListMenu.Showing);
            Assert.IsTrue(battle.OptionsListMenu.Active == null);
            Assert.IsTrue(battle.TurnSystem.Active == Mario);
            //0:10
            battle.Start();
            Assert.IsTrue(!battle.TextBubbleSystem.Showing);
            //menu is shown with jump selected
            Assert.IsTrue(battle.ActionMenu.ActiveAction.Name == "Jump");
            Assert.IsTrue(battle.TargetSystem.Actives == null);
            battle.Execute();
            Assert.IsTrue(battle.OptionsListMenu.Showing);
            //0:11 jump option is chosen, and ablities are shown. Jump and power jump are shown
            Assert.IsTrue(battle.ActiveOptionName == "Jump");

            Assert.IsTrue(battle.TargetSystem.Actives == null);
            battle.Execute();
            //0:12 targeting system is shown with magikoop selected
            Assert.IsTrue(battle.TargetSystem.Actives[0] == Magikoopa);
            //0:14 cancel is pressed
            battle.Cancel();
            //battle.Cancel();
            Assert.IsTrue(battle.OptionsListMenu.Showing);
            Assert.IsTrue(battle.ActiveOptionName == "Jump");
            Assert.IsTrue(battle.TargetSystem.Actives == null);
            //0:14 ablities are reshown. Jump and power jump are shown
            //0:14 cancel is pressed
            battle.Cancel();
            //0:14 menu are reshown. Jump is selected
            Assert.IsTrue(!battle.OptionsListMenu.Showing);
            Assert.IsTrue(battle.ActionMenu.Showing);
            Assert.IsTrue(battle.ActionMenu.ActiveAction.Name == "Jump");
            //0:16 partner swap
            battle.TurnSystem.Swap();
            //0:16 goombario is active
            Assert.IsTrue(battle.TurnSystem.Active == Goombario);
            //0:16 ablities is highlighted
            Assert.IsTrue(battle.ActionMenu.Showing);
            Assert.IsTrue(battle.ActionMenu.ActiveAction.Name == "Abilities");
            //0:17 press a
            Assert.IsTrue(!battle.OptionsListMenu.Showing);
            battle.Execute();
            Assert.IsTrue(battle.OptionsListMenu.Showing);
            //0:17 ablities are shown. headbonk and tattle are shown
            Assert.IsTrue(battle.ActiveOptionName == "Headbonk");
            battle.MoveTargetDown();
            Assert.IsTrue(battle.ActiveOptionName == "Tattle");
            battle.Execute();
            Assert.IsTrue(!battle.OptionsListMenu.Showing);
            Assert.IsTrue(!battle.ActionMenu.Showing);
            Assert.IsTrue(battle.TargetSystem.Showing);
            Assert.IsTrue(battle.TargetSystem.Actives[0] == Magikoopa, $"{battle.TargetSystem.Actives[0]}");
            //0:20 text bubble showing
            battle.Execute();
            Assert.IsTrue(!battle.OptionsListMenu.Showing);
            Assert.IsTrue(!battle.ActionMenu.Showing);
            Assert.IsTrue(!battle.TargetSystem.Showing);
            Assert.IsTrue(battle.TextBubbleSystem.Showing);
            //0:23 press a
            battle.Execute();
            //0:25 press a
            battle.Execute();
            //0:29 press a
            battle.Execute();
            //0:31 now mario is active
            Assert.IsTrue(!battle.TextBubbleSystem.Showing);
            //0:31 jump action is selected
            Assert.IsTrue(battle.TurnSystem.Active == Mario);
            //0:32 press a
            Assert.IsTrue(battle.ActionMenu.ActiveAction.Name == "Jump");
            Assert.IsTrue(battle.ActionMenu.Showing);
            battle.Execute();
            Assert.IsTrue(!battle.ActionMenu.Showing);
            Assert.IsTrue(battle.ActiveOptionName == "Jump");
            //0:32 jump option is chosen, and ablities are shown. Jump and power jump are shown
            //down press
            battle.MoveTargetDown();
            //0:32 power jump is highlighted
            Assert.IsTrue(battle.ActiveOptionName == "Power Jump");
            //0:32 press a
            battle.Execute();
            //0:32 targeting system is shown with magikoop selected
            Assert.IsTrue(battle.TargetSystem.Actives[0] == Magikoopa, $"{battle.TargetSystem.Actives[0]}");
            //0:33 press a
            battle.ActionCommandCenter.AddSuccessfulPress();
            battle.ActionCommandCenter.AddSuccessfulPress();
            Assert.IsTrue(Magikoopa.IsFlying);
            battle.Execute();
            //0:34 a is prssedat correct time for bonus! Nice
            Assert.IsTrue(Magikoopa.Health.CurrentValue == 4, $"Magikoop hp = {Magikoopa.Health.CurrentValue}");
            //0:35 damage is dealt
            Assert.IsTrue(!Magikoopa.IsFlying);
            //0:36 after damage event added, magikoopa falls off broomstick, she is now on the ground
            //0:38 magikoopa's turn. she shoots mario with a shape blast
            Assert.IsTrue(Mario.Health.CurrentValue == 8);
            //0:40 press a, mario blocks
            //0:40 mario takes 2 damage
            //0:42 menu is shown with jump selected
            //0:42 move down
            battle.MoveTargetDown();
            Assert.IsTrue(battle.ActionMenu.Showing);
            Assert.IsTrue(battle.ActionMenu.ActiveAction.Name == "Hammer");
            //0:42 hammer action is selected
            //0:43 press a to go to hammer options
            battle.Execute();

            Assert.IsTrue(battle.OptionsListMenu.Showing);
            Assert.IsTrue(battle.OptionsListMenu.Items.Count() == 2);
            Assert.IsTrue(battle.GetActiveOptionName() == "Hammer", $"ActiveOptionName == {battle.GetActiveOptionName()}");
            //0:44 move down to hammer throw
            battle.MoveTargetDown();
            Assert.IsTrue(battle.GetActiveOptionName() == "Hammer Throw", $"ActiveOptionName == {battle.GetActiveOptionName()}");
            //0:46 press a
            battle.Execute();
            //0:46 target system showing on a magikoopa
            Assert.IsTrue(!battle.ActionMenu.Showing);
            Assert.IsTrue(!battle.OptionsListMenu.Showing);
            Assert.IsTrue(battle.TargetSystem.Showing);
            Assert.IsTrue(battle.TargetSystem.Actives[0] == Magikoopa);
            Assert.IsTrue(Magikoopa.Health.CurrentValue == 4, $"Magi HP = {Magikoopa.Health.CurrentValue}");
            //magikoopa is hit, she is now at 2
            battle.ActionCommandCenter.AddSuccessfulPress();
            battle.Execute();
            Assert.IsTrue(Magikoopa.Health.CurrentValue == 2, $"Magi HP = {Magikoopa.Health.CurrentValue}");
            //0:53 now its goombario's turn
            Assert.IsTrue(battle.TurnSystem.Active == Goombario);
            Assert.IsTrue(battle.ActionMenu.Showing);
            Assert.IsTrue(battle.ActionMenu.ActiveAction.Name == "Abilities");
            battle.Execute();
            //0:54 press a, abblities options with headbonk selected
            Assert.IsTrue(!battle.ActionMenu.Showing);
            Assert.IsTrue(battle.OptionsListMenu.Showing);
            Assert.IsTrue(!battle.TargetSystem.Showing);
            Assert.IsTrue(battle.ActiveOptionName == "Headbonk");
            //0:55 press a, headbonl selected, now targeting shows
            battle.Execute();
            Assert.IsTrue(battle.TargetSystem.Showing);
            Assert.IsTrue(battle.TargetSystem.Actives[0] == Magikoopa);
            //0:55 press a, goombario is about to hit magijoopa
            battle.ActionCommandCenter.AddSuccessfulPress();
            battle.Execute();
            //0:56 press a, a is pressed at the right time of action command so goombario gets second bounce
            //0:59 magikoopa is dead
            Assert.IsTrue(Magikoopa.Health.CurrentValue == 0, $"Magi HP = {Magikoopa.Health.CurrentValue}");
            Assert.IsTrue(battle.IsEnded());
        }