DGSW_StarcraftClub_CivilWar 14

스타크래프트 봇 동아리, 내전용 봇 개발 (#8)

저그의 또다른 카이팅 유닛이자 테란전 필수 유닛 '뮤탈리스크' 체력도 무난하고 이름바 쓰리쿠션이라고 자주 불리는 일종의 스플래시 대미지가 존재한다. 한 번에 세 번 공격 하나, 첫 번째 공격만 컨트롤이 가능하고 나머지 공격들은 컨트롤할 수 없다. 공격 방식이 독특하기에 이를 글로 설명하자니 어렵기에 직접 찾아 이해하시길 바랍니다. 비교적 짧은 코드로 나쁘지 않는 성과를 내어 좋았다. 물론 여러 프로들이 사용하는 뮤탈 뭉치기, 뮤탈 컨트롤은 따로 구현할 수 있다면 구현하도록하겠다. Position getKiteVector(Unit unit, Unit target) { Position fleeVec = new Position(target.getPosition().getX() - unit.getPosition..

스타봇 2021.07.16

스타크래프트 봇 동아리, 내전용 봇 개발 (#7)

저그 유저의 필수 유닛 중 하나이지만 본인이 당하면 역겨운 유닛, '러커 (럴커)'. ※본 저자는 러커보다는 럴커가 더 편하여 럴커라고 적겠습니다. 글을 읽는 데에 참고해주세요. 저그의 희망 중 하나인 '럴커'는 지상으로만 공격이 가능하고, 또 공격을 하기위해서는 반드시 '버러우(잠복)'을 해야만 한다. 럴커의 공격하는 거리는 6이지만, 실제 타격 범위는 7로 코드를 짜는 데 7로 작성하였다. (물론 추후 6으로 수정가능) 이번 코드는 꽤 복잡하나, 중간중간 설명을 하겠다. private void lurkerControl(Unit unit) { if (!unit.exists() || unit == null || pos == null) return; boolean inOrderRange = unit.get..

스타봇 2021.07.15

스타크래프트 봇 동아리, 내전용 봇 개발 (#3)

스타크래프트는 유즈맵으로 더 많이 알려져있으나 원래는 전략게임이다. 스타크래프트 수도 셀 수없이 많은 빌드들이 있고 또, 저자가 구현하는 봇 역시 빌드를 구현하고자한다. 봇에게 부여할 빌드는 9드론 빌드를 부여하고자한다. 공격도 자주할 수 있고 후속 빌드를 이어가서 최대한 빠르게 게임을 끝내고자 9드론 빌드를 선택하였다. Strategy에서 setInitialBuildOrder메소드에서 미리지정을 하면 그에 따라 순차적으로 작동한다. 자신의 종족에 따라 초반 빌드오더가 미리 짜여있겠으나 저자는 저그만 구현할 예정이기에 이를 다 지우고 9드론 초반 빌드만을 작성하였다. public void setInitialBuildOrder() { BuildManager.Instance().buildQueue.queue..

스타봇 2021.07.12