Наследование: MonoBehaviour
Пример #1
1
 public AI(Game game, SpriteBatch screenSpriteBatch)
     : base(game, screenSpriteBatch)
 {
     Catapult = new Catapult(game, screenSpriteBatch,
             "Textures/Catapults/Red/redIdle/redIdle",
             new Vector2(600, 332), SpriteEffects.FlipHorizontally,
             true);
 }
Пример #2
0
        public void MoveUnit_AllTypes()
        {
            const int movePositionX = 15;
            const int movePositionY = 15;

            Player         Player         = new Player(1, "Игрок №1", null);
            Map            Map            = CreateMap();
            GameController GameController = new GameController(Map);


            Archer Archer = new Archer(Player, 14, 14);

            GameController.MoveUnit(Archer, movePositionX, movePositionY);
            Assert.AreEqual(movePositionX, Archer.UnitCoordinates.X);
            Assert.AreEqual(movePositionY, Archer.UnitCoordinates.Y);

            Catapult Catapult = new Catapult(Player, 14, 14);

            GameController.MoveUnit(Catapult, movePositionX, movePositionY);
            Assert.AreEqual(movePositionX, Catapult.UnitCoordinates.X);
            Assert.AreEqual(movePositionY, Catapult.UnitCoordinates.Y);

            Horseman Horseman = new Horseman(Player, 14, 14);

            GameController.MoveUnit(Horseman, movePositionX, movePositionY);
            Assert.AreEqual(movePositionX, Horseman.UnitCoordinates.X);
            Assert.AreEqual(movePositionY, Horseman.UnitCoordinates.Y);

            Swordsman Swordsman = new Swordsman(Player, 14, 14);

            GameController.MoveUnit(Swordsman, movePositionX, movePositionY);
            Assert.AreEqual(movePositionX, Swordsman.UnitCoordinates.X);
            Assert.AreEqual(movePositionY, Swordsman.UnitCoordinates.Y);
        }
Пример #3
0
        public void AttackUnit_CatapultAttackAllTypes()
        {
            Player         Player1        = new Player(1, "Игрок №1", null);
            Player         Player2        = new Player(2, "Игрок №2", null);
            Catapult       Catapult       = new Catapult(Player1, 8, 8);
            Map            Map            = CreateMap();
            GameController GameController = new GameController(Map);


            // Лучник имеет 50 жизней. Погибнет за один удар.
            Archer ArcherTarget = new Archer(Player2, 10, 10);

            Assert.AreEqual(1, GetAttacksCount(GameController, Catapult, ArcherTarget));

            // Катапульта имеет 75 жизней. Погибнет за один удар.
            Catapult CatapultTarget = new Catapult(Player2, 10, 10);

            Assert.AreEqual(1, GetAttacksCount(GameController, Catapult, CatapultTarget));

            // Всадник имеет 200 жизней. Необходимо 2 удара.
            Horseman HorsemanTarget = new Horseman(Player2, 10, 10);

            Assert.AreEqual(2, GetAttacksCount(GameController, Catapult, HorsemanTarget));

            // Мечник имеет 100 жизней. Погибнет за один удар.
            Swordsman SwordsmanTarget = new Swordsman(Player2, 10, 10);

            Assert.AreEqual(1, GetAttacksCount(GameController, Catapult, SwordsmanTarget));
        }
Пример #4
0
 public void AddDamageDeBuff(Catapult defensiveStructure)
 {
     foreach (Damageable damageable in damagebales)
     {
         damageable.damageDeBuff += defensiveStructure.damageDebuf;
     }
 }
Пример #5
0
	// Use this for initialization
	void Start () {
		_GameManater = this;
		catapult = new Catapult ();
		leveldata = new LevelData();
		AutoStartTableType ();
		
	}
