Пример #1
0
        public void TestBattlePhaseLoad()
        {
            Player       DummyPlayer1      = new Player("Player 1", "Human", true, false, 0, new Card[0]);
            Player       DummyPlayer2      = new Player("Player 2", "Human", true, false, 0, new Card[0]);
            CreatureCard DummyInvaderCard  = new CreatureCard(40, 20);
            CreatureCard DummyDefenderCard = new CreatureCard(40, 20);

            SorcererStreetMap DummyMap = CreateDummyMap();

            TerrainSorcererStreet DummyTerrain = DummyMap.GetTerrain(DummyPlayer2.GamePiece);

            DummyTerrain.DefendingCreature = DummyDefenderCard;
            DummyTerrain.Owner             = DummyPlayer2;

            ActionPanelBattleStartPhase BattleStartPhase = new ActionPanelBattleStartPhase(DummyMap, DummyPlayer1, DummyInvaderCard);

            BattleStartPhase.Load();

            Assert.AreEqual(DummyInvaderCard, DummyMap.GlobalSorcererStreetBattleContext.Invader);
            Assert.AreEqual(DummyDefenderCard, DummyMap.GlobalSorcererStreetBattleContext.Defender);

            Assert.AreEqual(DummyInvaderCard.CurrentHP, DummyMap.GlobalSorcererStreetBattleContext.InvaderFinalHP);
            Assert.AreEqual(DummyDefenderCard.CurrentHP, DummyMap.GlobalSorcererStreetBattleContext.DefenderFinalHP);

            Assert.AreEqual(DummyInvaderCard.CurrentST, DummyMap.GlobalSorcererStreetBattleContext.InvaderFinalST);
            Assert.AreEqual(DummyDefenderCard.CurrentST, DummyMap.GlobalSorcererStreetBattleContext.DefenderFinalST);
        }
Пример #2
0
        public void TestBattlePhaseWithoutBonuses()
        {
            Player       DummyPlayer1      = new Player("Player 1", "Human", true, false, 0, new Card[0]);
            Player       DummyPlayer2      = new Player("Player 2", "Human", true, false, 0, new Card[0]);
            CreatureCard DummyInvaderCard  = new CreatureCard(40, 20);
            CreatureCard DummyDefenderCard = new CreatureCard(40, 20);

            SorcererStreetMap DummyMap = CreateDummyMap();

            TerrainSorcererStreet DummyTerrain = DummyMap.GetTerrain(DummyPlayer2.GamePiece);

            DummyTerrain.DefendingCreature = DummyDefenderCard;
            DummyTerrain.Owner             = DummyPlayer2;

            ActionPanelBattleStartPhase BattleStartPhase = new ActionPanelBattleStartPhase(DummyMap, DummyPlayer1, DummyInvaderCard);

            BattleStartPhase.Load();

            ActionPanelBattleAttackPhase BattleAttackPhase = new ActionPanelBattleAttackPhase(DummyMap.ListActionMenuChoice, DummyMap);

            BattleAttackPhase.OnSelect();

            Assert.AreEqual(DummyInvaderCard, BattleAttackPhase.FirstAttacker);
            Assert.AreEqual(DummyDefenderCard, BattleAttackPhase.SecondAttacker);

            BattleAttackPhase.ExecuteFirstAttack();

            Assert.AreEqual(40, BattleAttackPhase.FirstAttacker.CurrentHP);
            Assert.AreEqual(20, BattleAttackPhase.SecondAttacker.CurrentHP);

            BattleAttackPhase.ExecuteSecondAttack();

            Assert.AreEqual(20, BattleAttackPhase.FirstAttacker.CurrentHP);
            Assert.AreEqual(20, BattleAttackPhase.SecondAttacker.CurrentHP);
        }
Пример #3
0
        public void TestDiscardCardPhase()
        {
            Player                      DummyPlayer      = new Player("Player 1", "Human", true, false, 0, new Card[0]);
            SorcererStreetMap           DummyMap         = CreateDummyMap();
            ActionPanelDiscardCardPhase DiscardCardPhase = new ActionPanelDiscardCardPhase(DummyMap, DummyPlayer, 6);

            DiscardCardPhase.OnSelect();
        }
