728x90
이번에 구현하고자 하는 것은 차원관문 업그레이드입니다.
차원관문은 스2에서만 존재하는 특별한 기능 중 하나입니다.관문을 통하여 생산하는 유닛이고, 동력이 통하는 곳이라면 어디서든지 생산이 가능하게 만드는 기능입니다.또, 생산속도 역시 빨라집니다.
차원관문을 업그레이드 중이 아니고 인공제어소가 있다면 업그레이드하도록 하는 것이 로직입니다.
async def warpgate_research(self):
if (
self.structures(UnitTypeId.CYBERNETICSCORE).ready
and self.can_afford(AbilityId.RESEARCH_WARPGATE)
and self.already_pending_upgrade(UpgradeId.WARPGATERESEARCH) == 0
):
cybercore = self.structures(UnitTypeId.CYBERNETICSCORE).ready.first
cybercore.research(UpgradeId.WARPGATERESEARCH)
업그레이드는 인공제어소에서 하기때문에 인공제어소가 건설 완료되었는 지 확인하고
자원이 충분하며, 동시에 업그레이드 예약이 되어있지않을 때에만 업그레이드하도록 합니다.
first 라는 변수는 가장 첫 번쨰로 지어진 것만 가져오는 변수입니다.
다음번에는 공격을 구현할 것입니다.
'스타크래프트2 봇' 카테고리의 다른 글
압생트(Absinthe)봇 만들기 (#9) (0) | 2021.08.18 |
---|---|
압생트(Absinthe)봇 만들기 (#8) (0) | 2021.08.17 |
압생트(Absinthe)봇 만들기 (#6) (0) | 2021.08.15 |
압생트(Absinthe)봇 만들기 (#5) (0) | 2021.08.14 |
압생트(Absinthe)봇 만들기 (#4) (0) | 2021.08.13 |