Пример #6
0
        public void AttackUnit_CatapultAttackCloseCombatAllTypes()
        {
            var player1        = new Player(1, "Игрок №1", null);
            var player2        = new Player(2, "Игрок №2", null);
            var catapult       = new Catapult(player1, 9, 9);
            var map            = CreateMap();
            var gameController = new GameController(map);


            // Лучник имеет 50 жизней. Погибнет за один удар.
            var archerTarget = new Archer(player2, 10, 10);

            Assert.AreEqual(1, GetAttacksCount(gameController, catapult, archerTarget));

            // Катапульта имеет 75 жизней. Погибнет за два удара.
            var catapultTarget = new Catapult(player2, 10, 10);

            Assert.AreEqual(2, GetAttacksCount(gameController, catapult, catapultTarget));

            // Всадник имеет 200 жизней. Необходимо 4 удара.
            var horsemanTarget = new Horseman(player2, 10, 10);

            Assert.AreEqual(4, GetAttacksCount(gameController, catapult, horsemanTarget));

            // Мечник имеет 100 жизней. Погибнет за два удара.
            var swordsmanTarget = new Swordsman(player2, 10, 10);

            Assert.AreEqual(2, GetAttacksCount(gameController, catapult, swordsmanTarget));
        }
Пример #7
0
        public void AttackUnit_ArcherAttackCloseCombatAllTypes()
        {
            Player         Player1        = new Player(1, "Игрок №1", null);
            Player         Player2        = new Player(2, "Игрок №2", null);
            Archer         Archer         = new Archer(Player1, 9, 9);
            Map            Map            = CreateMap();
            GameController GameController = new GameController(Map);


            // Лучник имеет 50 жизней. Погибнет за два удара.
            Archer ArcherTarget = new Archer(Player2, 10, 10);

            Assert.AreEqual(2, GetAttacksCount(GameController, Archer, ArcherTarget));

            // Катапульта имеет 75 жизней. Погибнет за три удара.
            Catapult CatapultTarget = new Catapult(Player2, 10, 10);

            Assert.AreEqual(3, GetAttacksCount(GameController, Archer, CatapultTarget));

            // Всадник имеет 200 жизней. Необходимо 8 ударов.
            Horseman HorsemanTarget = new Horseman(Player2, 10, 10);

            Assert.AreEqual(8, GetAttacksCount(GameController, Archer, HorsemanTarget));

            // Мечник имеет 100 жизней. Погибнет за 4 удара.
            Swordsman SwordsmanTarget = new Swordsman(Player2, 10, 10);

            Assert.AreEqual(4, GetAttacksCount(GameController, Archer, SwordsmanTarget));
        }
        public void serialize_a_unit()
        {
            Arena arena = new Arena();

            Team team = new Team(arena, "blue", 125);

            Archer archer = new Archer(arena, team, 1);

            team.Units.Add(1, archer);
            team.Acount++;
            Balista balista = new Balista(arena, team, 2);

            team.Units.Add(2, balista);
            team.Bcount++;
            Catapult catapult = new Catapult(arena, team, 3);

            team.Units.Add(3, catapult);
            team.Ccount++;
            Drake drake = new Drake(arena, team, 4);

            team.Units.Add(4, drake);
            team.Dcount++;



            //Team result = new Team(token);
            //IEnumerable<Unit> units = result.GetUnits();
            //Assert.That(units.Count(), Is.EqualTo(2));
            //Assert.That(units.Any(u => u.Health == 20.0 && u.Speed == 20.0));
            //Assert.That(units.Any(u => u.Health == 10.0 && u.Speed == 15.0));
            //Assert.That(units.All(u => u.Team == result));
        }
Пример #9
0
 public Human(Game game, SpriteBatch screenSpriteBatch)
     : base(game, screenSpriteBatch)
 {
     Catapult = new Catapult(game, screenSpriteBatch,
                     "Textures/Catapults/Blue/blueIdle/blueIdle",
                     catapultPosition, SpriteEffects.None, false);
 }
