Esempio n. 1
0
    void OperateMarine(CodeBattle.Marine marine)
    {
        Marine MarineScript = (Marine)marines[marine.Id];

        if (MarineScript.status == CodeBattle.Status.Dead)
        {
            return;
        }
        ;

        MarineScript.status = marine.Status;
        MarineScript.hp     = marine.Hp;
        if (marine.Status == CodeBattle.Status.Run)
        {
            MarineScript.SetTargetPosition(marine.TargetPosition.X, marine.TargetPosition.Z);
        }
        else if (marine.Status == CodeBattle.Status.GunAttack)
        {
            MarineScript.SetGunShootPosition(marine.TargetPosition.X, marine.TargetPosition.Z);
            CollectionAndReportMarineStates(marine.Id, CodeBattle.Observer.ReportEnum.gunattack);
        }
        else if (marine.Status == CodeBattle.Status.Flares)
        {
            CollectionAndReportMarineStates(marine.Id, CodeBattle.Observer.ReportEnum.flares);
            StartCoroutine(MarineFlaresReport(marine.Id));
        }
    }
Esempio n. 2
0
        protected override void ExecuteInsertUnitCommand(string[] commandWords)
        {
            Unit unit = null;
            switch (commandWords[1])
            {
                case "Tank":
                    unit = new Tank(commandWords[2]);
                    break;
                case "Marine":
                    unit = new Marine(commandWords[2]);
                    break;
                case "Parasite":
                    unit = new Parasite(commandWords[2]);
                    break;
                case "Queen":
                    unit = new Queen(commandWords[2]);
                    break;
                default:
                    break;
            }

            if (unit != null)
            {
                base.InsertUnit(unit);
            }

            base.ExecuteInsertUnitCommand(commandWords);
        }
Esempio n. 3
0
        public void _0_SingleUpgrade()
        {
            IMarine marine = new Marine(10, 1);

            Assert.AreEqual(11, new MarineWeaponUpgrade(marine).Damage);
            Assert.AreEqual(11, new MarineWeaponUpgrade(marine).Damage);
        }
        public static void OperatorSwitchExample()
        {
            Transport transport1, transport2, transport3;

            transport1 = new Car(10, 50, 35000);
            transport2 = new Marine(35000);
            transport3 = new Aircraft(35000);

            foreach (var item in new Transport[] { transport1, transport2, transport3 })
            {
                switch (item)
                {
                case Car c:
                    Console.Write(c.Fuel);
                    break;

                case Marine m:
                    Console.Write(m.Draft);
                    break;

                case Transport t:
                    Console.Write(t.Mileage);
                    break;
                }
            }
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            Unit m1 = new Marine();

            m1._Recall += Marine_Recall;
            m1._Recall += Marine_Recall_Effect;
            m1.TakeDamage(30);
            m1.Move(1, 1);
            Console.WriteLine(m1);
            UseSpecialAbility((ISpecialUnit)m1, 3);

            Unit f1 = new Firebat();

            f1._Recall += Firebat_Recall;
            f1._Recall += Firebat_Recall_Effect;
            f1.TakeDamage(20);
            f1.Move(10, 10);
            Console.WriteLine(f1);

            Unit z1 = new Zealot();

            z1.TakeDamage(150);
            z1.Move(100, 100);
            Console.WriteLine(z1);

            Arbirter a1 = new Arbirter();

            a1.TakeDamage(10);
            a1.Move(5, 5);
            Console.WriteLine(a1);
            a1.Recall(10, 10);
            a1.Recall(10, 10);
            a1.Recall(10, 10);
        }
Esempio n. 6
0
        public void _3_RandomTests()
        {
            for (int n = 0; n < 10; n++)
            {
                int dmg   = random.Next(10, 50);
                int armor = random.Next(10, 50);

                IMarine marine = new Marine(dmg, armor);

                for (int i = 0; i < 10; i++)
                {
                    if (random.NextDouble() <= 0.5)
                    {
                        marine = new MarineWeaponUpgrade(marine);
                        dmg++;
                    }
                    else
                    {
                        marine = new MarineArmorUpgrade(marine);
                        armor++;
                    }
                }

                Assert.AreEqual(dmg, marine.Damage);
                Assert.AreEqual(armor, marine.Armor);
            }
        }
