Exemple #1
0
        public IEnumerable <Step> GetSteps()
        {
            return(Openings.TwelveHatch()
                   .Concat(new Step[]
            {
                Make.Drone,
                Make.Drone,
                Make.Drone,
                Make.Hatchery(HatcheryType.MainMacro),
                Make.Extractor,
                Make.Zergling     // scout
            })
                   //.Concat(While(() => UsedSupply < 15, () => Make.Drone))
                   .Concat(Repeat(() => Make.Drone, 4))
                   .Concat(Make.Overlord.Yield())
                   .Concat(Repeat(() => Make.Drone, 2))
                   //.Concat(While(() => Game.Self.Gas < 100, () => Make.Drone))
                   .Concat(Make.Lair.Yield())
                   .Concat(Repeat(() => Make.Drone, 3))
                   //.Concat(While(() => Game.Self.Gas < 100 || CompletionPercentage(UnitType.Zerg_Lair) < 10, () => Make.Drone))
                   .Concat(Make.ZerglingSpeed.Yield())
                   .Concat(Make.Extractor.Yield())
                   .Concat(Repeat(() => Make.Drone, 4))
                   .Concat(Make.Overlord.Yield())
                   .Concat(Repeat(() => Make.Drone, 4))
                   .Concat(Make.Spire.Yield())
                   .Concat(Repeat(() => Make.Zergling, 6))
                   .Concat(Repeat(() => Make.Overlord, 3))
                   .Concat(Repeat(() => Make.Mutalisk, 9))
                   .Concat(Do.SendDroneToThird.Yield())
                   .Concat(Make.HydraliskDen.Yield())
                   .Concat(Make.QueensNest.Yield())
                   .Concat(Repeat(() => Make.Drone, 4))
                   .Concat(Make.Hatchery(HatcheryType.ThirdExp).Yield())
                   .Concat(Make.LurkerAspect.Yield())
                   .Concat(Make.Hive.Yield())
                   .Concat(Make.DefilerMound.Yield())
                   .Concat(Make.UltraliskCavern.Yield())
                   .Concat(Make.NydusCanal.Yield())
                   .Concat(Make.NydusExit.Yield())
                   .Concat(While(() => true, () => Make.Zergling)));

            //.Concat(While(() => !HaveBuilding(UnitType.Zerg_Lair) && CompletionPercentage(UnitType.Zerg_Lair) < 90, () => Make.Drone));
        }