작성자 | Nedsociety | ||
---|---|---|---|
작성일 | 2010-11-04 20:36:53 KST | 조회 | 553 |
첨부 |
|
||
제목 |
Andromeda
|
Andromeda라는 대물급 익스텐션이 등장했습니다.
Galaxy 언어의 Extension인데, 문법이 Java와 거의 일치합니다.
월드에디터 시절 JASS 익스텐션과 비슷한 것 같습니다.
http://sc2mod.com/board/index.php?page=Thread&threadID=13
이대로면 수많은 노가다성 코드작업이 사라지는 날도 멀지 않은 것 같습니다.
아직은 알파 스테이지라 구현도 아직 완전하지 않고 컴파일도 귀찮은 편이지만,
OOP를 위한 클래스를 거의 완벽히 구현했다는 점만 쳐도 자료구조 구현에 있어 막대한 영향을 끼칩니다.
겉으로면 struct 만들어 놓고 정작 포인터를 뺀 블리자드의 삽질을 생각하면 이보다 환영할만한 게 없습니다.
예제로 만들어본 코드는 다음과 같습니다. (99-bottles-of-beer; 10개로 줄인 버전)
class PrintBeer { private int mp; public PrintBeer(int p) { mp = p; } private string bottleplural(int p) { if(p == 0) return "no more bottles"; else if(p > 1) return p + " bottles"; else return p + " bottle"; } public void print() { string s = bottleplural(mp) + " of beer on the wall, " + bottleplural(mp) + " of beer."; if(mp == 0) { mp = 10; s += "Go to the store and buy some more, " + bottleplural(mp) + " of beer on the wall."; } else { --mp; s += "Take one down and pass it around, " + bottleplural(mp) + " of beer on the wall."; } UIDisplayMessage(PlayerGroupAll(), c_messageAreaChat, s); } } static { PrintBeer p = new PrintBeer(10); for(;;) { p.print(); Wait(1.0, c_timeGame); } } |
실행 결과:
첨부파일은 컴파일된 맵 및 위 예제 코드입니다.
요청하시는 분이 계시면 대략적인 적용방법을 팁게에 올리겠습니다.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
© PlayXP Inc. All Rights Reserved.