Esempio n. 7
0
    void CollectionAndReportMarineStates(int ReportId, CodeBattle.Observer.ReportEnum ReportType)
    {
        CodeBattle.Observer.MarineReport.Builder rb = new CodeBattle.Observer.MarineReport.Builder();
        rb.Report     = ReportType;
        rb.ReporterId = ReportId;

        foreach (object _m in marines.Values)
        {
            Marine m = (Marine)(_m);
            if (m.status == CodeBattle.Status.Dead)
            {
                continue;
            }
            CodeBattle.Observer.MarineStatus.Builder msb = new CodeBattle.Observer.MarineStatus.Builder();
            msb.Id     = m.id;
            msb.Status = m.status;

            CodeBattle.Vector2.Builder vb = new CodeBattle.Vector2.Builder();
            vb.X = m.transform.position.x;
            vb.Z = m.transform.position.z;

            msb.Position = vb.BuildPartial();

            rb.AddMarines(msb);
        }

        CodeBattle.Observer.Cmd.Builder cmdBuilder = new CodeBattle.Observer.Cmd.Builder();
        cmdBuilder.Cmd_ = CodeBattle.Observer.CmdEnum.marinereport;
        cmdBuilder.Mrt  = rb.BuildPartial();

        CodeBattle.Observer.Cmd cmd = cmdBuilder.BuildPartial();
        byte[] Data = AddLengthHeader(CmdSerialize(cmd));
        SockSend(Data);
    }
Esempio n. 8
0
        protected override void ExecuteInsertUnitCommand(string[] commandWords)
        {
            switch (commandWords[1])
            {
            case "Marine":
                var marine = new Marine(commandWords[2]);
                base.InsertUnit(marine);
                break;

            case "Parasite":
                var parasite = new Parasite(commandWords[2]);
                base.InsertUnit(parasite);
                break;

            case "Queen":
                var queen = new Queen(commandWords[2]);
                base.InsertUnit(queen);
                break;

            case "Tank":
                var tank = new Tank(commandWords[2]);
                base.InsertUnit(tank);
                break;

            default:
                base.ExecuteInsertUnitCommand(commandWords);
                break;
            }
        }
        public void PatterCraft_Decorator()
        {
            var marine = new Marine(10, 1);

            Assert.AreEqual(11, new MarineWeaponUpgrade(marine).Damage);
            Assert.AreEqual(11, new MarineWeaponUpgrade(marine).Damage);
        }
Esempio n. 10
0
 protected override void ExecuteInsertUnitCommand(string[] commandWords)
 {
     switch (commandWords[1])
     {
         case "Tank":
             var tank = new Tank(commandWords[2]);
             this.InsertUnit(tank);
             break;
         case "Marine":
             var marine = new Marine(commandWords[2]);
             this.InsertUnit(marine);
             break;
         case "Parasite":
             var parasite = new Parasite(commandWords[2]);
             this.InsertUnit(parasite);
             break;
         case "Queen":
             var queen = new Queen(commandWords[2]);
             this.InsertUnit(queen);
             break;
         default:
             base.ExecuteInsertUnitCommand(commandWords);
             break;
     }
 }
Esempio n. 11
0
        public Animal CreateMarine(MarineSpecies marineSpecies)
        {
            Marine animalObj = null;

            switch (marineSpecies)
            {
            case MarineSpecies.Goldfish:
                animalObj = new Goldfish();
                break;

            case MarineSpecies.Whales:
                animalObj = new Whales();
                break;


            default:
                Debug.Assert(false, "To be completed!");
                break;
            }


            animalObj.CategoryType = CategoryType.Marine;

            return(animalObj);     //return the created animal object.
        }
Esempio n. 12
0
        protected override void ExecuteInsertUnitCommand(string[] commandWords)
        {
            Unit unit = null;

            switch (commandWords[1])
            {
            case "Tank":
                unit = new Tank(commandWords[2]);
                break;

            case "Marine":
                unit = new Marine(commandWords[2]);
                break;

            case "Parasite":
                unit = new Parasite(commandWords[2]);
                break;

            case "Queen":
                unit = new Queen(commandWords[2]);
                break;

            default:
                break;
            }

            if (unit != null)
            {
                base.InsertUnit(unit);
            }

            base.ExecuteInsertUnitCommand(commandWords);
        }
Esempio n. 13
0
 static void Main()
 {
     Marine M = new Marine();
     M.Move(5, 5);
     M.Attack(10, 10);
     M.Die();
 }