Пример #4
0
        public void TestMapBehavior()
        {
            Player            DummyPlayer = new Player("Player 1", "Human", true, false, 0, new Card[] { new Card(), new Card(), new Card() });
            SorcererStreetMap DummyMap    = CreateDummyMap();

            DummyMap.ListPlayer.Add(DummyPlayer);

            DummyMap.Update(new GameTime());

            //Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelGainPhase));
            //Assert.IsFalse(DummyMap.ListActionMenuChoice.HasSubPanels);

            //ActionPanelGainPhase GainPhase = (ActionPanelGainPhase)DummyMap.ListActionMenuChoice.Last();
            //GainPhase.FinishPhase();

            Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelDrawCardPhase));
            Assert.IsFalse(DummyMap.ListActionMenuChoice.HasSubPanels);

            ActionPanelDrawCardPhase DrawCardPhase = (ActionPanelDrawCardPhase)DummyMap.ListActionMenuChoice.Last();

            DrawCardPhase.FinishPhase();

            Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelCardSelectionPhase));
            Assert.IsFalse(DummyMap.ListActionMenuChoice.HasSubPanels);

            ActionPanelCardSelectionPhase CardSelectionPhase = (ActionPanelCardSelectionPhase)DummyMap.ListActionMenuChoice.Last();

            CardSelectionPhase.PrepareToRollDice();

            Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelRollDicePhase));
            Assert.IsFalse(DummyMap.ListActionMenuChoice.HasSubPanels);

            ActionPanelRollDicePhase RollDicePhase = (ActionPanelRollDicePhase)DummyMap.ListActionMenuChoice.Last();

            RollDicePhase.RollDice();

            Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelChooseDirection));
            Assert.IsTrue(DummyMap.ListActionMenuChoice.HasSubPanels);

            ActionPanelChooseDirection ChooseDirection = (ActionPanelChooseDirection)DummyMap.ListActionMenuChoice.Last();

            DummyPlayer.CurrentDirection = Player.Directions.Right;
            ChooseDirection.FinalizeChoice();

            Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelMovementPhase));
            Assert.IsFalse(DummyMap.ListActionMenuChoice.HasSubPanels);

            while (DummyMap.ListActionMenuChoice.Last() is ActionPanelMovementPhase)
            {
                DummyMap.Update(new GameTime());
            }

            Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelCardSelectionPhase));
            Assert.IsFalse(DummyMap.ListActionMenuChoice.HasSubPanels);

            ActionPanelCardSelectionPhase CreatureCardSelectionPhase = (ActionPanelCardSelectionPhase)DummyMap.ListActionMenuChoice.Last();
        }
Пример #5
0
        public void TestGainPhase()
        {
            Player               DummyPlayer = new Player("Player 1", "Human", true, false, 0, new Card[0]);
            SorcererStreetMap    DummyMap    = CreateDummyMap();
            ActionPanelGainPhase GainPhase   = new ActionPanelGainPhase(DummyMap, DummyPlayer);

            Assert.AreEqual(0, DummyPlayer.Magic);
            GainPhase.OnSelect();
            Assert.AreEqual(20, DummyPlayer.Magic);
        }
Пример #6
0
        public void TestRollDicePhaseWithoutDirection()
        {
            Player                   DummyPlayer   = new Player("Player 1", "Human", true, false, 0, new Card[0]);
            SorcererStreetMap        DummyMap      = CreateDummyMap();
            ActionPanelRollDicePhase RollDicePhase = new ActionPanelRollDicePhase(DummyMap, DummyPlayer);

            RollDicePhase.RollDice();

            Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelChooseDirection));
        }
Пример #7
0
        public void TestRefillDeckPhase()
        {
            Player                     DummyPlayer     = new Player("Player 1", "Human", true, false, 0, new Card[] { new Card(), new Card(), new Card() });
            SorcererStreetMap          DummyMap        = CreateDummyMap();
            ActionPanelRefillDeckPhase RefillDeckPhase = new ActionPanelRefillDeckPhase(DummyMap, DummyPlayer);

            DummyPlayer.ListRemainingCardInDeck.Clear();
            Assert.AreEqual(0, DummyPlayer.ListRemainingCardInDeck.Count);
            RefillDeckPhase.OnSelect();
            Assert.AreEqual(3, DummyPlayer.ListRemainingCardInDeck.Count);
        }
        private void LoadMap(string Path)
        {
            string MapLogicName = FilePath.Substring(0, FilePath.Length - 4).Substring(29);

            BattleMapViewer.Preload();
            SorcererStreetMap ActiveMap = new SorcererStreetMap(MapLogicName, string.Empty);

            Helper = new SorcererStreetMapHelper(ActiveMap);
            InitMap(ActiveMap);

            this.Text = BattleMapViewer.ActiveMap.MapName + " - Project Eternity Sorcerer Street Map Editor";
        }