Пример #10
0
        public void GetObjectCoordinates_AllTypes()
        {
            var player         = new Player(1, "Игрок №1", null);
            var map            = new Map(null, null);
            var gameController = new GameController(map);


            var archer = new Archer(player)
            {
                X = 1, Y = 2
            };
            var archerCoordinates = gameController.GetObjectCoordinates(archer);

            Assert.AreEqual(1, archerCoordinates.X);
            Assert.AreEqual(2, archerCoordinates.Y);

            var catapult = new Catapult(player)
            {
                X = 3, Y = 4
            };
            var catapultCoordinates = gameController.GetObjectCoordinates(catapult);

            Assert.AreEqual(3, catapultCoordinates.X);
            Assert.AreEqual(4, catapultCoordinates.Y);

            var horseman = new Horseman(player)
            {
                X = 5, Y = 6
            };
            var horsemanCoordinates = gameController.GetObjectCoordinates(horseman);

            Assert.AreEqual(5, horsemanCoordinates.X);
            Assert.AreEqual(6, horsemanCoordinates.Y);

            var swordsman = new Swordsman(player)
            {
                X = 7, Y = 8
            };
            var swordsmanCoordinates = gameController.GetObjectCoordinates(swordsman);

            Assert.AreEqual(7, swordsmanCoordinates.X);
            Assert.AreEqual(8, swordsmanCoordinates.Y);


            var grass = new Grass {
                X = 9, Y = 10
            };
            var grassCoordinates = gameController.GetObjectCoordinates(grass);

            Assert.AreEqual(9, grassCoordinates.X);
            Assert.AreEqual(10, grassCoordinates.Y);

            var water = new Water {
                X = 11, Y = 12
            };
            var waterCoordinates = gameController.GetObjectCoordinates(water);

            Assert.AreEqual(11, waterCoordinates.X);
            Assert.AreEqual(12, waterCoordinates.Y);
        }
Пример #11
0
    void Event3End()
    {
        if (eventItems[3].eventExecuted != 4)
        {
            ExecuteEvent += Event3Execution;             //Loop Back to Increase Turn Count. 2 is the 1st turn of Event
            EventEnd     -= Event3End;
        }
        else
        {
            foreach (TurretTemplate blackTurrets in eventItems[3].affectedBlackTurrets)
            {
                blackTurrets.turretValues.fireRate /= 0.5f;
                if (blackTurrets.GetType() == typeof(Catapult))
                {
                    Catapult catapult = (Catapult)blackTurrets;
                    catapult.anim.SetFloat("SpeedMulti", blackTurrets.turretValues.fireRate);
                }
            }

            Destroy(eventItems[3].chatText);
            eventItems[3].chatText = null;

            eventItems[3].affectedBlackTurrets = null;
            EventEnd -= Event3End;
            eventItems[3].turnCount     = 0;
            eventItems[3].eventExecuted = 0;             //Set Event 2 to "False"
        }
    }
Пример #12
0
        public override void Initialize()
        {
            arrow = curGame.Content.Load <Texture2D>("Textures/HUD/Arrow");

            Catapult.Initialize();

            base.Initialize();
        }
Пример #13
0
        public override void Initialize()
        {
            //Initialize randomizer
            random = new Random();

            Catapult.Initialize();

            base.Initialize();
        }
        public void deserialize_a_team()
        {
            Arena arena = new Arena();
            Team  sut   = new Team(arena, "blue", 125);

            Archer archer = new Archer(arena, sut, 1);

            sut.Units.Add(1, archer);
            sut.Acount++;
            Balista balista = new Balista(arena, sut, 2);

            sut.Units.Add(2, balista);
            sut.Bcount++;
            Catapult catapult = new Catapult(arena, sut, 3);

            sut.Units.Add(3, catapult);
            sut.Ccount++;
            Drake drake = new Drake(arena, sut, 4);

            sut.Units.Add(4, drake);
            sut.Dcount++;

            string fileName = Path.GetTempFileName();

            {
                JToken token = sut.Serialize();
                using (FileStream fs = File.OpenWrite(fileName))
                    using (StreamWriter sw = new StreamWriter(fs))
                        using (JsonTextWriter jw = new JsonTextWriter(sw))
                        {
                            token.WriteTo(jw);
                        }
            }

            {
                using (FileStream fs = File.OpenRead(fileName))
                    using (StreamReader sr = new StreamReader(fs))
                        using (JsonTextReader jr = new JsonTextReader(sr))
                        {
                            JToken             token = JToken.ReadFrom(jr);
                            Team               team  = new Team(arena, token);
                            IEnumerable <Unit> units = team.GetUnits();
                            Assert.That(units.Count(), Is.EqualTo(sut.UnitCount));
                            Assert.That(units.Count(), Is.EqualTo(4));

                            Assert.That(units.Any(u => u.Life == 12.0 && u.Speed == 1.8 && u.Troop == "archer"));
                            Assert.That(units.Any(u => u.Life == 25.0 && u.Speed == 0.70 && u.Troop == "balista"));
                            Assert.That(units.Any(u => u.Life == 30.0 && u.Speed == 0.50 && u.Troop == "catapult"));
                            Assert.That(units.Any(u => u.Life == 10 && u.Speed == 1.5 && u.Troop == "drake"));


                            Assert.That(units.All(u => u.Team == team));
                        }
            }
        }