Esempio n. 14
0
        static void Main(string[] args)
        {
            // Marine
            Unit unit = new Marine(new MoveLand(), new Attack());

            unit.Move();
            unit.Attack();

            // Medic
            unit = new Medic(new MoveLand(), new NoAttack());
            unit.Move();
            unit.Attack();

            // Wrath
            unit = new Wrath(new MoveSky(), new Attack());
            unit.Move();
            unit.Attack();

            // Medic special attack
            unit = new Marine(new MoveLand(), new SpecialAttack());
            unit.Move();
            unit.Attack();

            Console.ReadKey();
        }
        public void _0_VisitLight()
        {
            IVisitor   bullet = new TankBullet();
            ILightUnit light  = new Marine();

            light.Accept(bullet);

            Assert.AreEqual(100 - 21, light.Health);
        }
Esempio n. 16
0
        public async void BuildLists()
        {
            MarineList = await Marine.GetMarines();

            ListMarines     = MarineList;
            MarineDocuments = DocumentList;
            Transactions    = TransactionList;
            IsVisible       = false;
        }
        public void _1_DoubleUpgrade()
        {
            IMarine marine = new Marine(15, 1);

            marine = new MarineWeaponUpgrade(marine);
            marine = new MarineWeaponUpgrade(marine);

            Assert.AreEqual(17, marine.Damage);
        }
Esempio n. 18
0
        private void MarineListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            Marine marine = MarineListBox.SelectedItem as Marine;

            MarineEDIPI     = marine.EDIPI;
            MarineFirstName = marine.FirstName;
            MarineLastName  = marine.LastName;
            MarineMI        = marine.MI;
            MarineUpdate();
        }
        public void _2_TripleUpgrade()
        {
            IMarine marine = new Marine(20, 1);

            marine = new MarineWeaponUpgrade(marine);
            marine = new MarineWeaponUpgrade(marine);
            marine = new MarineWeaponUpgrade(marine);

            Assert.AreEqual(23, marine.Damage);
        }
Esempio n. 20
0
        public void Marine_Can_Attack()
        {
            var marine = new Marine();
            var target = new Target {
                Health = 33
            };

            marine.Attack(target);

            Assert.AreEqual(27, target.Health);
        }
Esempio n. 21
0
        public void ShowDemo()
        {
            Marine m = new Marine();

            m.Display();
            m.DisplayA();
            Unit u = m;

            u.Display();
            u.DisplayA();
        }
Esempio n. 22
0
        /// <see cref="EntityBehavior.UpdateState"/>
        public override void UpdateState(Entity entity)
        {
            Marine entityAsMarine = entity as Marine;

            if (entityAsMarine != null)
            {
                entityAsMarine.UpdateStimPacksStatus();
                return;
            }

            /// TODO: handle other entity types here!
        }
Esempio n. 23
0
        public NewMarinePage()
        {
            InitializeComponent();

            Marine = new Marine
            {
                FirstName = "Enter firstname here",
                LastName  = "Enter lastname here"
            };
            MarineCorpsRanks = MarineCorpsRankFactory.All();
            BindingContext   = this;
        }
        public static void OperatorIsExample()
        {
            Transport transport1, transport2, transport3;

            transport1 = new Car(10, 50, 35000);
            transport2 = new Marine(35000);
            transport3 = new Aircraft(35000);

            bool isTransport1Marine = transport1 is Marine;
            bool isTransport2Marine = transport2 is Marine;
            bool isTransport3Marine = transport3 is Marine;
        }
Esempio n. 25
0
        private async void BuildList()
        {
            UnitDiary unitDiary = new UnitDiary();
            Marine    marine    = new Marine();

            DiaryList = await unitDiary.GetAll();

            MarineList = await marine.GetMarines();

            Marines     = MarineList;
            UnitDiaries = DiaryList;
        }
Esempio n. 26
0
        static void Main(string[] args)
        {
            Marine ourMarine = new Marine("아군 마린", 100);

            ourMarine.Attach(new Mainscreen());
            ourMarine.Attach(new StatusScreen());
            ourMarine.Attach(new EnemyScreen());

            ourMarine.Health = 60;
            ourMarine.Health = 40;

            Console.ReadKey();
        }
            protected override Unit CreateUnit(UnitType type)
            {
                Unit unit = null;

                if (type == UnitType.Marine)
                {
                    unit = new Marine();
                }
                else if (type == UnitType.Firebat)
                {
                    unit = new Firebat();
                }

                return(unit);
            }
        public static void OperatorAsExample()
        {
            Transport transport1, transport2, transport3;

            transport1 = new Car(10, 50, 35000);
            transport2 = new Marine(35000);
            transport3 = new Aircraft(35000);

            Marine marine11 = (Marine)transport1;
            Marine marine22 = (Marine)transport2;
            Marine marine33 = (Marine)transport3;

            Marine marine1 = transport1 as Marine;
            Marine marine2 = transport2 as Marine;
            Marine marine3 = transport3 as Marine;
        }