Пример #9
0
        public void TestRollDicePhaseGoingRight()
        {
            Player DummyPlayer = new Player("Player 1", "Human", true, false, 0, new Card[0]);

            DummyPlayer.CurrentDirection = Player.Directions.Right;
            SorcererStreetMap        DummyMap      = CreateDummyMap();
            ActionPanelRollDicePhase RollDicePhase = new ActionPanelRollDicePhase(DummyMap, DummyPlayer);

            RollDicePhase.RollDice();

            Assert.IsInstanceOfType(DummyMap.ListActionMenuChoice.Last(), typeof(ActionPanelMovementPhase));
        }
Пример #10
0
        public void TestDrawCardPhase()
        {
            Player                   DummyPlayer   = new Player("Player 1", "Human", true, false, 0, new Card[] { new Card(), new Card(), new Card() });
            SorcererStreetMap        DummyMap      = CreateDummyMap();
            ActionPanelDrawCardPhase DrawCardPhase = new ActionPanelDrawCardPhase(DummyMap, 0);

            Assert.AreEqual(3, DummyPlayer.ListRemainingCardInDeck.Count);
            Assert.AreEqual(0, DummyPlayer.ListCardInHand.Count);
            DrawCardPhase.OnSelect();
            Assert.AreEqual(2, DummyPlayer.ListRemainingCardInDeck.Count);
            Assert.AreEqual(1, DummyPlayer.ListCardInHand.Count);
        }
Пример #11
0
        public void TestSpellSelectionPhase()
        {
            Player                        DummyPlayer         = new Player("Player 1", "Human", true, false, 0, new Card[0]);
            SorcererStreetMap             DummyMap            = CreateDummyMap();
            ActionPanelCardSelectionPhase SpellSelectionPhase = new ActionPanelSpellCardSelectionPhase(DummyMap, DummyPlayer);

            DummyPlayer.ListCardInHand.Add(new Card());
            DummyPlayer.ListCardInHand.Add(new Card());
            DummyPlayer.ListCardInHand.Add(new Card());
            DummyPlayer.ListCardInHand.Add(new Card());

            SpellSelectionPhase.OnSelect();
        }
        public void TestCreatureModifierPhaseSkillActivation()
        {
            Player       DummyPlayer1      = new Player("Player 1", "Human", true, false, 0, new Card[0]);
            Player       DummyPlayer2      = new Player("Player 2", "Human", true, false, 0, new Card[0]);
            CreatureCard DummyInvaderCard  = new CreatureCard(40, 20);
            CreatureCard DummyDefenderCard = new CreatureCard(40, 20);

            SorcererStreetMap          DummyMap     = CreateDummyMap();
            SorcererStreetBattleParams BattleParams = new SorcererStreetBattleParams(DummyMap.GlobalSorcererStreetBattleContext);

            TerrainSorcererStreet DummyTerrain = DummyMap.GetTerrain(DummyPlayer2.GamePiece);

            DummyTerrain.DefendingCreature = DummyDefenderCard;
            DummyTerrain.Owner             = DummyPlayer2;

            ActionPanelBattleStartPhase BattleStartPhase = new ActionPanelBattleStartPhase(DummyMap, 0, DummyInvaderCard);

            BattleStartPhase.Load();

            BaseEffect               SkillEffect = new IncreaseHPEffect(BattleParams);
            BaseSkillRequirement     Requirement = new SorcererStreetCreaturePhaseRequirement(DummyMap.GlobalSorcererStreetBattleContext);
            AutomaticSkillTargetType Target      = new SorcererStreetSelfTargetType(DummyMap.GlobalSorcererStreetBattleContext);

            BaseAutomaticSkill HPIncreaseSkill = new BaseAutomaticSkill();

            HPIncreaseSkill.Name = "Dummy";
            HPIncreaseSkill.ListSkillLevel.Add(new BaseSkillLevel());
            HPIncreaseSkill.CurrentLevel = 1;

            BaseSkillActivation NewActivation = new BaseSkillActivation();

            HPIncreaseSkill.CurrentSkillLevel.ListActivation.Add(NewActivation);

            NewActivation.ListRequirement.Add(Requirement);

            NewActivation.ListEffect.Add(SkillEffect);
            NewActivation.ListEffectTargetReal.Add(new List <AutomaticSkillTargetType>());
            NewActivation.ListEffectTargetReal[0].Add(Target);

            DummyInvaderCard.ListSkill.Add(HPIncreaseSkill);

            ActionPanelBattleCreatureModifierPhase CreaturePhase = new ActionPanelBattleCreatureModifierPhase(DummyMap.ListActionMenuChoice, DummyMap);

            CreaturePhase.OnSelect();

            Assert.AreEqual(DummyInvaderCard.CurrentHP + 30, DummyMap.GlobalSorcererStreetBattleContext.InvaderFinalHP);
        }
        public ProjectEternitySorcererStreetEditor(string FilePath, object[] Params)
            : this()
        {
            this.FilePath = FilePath;
            if (!File.Exists(FilePath))
            {
                FileStream fs = File.Create(FilePath);
                fs.Close();
                SorcererStreetMap NewMap = new SorcererStreetMap(FilePath, string.Empty);
                ActiveMap = BattleMapViewer.ActiveMap = NewMap;
                NewMap.ListLayer.Add(new MapLayer(NewMap));

                SaveItem(FilePath, FilePath);
            }

            LoadMap(FilePath);
        }