Пример #15
0
        public void CanMoveUnit_CatapultOnEmptyMap(int x, int y, bool canMove)
        {
            const int startPositionX = 10;
            const int startPositionY = 10;

            Player         Player         = new Player(1, "Игрок №1", null);
            Catapult       Catapult       = new Catapult(Player, startPositionX, startPositionY);
            Map            Map            = CreateMap(units: new[] { Catapult });
            GameController GameController = new GameController(Map);

            Assert.AreEqual(canMove, GameController.CanMoveUnit(Catapult, x, y));
        }
Пример #16
0
        public void CanMoveUnit_CatapultOnEmptyMap(int x, int y, bool canMove)
        {
            const int startPositionX = 10;
            const int startPositionY = 10;

            var player         = new Player(1, "Игрок №1", null);
            var catapult       = new Catapult(player, startPositionX, startPositionY);
            var map            = CreateMap(units: new[] { catapult });
            var gameController = new GameController(map);

            Assert.AreEqual(canMove, gameController.CanMoveUnit(catapult, x, y));
        }
 public void ChooseProjectile()
 {
     if (catapult == null)
     {
         catapult = FindObjectOfType <Catapult>();
         if (catapult == null)
         {
             return;
         }
     }
     catapult.SetProjectileInfo(projectileInfo);
 }
Пример #18
0
        public void CanMoveUnit_CatapultOnHorseman_False()
        {
            const int horsemanPositionX = 15;
            const int horsemanPositionY = 15;

            var player         = new Player(1, "Игрок №1", null);
            var catapult       = new Catapult(player, 10, 10);
            var horseman       = new Horseman(player, horsemanPositionX, horsemanPositionY);
            var map            = CreateMap(units: new Unit[] { catapult, horseman });
            var gameController = new GameController(map);

            Assert.False(gameController.CanMoveUnit(horseman, horsemanPositionX, horsemanPositionY));
        }
Пример #19
0
        public void CanMoveUnit_CatapultOnHorseman_False()
        {
            const int horsemanPositionX = 15;
            const int horsemanPositionY = 15;

            Player         Player         = new Player(1, "Игрок №1", null);
            Catapult       Catapult       = new Catapult(Player, 10, 10);
            Horseman       Horseman       = new Horseman(Player, horsemanPositionX, horsemanPositionY);
            Map            Map            = CreateMap(units: new object[] { Catapult, Horseman });
            GameController GameController = new GameController(Map);

            Assert.False(GameController.CanMoveUnit(Horseman, horsemanPositionX, horsemanPositionY));
        }
Пример #20
0
        public void CanAttackUnit_Catapult(int x, int y, bool canAttack)
        {
            const int startPositionX = 20;
            const int startPositionY = 20;

            var player1        = new Player(1, "Игрок №1", null);
            var player2        = new Player(2, "Игрок №2", null);
            var catapult       = new Catapult(player1, startPositionX, startPositionY);
            var target         = new Archer(player2, x, y);
            var map            = CreateMap(units: new Unit[] { catapult, target });
            var gameController = new GameController(map);

            Assert.AreEqual(canAttack, gameController.CanAttackUnit(catapult, target));
        }
