先天性饥渴 发表于 2014-3-5 09:11

这个虫族的AI代码都是什么意思,谁能科普一下,我也想自己做一个AI

# Zelduck Z v3.13

ZMCx(1344, 101, aiscript):
        start_town()
        transports_off()
        farms_notiming()

#if DEBUG
        debug(null, Zelduck Zerg 3.13)
        --null--
#endif

        build(1, drone, 150)
        wait_buildstart(1, drone)
        build(1, hatchery, 150)
        wait_buildstart(1, hatchery)
        build(1, overlord, 130)
        wait_buildstart(1, overlord)
        build(4, drone, 130)
        wait_buildstart(4, drone)
        race_jump(zvt, zvz, zvp)


                --zvt--
        random_jump(64, 6plr)
        goto(stdzvt)


                --zvz--
        random_jump(64, 6plr)
        goto(stdzvz)


                --zvp--
        random_jump(64, 6plr)
        goto(stdzvp)


                --zexpo--
        start_town()
        build(1, hatchery, 80)
        wait_buildstart(1, hatchery)
        wait_build(1, hatchery)
        build(1, drone, 70)
        wait_buildstart(1, drone)
        build(2, drone, 70)
        wait_buildstart(2, drone)
        build(3, drone, 70)
        wait_buildstart(3, drone)
        build(4, drone, 70)
        wait_buildstart(4, drone)
        build(5, drone, 70)
        wait_buildstart(5, drone)
        build(6, drone, 70)
        wait_buildstart(6, drone)
        build(7, drone, 70)
        wait_buildstart(7, drone)
        build(8, drone, 70)
        wait_buildstart(8, drone)
        build(9, drone, 70)
        wait_buildstart(9, drone)
        build(10, drone, 70)
        wait_buildstart(10, drone)
        build(1, extractor, 70)
        wait_buildstart(1, extractor)
        build(10, drone, 70)
        wait_buildstart(10, drone)
        multirun(sunks)
        multirun(nydus)
        multirun(spore)
        build(6, drone, 70)
        wait_buildstart(6, drone)
        build(7, drone, 70)
        wait_buildstart(7, drone)
        build(8, drone, 70)
        wait_buildstart(8, drone)
        build(9, drone, 70)
        wait_buildstart(9, drone)
        build(10, drone, 70)
        wait_buildstart(10, drone)
        build(11, drone, 70)
        wait_buildstart(11, drone)
        build(12, drone, 70)
        wait_buildstart(12, drone)
        build(13, drone, 70)
        wait_buildstart(13, drone)
        build(10, drone, 70)
        wait_buildstart(10, drone)
        build(11, drone, 70)
        wait_buildstart(11, drone)
        build(12, drone, 70)
        wait_buildstart(12, drone)
        build(13, drone, 70)
        wait_buildstart(13, drone)
        build(14, drone, 70)
        wait_buildstart(14, drone)
        build(15, drone, 70)
        wait_buildstart(15, drone)
        build(16, drone, 70)
        wait_buildstart(16, drone)
        build(17, drone, 70)
        wait_buildstart(17, drone)
        build(18, drone, 70)
        wait_buildstart(18, drone)
        build(19, drone, 70)
        wait_buildstart(19, drone)
        build(20, drone, 70)
        wait_buildstart(20, drone)
        stop()


                --sunks--
        notowns_jump(spawning_pool, buildpool)
        goto(sunks2)


                --buildpool--
        build(1, spawning_pool, 70)
        wait_buildstart(1, spawning_pool)
        goto(sunks2)


                --sunks2--
        creep(0)
        build(1, creep_colony, 70)
        wait_buildstart(1, creep_colony)
        build(2, creep_colony, 70)
        wait_buildstart(2, creep_colony)
        build(3, creep_colony, 70)
        wait_buildstart(3, creep_colony)
        build(4, creep_colony, 70)
        wait_buildstart(4, creep_colony)
        build(1, sunken_colony, 70)
        wait_buildstart(1, sunken_colony)
        build(2, sunken_colony, 70)
        wait_buildstart(2, sunken_colony)
        build(3, sunken_colony, 70)
        wait_buildstart(3, sunken_colony)
        build(4, sunken_colony, 70)
        wait_buildstart(4, sunken_colony)
        stop()


                --spore--
        wait_build(1, evolution_chamber)
        build(1, creep_colony, 70)
        wait_buildstart(1, creep_colony)
        wait_build(1, creep_colony)
        build(1, spore_colony, 70)
        wait_buildstart(1, spore_colony)
        stop()


                --nydus--
        wait_build(1, hive)
        build(1, nydus_canal, 70)
        wait_buildstart(1, nydus_canal)
        stop()


                --zdefiler--
        wait_build(1, defiler_mound)
        tech(consume, 80)
        wait(1100)

        tech(plague, 80)
        wait(1100)

        upgrade(1, defiler_mana, 80)
        stop()


                --6plr--
        build(5, drone, 80)
        wait_buildstart(5, drone)
        build(6, drone, 80)
        wait_buildstart(6, drone)
        build(1, spawning_pool, 80)
        wait_buildstart(1, spawning_pool)
        build(6, drone, 80)
        wait_buildstart(6, drone)
        #build(2, overlord, 80)
        #wait_buildstart(2, overlord)
        wait_build(1, spawning_pool)
        train(6, zergling)
        defenseuse_gg(2, zergling)
        wait_train(6, zergling)
        attack_clear()
        attack_add(6, zergling)
        attack_prepare()
        train(8, zergling)
        farms_timing()
        attack_do()
        train(10, zergling)
        train(12, zergling)
        train(14, zergling)
        train(16, zergling)
        train(18, zergling)
        train(20, zergling)
        train(22, zergling)
        wait_train(22, zergling)
        attack_clear()
        attack_add(22, zergling)
        attack_prepare()
        expand(99, zexpo)
        build(2, hatchery, 80)
        wait_buildstart(2, hatchery)
        attack_do()
        build(5, drone, 80)
        wait_buildstart(5, drone)
        build(6, drone, 80)
        wait_buildstart(6, drone)
        build(1, extractor, 80)
        wait_buildstart(1, extractor)
        build(6, drone, 80)
        wait_buildstart(6, drone)
        build(7, drone, 80)
        wait_buildstart(7, drone)
        build(8, drone, 80)
        wait_buildstart(8, drone)
        build(9, drone, 80)
        wait_buildstart(9, drone)
        build(10, drone, 80)
        wait_buildstart(10, drone)
        build(11, drone, 80)
        wait_buildstart(11, drone)
        build(12, drone, 80)
        wait_buildstart(12, drone)
        build(13, drone, 80)
        wait_buildstart(13, drone)
        build(1, lair, 80)
        wait_buildstart(1, lair)
        build(14, drone, 80)
        wait_buildstart(14, drone)
        build(15, drone, 80)
        wait_buildstart(15, drone)
        build(16, drone, 80)
        wait_buildstart(16, drone)
        build(17, drone, 80)
        wait_buildstart(17, drone)
        build(18, drone, 80)
        wait_buildstart(18, drone)
        build(1, spire, 80)
        wait_buildstart(1, spire)
        build(19, drone, 80)
        wait_buildstart(19, drone)
        build(20, drone, 80)
        wait_buildstart(20, drone)
        build(21, drone, 80)
        wait_buildstart(21, drone)
        build(22, drone, 80)
        wait_buildstart(22, drone)
        build(23, drone, 80)
        wait_buildstart(23, drone)
        train(1, mutalisk)
        defenseuse_ga(1, mutalisk)
        defenseuse_aa(1, mutalisk)
        train(2, mutalisk)
        train(3, mutalisk)
        train(4, mutalisk)
        train(5, mutalisk)
        train(6, mutalisk)
        train(7, mutalisk)
        train(8, mutalisk)
        train(9, mutalisk)
        wait_train(9, mutalisk)
        attack_clear()
        attack_add(9, mutalisk)
        attack_prepare()
        train(2, zergling)
        attack_do()
        goto(6plr_last_loop)


                --6plr_last_loop--
        train(2, zergling)
        train(4, zergling)
        train(6, zergling)
        train(8, zergling)
        train(10, zergling)
        train(12, zergling)
        train(14, zergling)
        train(16, zergling)
        train(18, zergling)
        train(20, zergling)
        train(22, zergling)
        wait_train(22, zergling)
        attack_clear()
        attack_add(22, zergling)
        attack_prepare()
        expand(99, zexpo)
        attack_do()
        wait(1)

        goto(6plr_last_loop)


                --stdzvt--
        define_max(100, drone)
        define_max(100, hydralisk)
        define_max(200, zergling)
        define_max(100, mutalisk)
        define_max(50, scourge)
        define_max(50, lurker)
        define_max(1, queen)
        define_max(6, defiler)
        define_max(20, guardian)
        define_max(20, devourer)
        define_max(20, ultralisk)
        build(5, drone, 80)
        wait_buildstart(5, drone)
        build(6, drone, 80)
        wait_buildstart(6, drone)
        build(7, drone, 80)
        wait_buildstart(7, drone)
        build(8, drone, 80)
        wait_buildstart(8, drone)
        build(9, drone, 80)
        wait_buildstart(9, drone)
        build(2, overlord, 80)
        wait_buildstart(2, overlord)
        build(10, drone, 80)
        wait_buildstart(10, drone)
        build(11, drone, 80)
        wait_buildstart(11, drone)
        build(12, drone, 80)
        wait_buildstart(12, drone)
        expand(99, zexpo)
        build(1, spawning_pool, 80)
        wait_buildstart(1, spawning_pool)
        build(11, drone, 80)
        wait_buildstart(11, drone)
        build(12, drone, 80)
        wait_buildstart(12, drone)
        build(13, drone, 80)
        wait_buildstart(13, drone)
        wait_build(1, spawning_pool)
        train(2, zergling)
        defenseuse_gg(2, zergling)
        train(4, zergling)
        train(6, zergling)
        train(8, zergling)
        build(1, extractor, 80)
        wait_buildstart(1, extractor)
        train(10, zergling)
        train(12, zergling)
        build(3, overlord, 80)
        wait_buildstart(3, overlord)
        farms_timing()
        send_suicide(0)
        build(1, lair, 80)
        wait_buildstart(1, lair)
        build(10, drone, 80)
        wait_buildstart(10, drone)
        upgrade(1, zergling_speed, 80)
        wait_build(1, lair)
        build(1, spire, 80)
        wait_buildstart(1, spire)
        build(11, drone, 80)
        wait_buildstart(11, drone)
        build(12, drone, 80)
        wait_buildstart(12, drone)
        build(13, drone, 80)
        wait_buildstart(13, drone)
        build(14, drone, 80)
        wait_buildstart(14, drone)
        build(15, drone, 80)
        wait_buildstart(15, drone)
        wait_build(1, spire)
        train(1, mutalisk)
        defenseuse_ga(1, mutalisk)
        defenseuse_aa(1, mutalisk)
        train(2, mutalisk)
        train(3, mutalisk)
        train(4, mutalisk)
        train(5, mutalisk)
        train(6, mutalisk)
        build(2, hatchery, 80)
        wait_buildstart(2, hatchery)
        build(1, hydralisk_den, 80)
        wait_buildstart(1, hydralisk_den)
        train(7, mutalisk)
        train(8, mutalisk)
        train(9, mutalisk)
        train(10, mutalisk)
        send_suicide(0)
        expand(99, zexpo)
        wait_build(1, hydralisk_den)
        tech(lurker_aspect, 80)
        train(1, hydralisk)
        defenseuse_gg(1, hydralisk)
        defenseuse_ag(1, hydralisk)
        train(2, hydralisk)
        build(1, evolution_chamber, 80)
        wait_buildstart(1, evolution_chamber)
        build(13, drone, 80)
        wait_buildstart(13, drone)
        train(1, mutalisk)
        train(3, hydralisk)
        train(4, hydralisk)
        wait_build(1, evolution_chamber)
        build(1, queen_nest, 80)
        wait_buildstart(1, queen_nest)
        train(1, lurker)
        defenseuse_gg(1, lurker)
        train(2, lurker)
        train(3, lurker)
        train(4, lurker)
        train(2, zergling)
        train(4, zergling)
        train(6, zergling)
        train(8, zergling)
        train(10, zergling)
        train(1, hydralisk)
        train(2, hydralisk)
        train(3, hydralisk)
        train(4, hydralisk)
        wait_build(1, queen_nest)
        build(1, hive, 80)
        wait_buildstart(1, hive)
        upgrade(1, z_carapace, 80)
        train(5, lurker)
        train(6, lurker)
        train(7, lurker)
        train(8, lurker)
        train(1, hydralisk)
        train(2, hydralisk)
        train(3, hydralisk)
        train(9, lurker)
        train(10, lurker)
        train(11, lurker)
        train(1, hydralisk)
        train(2, hydralisk)
        train(12, zergling)
        train(14, zergling)
        train(16, zergling)
        train(18, zergling)
        train(20, zergling)
        train(22, zergling)
        train(24, zergling)
        train(26, zergling)
        train(28, zergling)
        train(2, scourge)
        defenseuse_aa(2, scourge)
        train(12, lurker)
        train(13, lurker)
        train(1, hydralisk)
        build(1, defiler_mound, 80)
        wait_buildstart(1, defiler_mound)
        multirun(zdefiler)
        build(3, hatchery, 80)
        wait_buildstart(3, hatchery)
        train(2, hydralisk)
        train(3, hydralisk)
        train(36, zergling)
        train(16, lurker)
        train(4, scourge)
        wait_build(1, defiler_mound)
        train(3, defiler)
        send_suicide(0)
        goto(stdzvt_loop)


                --stdzvt_loop--
        train(16, hydralisk)
        train(36, zergling)
        train(16, lurker)
        train(4, scourge)
        train(3, defiler)
        send_suicide(0)
        wait(300)

        goto(stdzvt_loop)


                --stdzvz--
        define_max(100, drone)
        define_max(100, hydralisk)
        define_max(200, zergling)
        define_max(100, mutalisk)
        define_max(50, scourge)
        define_max(50, lurker)
        define_max(1, queen)
        define_max(1, defiler)
        define_max(20, guardian)
        define_max(20, devourer)
        define_max(20, ultralisk)
        build(5, drone, 80)
        wait_buildstart(5, drone)
        build(6, drone, 80)
        wait_buildstart(6, drone)
        build(7, drone, 80)
        wait_buildstart(7, drone)
        build(8, drone, 80)
        wait_buildstart(8, drone)
        build(9, drone, 80)
        wait_buildstart(9, drone)
        build(2, overlord, 80)
        wait_buildstart(2, overlord)
        build(10, drone, 80)
        wait_buildstart(10, drone)
        build(11, drone, 80)
        wait_buildstart(11, drone)
        build(12, drone, 80)
        wait_buildstart(12, drone)
        expand(99, zexpo)
        build(1, spawning_pool, 80)
        wait_buildstart(1, spawning_pool)
        build(11, drone, 80)
        wait_buildstart(11, drone)
        build(12, drone, 80)
        wait_buildstart(12, drone)
        build(13, drone, 80)
        wait_buildstart(13, drone)
        build(1, extractor, 80)
        wait_buildstart(1, extractor)
        wait_build(1, spawning_pool)
        train(2, zergling)
        defenseuse_gg(2, zergling)
        defensebuild_gg(2, zergling)
        train(4, zergling)
        train(6, zergling)
        build(3, overlord, 80)
        wait_buildstart(3, overlord)
        train(8, zergling)
        build(1, lair, 80)
        wait_buildstart(1, lair)
        train(10, zergling)
        train(12, zergling)
        upgrade(1, zergling_speed, 80)
        train(14, zergling)
        train(16, zergling)
        train(18, zergling)
        train(20, zergling)
        build(4, overlord, 80)
        wait_buildstart(4, overlord)
        farms_timing()
        wait_build(1, lair)
        build(1, spire, 80)
        wait_buildstart(1, spire)
        build(12, drone, 80)
        wait_buildstart(12, drone)
        wait_build(1, spire)
        train(1, mutalisk)
        defenseuse_ga(1, mutalisk)
        defenseuse_aa(1, mutalisk)
        defensebuild_ga(1, mutalisk)
        defensebuild_aa(1, mutalisk)
        train(2, mutalisk)
        train(3, mutalisk)
        train(4, mutalisk)
        train(5, mutalisk)
        train(6, mutalisk)
        attack_add(5, mutalisk)
        attack_prepare()
        attack_add(6, mutalisk)
        train(7, mutalisk)
        train(8, mutalisk)
        train(9, mutalisk)
        attack_do()
        attack_clear()
        goto(stdzvz_last_loop)


                --stdzvz_last_loop--
        train(10, mutalisk)
        attack_add(10, mutalisk)
        attack_prepare()
        attack_do()
        attack_clear()
        wait(500)

        goto(stdzvz_last_loop)


                --stdzvp--
        define_max(100, drone)
        define_max(100, hydralisk)
        define_max(200, zergling)
        define_max(100, mutalisk)
        define_max(50, scourge)
        define_max(50, lurker)
        define_max(1, queen)
        define_max(6, defiler)
        define_max(20, guardian)
        define_max(20, devourer)
        define_max(20, ultralisk)
        build(5, drone, 80)
        wait_buildstart(5, drone)
        build(6, drone, 80)
        wait_buildstart(6, drone)
        build(7, drone, 80)
        wait_buildstart(7, drone)
        build(8, drone, 80)
        wait_buildstart(8, drone)
        build(9, drone, 80)
        wait_buildstart(9, drone)
        build(2, overlord, 80)
        wait_buildstart(2, overlord)
        build(10, drone, 80)
        wait_buildstart(10, drone)
        build(11, drone, 80)
        wait_buildstart(11, drone)
        build(12, drone, 80)
        wait_buildstart(12, drone)
        build(13, drone, 80)
        wait_buildstart(13, drone)
        build(14, drone, 80)
        wait_buildstart(14, drone)
        expand(99, zexpo)
        build(14, drone, 80)
        wait_buildstart(14, drone)
        build(1, spawning_pool, 80)
        wait_buildstart(1, spawning_pool)
        build(14, drone, 80)
        wait_buildstart(14, drone)
        build(15, drone, 80)
        wait_buildstart(15, drone)
        expand(99, zexpo)
        wait_build(1, spawning_pool)
        train(2, zergling)
        defenseuse_gg(2, zergling)
        build(3, overlord, 80)
        wait_buildstart(3, overlord)
        farms_timing()
        train(4, zergling)
        train(6, zergling)
        build(2, hatchery, 80)
        wait_buildstart(2, hatchery)
        build(1, extractor, 80)
        wait_buildstart(1, extractor)
        train(8, zergling)
        build(11, drone, 80)
        wait_buildstart(11, drone)
        build(1, hydralisk_den, 80)
        wait_buildstart(1, hydralisk_den)
        build(12, drone, 80)
        wait_buildstart(12, drone)
        build(1, lair, 80)
        wait_buildstart(1, lair)
        wait_build(1, hydralisk_den)
        train(10, zergling)
        train(1, hydralisk)
        defenseuse_gg(1, hydralisk)
        defenseuse_ag(1, hydralisk)
        train(2, hydralisk)
        train(3, hydralisk)
        train(4, hydralisk)
        train(5, hydralisk)
        train(6, hydralisk)
        wait_build(1, lair)
        upgrade(1, overlord_speed, 80)
        build(14, drone, 80)
        wait_buildstart(14, drone)
        tech(lurker_aspect, 80)
        build(1, spire, 80)
        wait_buildstart(1, spire)
        upgrade(1, zergling_speed, 80)
        train(12, zergling)
        train(14, zergling)
        train(16, zergling)
        train(18, zergling)
        train(20, zergling)
        train(22, zergling)
        train(24, zergling)
        train(26, zergling)
        train(28, zergling)
        train(30, zergling)
        train(32, zergling)
        build(1, evolution_chamber, 80)
        wait_buildstart(1, evolution_chamber)
        build(2, evolution_chamber, 80)
        wait_buildstart(2, evolution_chamber)
        multirun(dual_evos)
        train(1, lurker)
        defenseuse_gg(1, lurker)
        train(2, lurker)
        train(3, lurker)
        train(4, lurker)
        build(3, hatchery, 80)
        wait_buildstart(3, hatchery)
        wait_build(1, spire)
        train(2, scourge)
        defenseuse_aa(2, scourge)
        train(4, scourge)
        train(6, scourge)
        train(8, scourge)
        send_suicide(0)
        expand(99, zexpo)
        train(2, zergling)
        train(1, hydralisk)
        train(2, hydralisk)
        train(2, scourge)
        train(4, zergling)
        train(6, zergling)
        train(8, zergling)
        train(10, zergling)
        train(3, hydralisk)
        train(12, zergling)
        train(14, zergling)
        train(16, zergling)
        train(1, lurker)
        train(2, lurker)
        train(3, lurker)
        train(18, zergling)
        build(1, queen_nest, 80)
        wait_buildstart(1, queen_nest)
        train(1, hydralisk)
        train(2, hydralisk)
        train(3, hydralisk)
        train(4, hydralisk)
        train(18, zergling)
        train(20, zergling)
        train(22, zergling)
        train(24, zergling)
        train(26, zergling)
        train(28, zergling)
        train(30, zergling)
        train(4, lurker)
        train(5, lurker)
        train(6, lurker)
        train(32, zergling)
        wait_build(1, queen_nest)
        build(1, hive, 80)
        wait_buildstart(1, hive)
        train(34, zergling)
        train(36, zergling)
        train(38, zergling)
        train(40, zergling)
        train(42, zergling)
        train(44, zergling)
        train(46, zergling)
        train(48, zergling)
        train(50, zergling)
        train(52, zergling)
        train(54, zergling)
        send_suicide(0)
        expand(99, zexpo)
        train(1, hydralisk)
        train(2, hydralisk)
        train(3, hydralisk)
        train(4, hydralisk)
        train(5, hydralisk)
        train(6, hydralisk)
        train(7, hydralisk)
        train(2, zergling)
        train(4, zergling)
        train(6, zergling)
        build(4, hatchery, 80)
        wait_buildstart(4, hatchery)
        train(8, zergling)
        train(10, zergling)
        train(12, zergling)
        build(5, hatchery, 80)
        wait_buildstart(5, hatchery)
        train(8, hydralisk)
        train(9, hydralisk)
        train(1, lurker)
        train(2, lurker)
        train(3, lurker)
        train(4, lurker)
        train(5, lurker)
        train(14, zergling)
        train(16, zergling)
        train(18, zergling)
        train(20, zergling)
        train(22, zergling)
        train(24, zergling)
        train(4, hydralisk)
        train(5, hydralisk)
        train(6, lurker)
        train(26, zergling)
        train(28, zergling)
        train(30, zergling)
        train(32, zergling)
        train(34, zergling)
        train(36, zergling)
        train(38, zergling)
        train(2, scourge)
        send_suicide(0)
        goto(stdzvp_loop)


                --stdzvp_loop--
        train(1, hydralisk)
        train(2, hydralisk)
        train(3, hydralisk)
        train(4, hydralisk)
        train(5, hydralisk)
        train(6, hydralisk)
        train(7, hydralisk)
        train(2, zergling)
        train(4, zergling)
        train(6, zergling)
        train(8, zergling)
        train(10, zergling)
        train(12, zergling)
        train(8, hydralisk)
        train(9, hydralisk)
        train(1, lurker)
        train(2, lurker)
        train(3, lurker)
        train(4, lurker)
        train(5, lurker)
        train(14, zergling)
        train(16, zergling)
        train(18, zergling)
        train(20, zergling)
        train(22, zergling)
        train(24, zergling)
        train(5, hydralisk)
        train(6, hydralisk)
        train(6, lurker)
        train(26, zergling)
        train(28, zergling)
        train(30, zergling)
        train(32, zergling)
        train(34, zergling)
        train(36, zergling)
        train(38, zergling)
        train(2, scourge)
        send_suicide(0)
        wait(1000)

        goto(stdzvp_loop)


                --dual_evos--
        wait_build(2, evolution_chamber)
        upgrade(1, z_carapace, 80)
        upgrade(1, z_melee_attack, 80)
        wait(3192)

        upgrade(2, z_carapace, 80)
        upgrade(2, z_melee_attack, 80)
        wait(3576)

        upgrade(3, z_carapace, 80)
        upgrade(3, z_melee_attack, 80)
        stop()

先天性饥渴 发表于 2014-3-5 09:18

我没看明白,这个AI好像没根据对方开局在打啊,是不是可以让他多几个分支,类似于C语言中case语句之类的

SimoN 发表于 2014-3-5 09:51

[:103]

rolin 发表于 2014-3-5 16:55

这叫什么ai 一些流程化的东西
即便有 也是一些封装好的宏 脚本只有个简单的调用
你看不出什么的

OruA 发表于 2014-3-5 16:59

@啊当
页: [1]
查看完整版本: 这个虫族的AI代码都是什么意思,谁能科普一下,我也想自己做一个AI