Пример #14
0
        private static SorcererStreetMap CreateDummyMap()
        {
            SorcererStreetMap DummyMap = new SorcererStreetMap();

            DummyMap.GameTurn = 1;
            DummyMap.ListLayer.Add(new MapLayer(DummyMap, new List <AnimationBackground>(), new List <AnimationBackground>()));
            DummyMap.ListGameScreen            = new List <GameScreens.GameScreen>();
            DummyMap.ListLayer[0].ArrayTerrain = new TerrainSorcererStreet[20, 20];
            for (int X = 0; X < 20; ++X)
            {
                for (int Y = 0; Y < 20; ++Y)
                {
                    DummyMap.ListLayer[0].ArrayTerrain[X, Y] = new TerrainSorcererStreet(X, Y, 1);
                }
            }

            DummyMap.ListLayer[0].ArrayTerrain[0, 0].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[1, 0].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[2, 0].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[3, 0].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[4, 0].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[4, 1].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[4, 2].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[4, 3].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[4, 4].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[4, 5].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[3, 5].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[2, 5].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[1, 5].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[0, 5].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[0, 4].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[0, 3].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[0, 2].TerrainTypeIndex = 2;
            DummyMap.ListLayer[0].ArrayTerrain[0, 1].TerrainTypeIndex = 2;

            DummyMap.Init();

            return(DummyMap);
        }
Пример #15
0
        public void TestPlayerMovementPhase()
        {
            Player DummyPlayer = new Player("Player 1", "Human", true, false, 0, new Card[0]);

            DummyPlayer.CurrentDirection = Player.Directions.Right;
            SorcererStreetMap DummyMap = CreateDummyMap();

            DummyMap.ListPlayer.Add(DummyPlayer);
            ActionPanelMovementPhase MovementPhase = new ActionPanelMovementPhase(DummyMap, DummyPlayer, 3);

            DummyMap.ListActionMenuChoice.AddToPanelListAndSelect(MovementPhase);

            Assert.IsTrue(DummyMap.ListActionMenuChoice.HasMainPanel);
            Assert.AreEqual(1, DummyPlayer.GamePiece.Position.X);

            for (int i = 0; i < 6; ++i)
            {
                DummyMap.Update(new GameTime());
            }

            Assert.IsTrue(DummyMap.ListActionMenuChoice.HasMainPanel);
            Assert.AreEqual(2, DummyPlayer.GamePiece.Position.X);

            for (int i = 0; i < 6; ++i)
            {
                DummyMap.Update(new GameTime());
            }

            Assert.IsTrue(DummyMap.ListActionMenuChoice.HasMainPanel);
            Assert.AreEqual(3, DummyPlayer.GamePiece.Position.X);

            for (int i = 0; i < 6; ++i)
            {
                DummyMap.Update(new GameTime());
            }

            Assert.IsTrue(DummyMap.ListActionMenuChoice.HasMainPanel);
        }
 public ActionPanelCreatureCardSelectionPhase(SorcererStreetMap Map, Player ActivePlayer)
     : base(Map.ListActionMenuChoice, Map, ActivePlayer, CreatureCard.CreatureCardType, "End turn")
 {
 }
 public ActionPanelSelectSingleSpellTarget(SorcererStreetMap Map, Player ActivePlayer)
     : base("Select Single Spell Target", Map, true)
 {
     this.ActivePlayer = ActivePlayer;
 }
 public ActionPanelSelectSingleSpellTarget(SorcererStreetMap Map)
     : base("Select Single Spell Target", Map, true)
 {
 }
 public SorcererStreetMapHelper(SorcererStreetMap ActiveMap)
 {
     this.ActiveMap = ActiveMap;
 }