Пример #21
0
        public void CanAttackUnit_Catapult(int x, int y, bool canAttack)
        {
            const int startPositionX = 20;
            const int startPositionY = 20;

            Player         Player1        = new Player(1, "Игрок №1", null);
            Player         Player2        = new Player(2, "Игрок №2", null);
            Catapult       Catapult       = new Catapult(Player1, startPositionX, startPositionY);
            Archer         Target         = new Archer(Player2, x, y);
            Map            Map            = CreateMap(units: new object[] { Catapult, Target });
            GameController GameController = new GameController(Map);

            Assert.AreEqual(canAttack, GameController.CanAttackUnit(Catapult, Target));
        }
 void itemInteraction()
 {
     //Debug.Log ("I hit " + hit.collider.gameObject);
     if (hit.transform.CompareTag("Item"))
     {
         interactText.SetActive(true);
         isItem = true;
         if (Input.GetKeyDown("e"))
         {
             Destroy(hit.transform.gameObject);
             hit.transform.gameObject.SendMessage("ImmediateReaction");
             interactText.SetActive(false);
             isItem = false;
         }
     }
     else if (hit.transform.CompareTag("Door"))
     {
         interactText.SetActive(true);
         if (Input.GetKeyDown("e"))
         {
             hit.transform.gameObject.SendMessage("Teleport");
             interactText.SetActive(false);
         }
     }
     else if (hit.transform.CompareTag("Pfandautomat"))
     {
         interactText.SetActive(true);
         pfand = hit.transform.gameObject.GetComponent <Pfand> ();
         if (Input.GetKeyDown("e"))
         {
             pfand.SendMessage("PfandAbgeben");
         }
     }
     else if (hit.transform.CompareTag("mini_tanker"))
     {
         interactText.SetActive(true);
         catapult = hit.transform.gameObject.GetComponent <Catapult> ();
         if (Input.GetKeyDown("e"))
         {
             catapult.SendMessage("CatapultPlayer");
         }
     }
     else
     {
         interactText.SetActive(false);
         isItem = false;
     }
 }
Пример #23
0
        public void MoveUnit_AllTypes()
        {
            const int movePositionX = 15;
            const int movePositionY = 15;

            var player         = new Player(1, "Игрок №1", null);
            var map            = CreateMap();
            var gameController = new GameController(map);


            var archer = new Archer(player)
            {
                X = 14, Y = 14
            };

            gameController.MoveUnit(archer, movePositionX, movePositionY);
            Assert.AreEqual(movePositionX, archer.X);
            Assert.AreEqual(movePositionY, archer.Y);

            var catapult = new Catapult(player)
            {
                X = 14, Y = 14
            };

            gameController.MoveUnit(catapult, movePositionX, movePositionY);
            Assert.AreEqual(movePositionX, catapult.X);
            Assert.AreEqual(movePositionY, catapult.Y);

            var horseman = new Horseman(player)
            {
                X = 14, Y = 14
            };

            gameController.MoveUnit(horseman, movePositionX, movePositionY);
            Assert.AreEqual(movePositionX, horseman.X);
            Assert.AreEqual(movePositionY, horseman.Y);

            var swordsman = new Swordsman(player)
            {
                X = 14, Y = 14
            };

            gameController.MoveUnit(swordsman, movePositionX, movePositionY);
            Assert.AreEqual(movePositionX, swordsman.X);
            Assert.AreEqual(movePositionY, swordsman.Y);
        }