Esempio n. 29
0
            protected override Unit CreateUnit(UnitType type)
            {
                Unit unit = null;
                BarrackUnitBehaviorFactory barrackUnitBehaviorFactory = new BarrackUnitBehaviorFactory();

                if (type == UnitType.Marine)
                {
                    unit = new Marine(barrackUnitBehaviorFactory);
                }
                else if (type == UnitType.Firebat)
                {
                    unit = new Firebat(barrackUnitBehaviorFactory);
                }

                return(unit);
            }
Esempio n. 30
0
    byte[] CmdMarineDamageReport(int attackId, int damageId)
    {
        Marine attackMarineScript = (Marine)marines[attackId];
        Marine damageMarineScript = (Marine)marines[damageId];

        CodeBattle.Observer.MarineReport.Builder rb = new CodeBattle.Observer.MarineReport.Builder();
        rb.Report = CodeBattle.Observer.ReportEnum.damage;

        rb.Mattack = attackMarineScript.GetMarineStatus().BuildPartial();
        rb.Mdamage = damageMarineScript.GetMarineStatus().BuildPartial();

        CodeBattle.Observer.Cmd.Builder cmdBuilder = new CodeBattle.Observer.Cmd.Builder();
        cmdBuilder.Cmd_ = CodeBattle.Observer.CmdEnum.marinereport;
        cmdBuilder.Mrt  = rb.BuildPartial();

        CodeBattle.Observer.Cmd cmd = cmdBuilder.BuildPartial();
        return(CmdSerialize(cmd));
    }
Esempio n. 31
0
        public void ReturnPassiveInteraction_WhenUnitInfoWithNullIdIsPassed()
        {
            var queen  = new Queen("Tereza");
            var marine = new Marine(null);

            var marineInfo = new UnitInfo(marine);
            var queenInfo  = new UnitInfo(queen);

            List <UnitInfo> units = new List <UnitInfo>();

            units.Add(marineInfo);

            var result = queen.DecideInteraction(units);

            var expected = Interaction.PassiveInteraction;

            Assert.AreEqual(expected, result);
        }
        public void TargetUnithWithMaxHealth_WhenThereAreMoreThanOneUnit()
        {
            var marine = new Marine("Pesho");

            var parasite = new Parasite("Boris");
            var queen    = new Queen("Tereza");

            var parasiteInfo = new UnitInfo(parasite);
            var queenInfo    = new UnitInfo(queen);
            var marineInfo   = new UnitInfo(marine);

            List <UnitInfo> units = new List <UnitInfo>();

            units.Add(parasiteInfo);
            units.Add(queenInfo);

            var result   = marine.DecideInteraction(units);
            var expected = new Interaction(marineInfo, queenInfo, InteractionType.Attack);

            Assert.AreEqual(expected.TargetUnit, result.TargetUnit);
        }
        public void ReturnAttackInteractionType_WhenInteractWithAttackableUnit()
        {
            var marine = new Marine("Pesho");

            var parasite = new Parasite("Boris");
            var queen    = new Queen("Tereza");

            var parasiteInfo = new UnitInfo(parasite);
            var queenInfo    = new UnitInfo(queen);
            var marineInfo   = new UnitInfo(marine);

            List <UnitInfo> units = new List <UnitInfo>();

            units.Add(parasiteInfo);
            units.Add(queenInfo);

            var result   = marine.DecideInteraction(units);
            var expected = new Interaction(marineInfo, queenInfo, InteractionType.Attack);

            Assert.AreEqual(expected.InteractionType, result.InteractionType);
        }
Esempio n. 34
0
 protected virtual void ExecuteInsertUnitCommand(string[] commandWords)
 {
     switch (commandWords[1])
     {
         case "Dog":
             var dog = new Dog(commandWords[2]);
             this.InsertUnit(dog);
             break;
         case "Human":
             var human = new Human(commandWords[2]);
             this.InsertUnit(human);
             break;
         case "Tank":
             var tank = new Tank(commandWords[2]);
             this.InsertUnit(tank);
             break;
         case "Marine":
             var marine = new Marine(commandWords[2]);
             this.InsertUnit(marine);
             break;
         case "Parasite":
             var parasite = new Parasite(commandWords[2]);
             this.InsertUnit(parasite);
             break;
         case "Queen":
             var queen = new Queen(commandWords[2]);
             this.InsertUnit(queen);
             break;
         default:
             break;
     }
 }
Esempio n. 35
0
 static void Main()
 {
     Marine M = new Marine();
 }