Пример #24
0
        /// <summary>
        /// Function processes the user input
        /// </summary>
        /// <param name="gestureSample"></param>
        public void HandleInput(GestureSample gestureSample)
        {
            // Process input only if in Human's turn
            if (IsActive)
            {
                // Process any Drag gesture
                if (gestureSample.GestureType == GestureType.FreeDrag)
                {
                    // If drag just began save the sample for future
                    // calculations and start Aim "animation"
                    if (null == firstSample)
                    {
                        firstSample           = gestureSample;
                        Catapult.CurrentState = CatapultState.Aiming;
                    }

                    // save the current gesture sample
                    prevSample = gestureSample;

                    // calculate the delta between first sample and current
                    // sample to present visual sound on screen
                    Vector2 delta = prevSample.Value.Position - firstSample.Value.Position;
                    Catapult.ShotStrength = delta.Length() / maxDragDelta;
                    float baseScale = 0.001f;
                    arrowScale = baseScale * delta.Length();
                    isDragging = true;
                }
                else if (gestureSample.GestureType == GestureType.DragComplete)
                {
                    // calc velocity based on delta between first and last
                    // gesture samples
                    if (null != firstSample)
                    {
                        Vector2 delta = prevSample.Value.Position - firstSample.Value.Position;
                        Catapult.ShotVelocity = MinShotStrength + Catapult.ShotStrength *
                                                (MaxShotStrength - MinShotStrength);
                        Catapult.Fire(Catapult.ShotVelocity);
                        Catapult.CurrentState = CatapultState.Firing;
                    }

                    // turn off dragging state
                    ResetDragState();
                }
            }
        }
Пример #25
0
    public void selectWeapon(int weaponIndex, int blueprintNo)
    {
        Weapon selectedWeapon = null;

        if (weaponIndex == 0)
        {
            selectedWeapon = new Catapult();
        }
        else if (weaponIndex == 1)
        {
            selectedWeapon = new Ballista();
        }
        else
        {
            selectedWeapon = new Ram();
        }
        warplan.blueprints[blueprintNo].weapon = selectedWeapon;
    }
Пример #26
0
        public void GetObjectCoordinates_AllTypes()
        {
            Player         Player         = new Player(1, "Игрок №1", null);
            Map            Map            = new Map(null, null);
            GameController GameController = new GameController(Map);


            Archer      Archer            = new Archer(Player, 1, 2);
            Coordinates ArcherCoordinates = GameController.GetObjectCoordinates(Archer);

            Assert.AreEqual(1, ArcherCoordinates.X);
            Assert.AreEqual(2, ArcherCoordinates.Y);

            Catapult    Catapult            = new Catapult(Player, 3, 4);
            Coordinates CatapultCoordinates = GameController.GetObjectCoordinates(Catapult);

            Assert.AreEqual(3, CatapultCoordinates.X);
            Assert.AreEqual(4, CatapultCoordinates.Y);

            Horseman    Horseman            = new Horseman(Player, 5, 6);
            Coordinates HorsemanCoordinates = GameController.GetObjectCoordinates(Horseman);

            Assert.AreEqual(5, HorsemanCoordinates.X);
            Assert.AreEqual(6, HorsemanCoordinates.Y);

            Swordsman   Swordsman            = new Swordsman(Player, 7, 8);
            Coordinates SwordsmanCoordinates = GameController.GetObjectCoordinates(Swordsman);

            Assert.AreEqual(7, SwordsmanCoordinates.X);
            Assert.AreEqual(8, SwordsmanCoordinates.Y);


            Grass       Grass            = new Grass(9, 10);
            Coordinates GrassCoordinates = GameController.GetObjectCoordinates(Grass);

            Assert.AreEqual(9, GrassCoordinates.X);
            Assert.AreEqual(10, GrassCoordinates.Y);

            Water       Water            = new Water(11, 12);
            Coordinates WaterCoordinates = GameController.GetObjectCoordinates(Water);

            Assert.AreEqual(11, WaterCoordinates.X);
            Assert.AreEqual(12, WaterCoordinates.Y);
        }
Пример #27
0
        public void GetObjectCoordinates_AllTypes()
        {
            var player         = new Player(1, "Игрок №1", null);
            var map            = new Map(null, null);
            var gameController = new GameController(map);


            var archer            = new Archer(player, 1, 2);
            var archerCoordinates = gameController.GetObjectCoordinates(archer);

            Assert.AreEqual(1, archerCoordinates.X);
            Assert.AreEqual(2, archerCoordinates.Y);

            var catapult            = new Catapult(player, 3, 4);
            var catapultCoordinates = gameController.GetObjectCoordinates(catapult);

            Assert.AreEqual(3, catapultCoordinates.X);
            Assert.AreEqual(4, catapultCoordinates.Y);

            var horseman            = new Horseman(player, 5, 6);
            var horsemanCoordinates = gameController.GetObjectCoordinates(horseman);

            Assert.AreEqual(5, horsemanCoordinates.X);
            Assert.AreEqual(6, horsemanCoordinates.Y);

            var swordsman            = new Swordsman(player, 7, 8);
            var swordsmanCoordinates = gameController.GetObjectCoordinates(swordsman);

            Assert.AreEqual(7, swordsmanCoordinates.X);
            Assert.AreEqual(8, swordsmanCoordinates.Y);


            var grass            = new Grass(9, 10);
            var grassCoordinates = gameController.GetObjectCoordinates(grass);

            Assert.AreEqual(9, grassCoordinates.X);
            Assert.AreEqual(10, grassCoordinates.Y);

            var water            = new Water(11, 12);
            var waterCoordinates = gameController.GetObjectCoordinates(water);

            Assert.AreEqual(11, waterCoordinates.X);
            Assert.AreEqual(12, waterCoordinates.Y);
        }
Пример #28
0
        public void AttackUnit_ArcherAttackCloseCombatAllTypes()
        {
            var player1 = new Player(1, "Игрок №1", null);
            var player2 = new Player(2, "Игрок №2", null);
            var archer  = new Archer(player1)
            {
                X = 9, Y = 9
            };
            var map            = CreateMap();
            var gameController = new GameController(map);


            // Лучник имеет 50 жизней. Погибнет за два удара.
            var archerTarget = new Archer(player2)
            {
                X = 10, Y = 10
            };

            Assert.AreEqual(2, GetAttacksCount(gameController, archer, archerTarget));

            // Катапульта имеет 75 жизней. Погибнет за три удара.
            var catapultTarget = new Catapult(player2)
            {
                X = 10, Y = 10
            };

            Assert.AreEqual(3, GetAttacksCount(gameController, archer, catapultTarget));

            // Всадник имеет 200 жизней. Необходимо 8 ударов.
            var horsemanTarget = new Horseman(player2)
            {
                X = 10, Y = 10
            };

            Assert.AreEqual(8, GetAttacksCount(gameController, archer, horsemanTarget));

            // Мечник имеет 100 жизней. Погибнет за 4 удара.
            var swordsmanTarget = new Swordsman(player2)
            {
                X = 10, Y = 10
            };

            Assert.AreEqual(4, GetAttacksCount(gameController, archer, swordsmanTarget));
        }
Пример #29
0
    private void Start()
    {
        navMeshAgent = GetComponent <NavMeshAgent>();
        cat          = GetComponent <Catapult>();

        audioSource = GetComponent <AudioSource>();
        if (audioSource == null)
        {
            audioSource = gameObject.AddComponent <AudioSource>();
        }

        rb = GetComponent <Rigidbody>();


        float yy = transform.rotation.eulerAngles.y * Mathf.PI / 180.0f;

        float arcSize = 0.5f * Mathf.PI;
        float angle   = -Random.Range(yy - 0.5f * arcSize, yy + 0.5f * arcSize) - 0.5f * Mathf.PI;

        target = new Vector3(stopDistance * Mathf.Cos(angle), 0, stopDistance * Mathf.Sin(angle));



        NavMeshHit hit;

        if (NavMesh.SamplePosition(target, out hit, 500f, NavMesh.AllAreas))
        {
            navMeshAgent.SetDestination(hit.position);
        }
        else
        {
            Debug.LogWarning("Could not find suitable destination");
        }


        //TODO add back
        //navMeshObstacle = GetComponent<NavMeshObstacle>();
        //navMeshObstacle.enabled = false;


        navMeshAgent.speed = speed;
    }
Пример #30
0
        static void Main()
        {
            //Création de la catapulte principale
            Catapult catapult = new Catapult();

            //Test que l'exception est bien levée
            Catapult catapult_test = new Catapult();

            try
            {
                catapult_test.getRope().SetPartsHP(catapult_test.getRope(), 0);
            }
            catch (BrokenException be)
            {
                Console.WriteLine("Broken Exception " + be.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception " + ex.Message);
            }
            finally
            {
                Console.WriteLine("Fin de la modification");
            }

            //Test tir de la catapulte
            try
            {
                catapult.tir();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception " + ex.Message);
            }
            finally
            {
                Console.WriteLine("Fin du tir");
            }

            Console.WriteLine("Fini");
            Console.ReadKey();
        }
Пример #31
0
    private void Awake()
    {
        followProjectile = GameObject.FindObjectOfType(typeof(FollowProjectile)) as FollowProjectile;
        gameReset        = GameObject.FindObjectOfType(typeof(GameReset)) as GameReset;
        catapult         = GameObject.FindObjectOfType(typeof(Catapult)) as Catapult;

        catapultRigidBody = GameObject.Find("/Catapult").GetComponent <Rigidbody2D>();

        spring = GetComponent <SpringJoint2D>();

        CircleRadius = (GetComponent <Collider2D>() as CircleCollider2D).radius;

        maxStretchSquared = MaxStretch * MaxStretch;

        rb              = GetComponent <Rigidbody2D>();
        rb.mass         = 5.0f;
        rb.drag         = 0.15f;
        rb.angularDrag  = 15.0f;
        rb.gravityScale = 1.0f;
    }
Пример #32
0
        private void scriptMyselfFightToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string totalText = "Hoplites: " + Hoplite.ToString() + "\n";

            totalText += "Steam giants: " + SteamGiant.ToString() + "\n";
            totalText += "Spearmen: " + Spearman.ToString() + "\n";
            totalText += "Slingers: " + Slinger.ToString() + "\n";
            totalText += "Swordsmen: " + Swordsman.ToString() + "\n";
            totalText += "Archers: " + Archer.ToString() + "\n";
            totalText += "Sulphur carabineers: " + SulphurCarabineer.ToString() + "\n";
            totalText += "Rams: " + Ram.ToString() + "\n";
            totalText += "Catapults: " + Catapult.ToString() + "\n";
            totalText += "Mortars: " + Mortar.ToString() + "\n";
            totalText += "Gyrocopters: " + Gyrocopter.ToString() + "\n";
            totalText += "Balloon bombardiers: " + BalloonBombardier.ToString() + "\n";
            totalText += "Cooks: " + Cook.ToString() + "\n";
            totalText += "Doctors: " + Doctor.ToString() + "\n";
            totalText += "Transporter ships: " + TransporterShips.ToString() + "\n";
            totalText += "\nWhen finished, go to the city and press \"Raid\"";
            MessageBox.Show(totalText, "Auto fight");
        }
        public void serialize_an_arena()
        {
            Arena sut = new Arena();

            Team team = sut.CreateTeam("blue");

            Archer archer = new Archer(sut, team, 1);

            team.Units.Add(1, archer);
            team.Acount++;

            Balista balista = new Balista(sut, team, 2);

            team.Units.Add(2, balista);
            team.Bcount++;

            Catapult catapult = new Catapult(sut, team, 3);

            team.Units.Add(3, catapult);
            team.Ccount++;

            Drake drake = new Drake(sut, team, 4);

            team.Units.Add(4, drake);
            team.Dcount++;

            JToken jToken = sut.Serialize();

            Arena result = new Arena(jToken);

            IEnumerable <Team> teams = result.GetTeams();

            Assert.That(teams.Count(), Is.EqualTo(1));
            //Assert.That(teams.Any(t => t.Name == "blue" && t.UnitCount == 4));

            Assert.That(sut.TeamCount == result.TeamCount);
            //Assert.That( sut.Teams == result.Teams);
            //Assert.That(sut == result);
        }
 void Awake()
 {
     catapult = GetComponent<Catapult>();
     ballista = GetComponent<Ballista>();
 }