NeuroWhAI의 잡블로그

[ClickWar2] 스크립트 설명서 본문

자료

[ClickWar2] 스크립트 설명서

NeuroWhAI 2018. 6. 7. 16:50


[ClickWar2 스크립트란?]

칩을 생산할때 필요한 기술 중 프로그램 개발에 쓰이는 언어입니다.


[문법]

명령어 : 매개변수1, 매개변수2, ..., 매개변수n ;

이렇게 됩니다.

'(매개변수n)'  이렇게 괄호가 있는경우 굳이 없어도 된다는 의미입니다.


또한 변수를 사용할때

"이름" : 이렇게 사용하면 쓰기작업용이고

이름 : 이렇게 사용하면 읽기용 입니다.


[용어 설명]

숫자 : -1, -2, 0, 1, 2 등의 정수

문자열 : "Hello", "뭐지What is good." 등의 큰따옴표(")로 감싸진 값

값 : 숫자 또는 문자열

방향 : 문자열인데 특수하게 방향을 나타냅니다. "here", "up", "down", "left", "right"가 있습니다.

'숫자'나 '문자열'은 변수로 대치할 수 있습니다.


[명령어의 종류와 사용법]

jump : 숫자 ;

ex) jump : -1 ; // jump명령어가 위치한 곳에서 바로 이전 명령어로 실행점을 옮깁니다.

ex) jump : 6 ; // jump명령어가 위치한 곳에서 6번째 뒤의 명령어로 실행점을 옮깁니다.

ex) jump : hi ; // hi라는 변수에 담긴 값만큼 실행점을 옮깁니다.

축약어 : jmp


jump if equals : 값1, 값2, 숫자 ;

ex) jump if equals : 123, 123, -1 ; // 123과 123은 같으므로 바로 이전 명령어로 실행점을 옮깁니다.

ex) jump if equals : 123, 456, 22 ; // 123과 456은 다르므로 아무것도 하지않고 바로 다음 명령어로 실행점을 옮깁니다.

ex) jump if equals : "Hi", "Hello", 22 ; // "Hi"와 "Hello"는 다르므로 아무것도 하지않고 바로 다음 명령어로 실행점을 옮깁니다.

축약어 : jmp==


jump if not equals : 값1, 값2, 숫자 ;

ex) jump if not equals : 123, 123, 22 ; // 123과 123은 같으므로 아무것도 하지않고 바로 다음 명령어로 실행점을 옮깁니다.

ex) jump if not equals : 123, 456, -1 ; // 123과 456은 다르므로 바로 이전 명령어로 실행점을 옮깁니다.

축약어 : jmp!=


jump if small : 숫자1, 숫자2, 숫자3 ;

ex) jump if small : 12, 123, 2 ; // 12는 123보다 작으므로 2번째 뒤의 명령어로 실행점을 옮깁니다. 

ex) jump if small : 456, 123, -1 ; // 456은 123보다 작지 않으므로 아무것도 하지않고 바로 다음 명령어로 실행점을 옮깁니다.

축약어 : jmp<


jump if big : 숫자1, 숫자2, 숫자3 ;

ex) jump if big : 12, 123, 2 ; // 12는 123보다 크지 않으므로 아무것도 하지않고 바로 다음 명령어로 실행점을 옮깁니다.

ex) jump if big : 456, 123, 2 ; // 456은 123보다 크므로 2번째 뒤의 명령어로 실행점을 옮깁니다. 

축약어 : jmp>


interrupt : 방향, 문자열, 값 ;

ex) interrupt : "down", "inputFromUp", 1 ; // 아래쪽 칩이 가지는 inputFromUp이라는 변수에 1을 넣습니다. (자기 칩 아니더라도 가능)

ex) interrupt : "left", "asdf", "data!!" ; // 왼쪽 칩이 가지는 asdf라는 변수에 "data!!"를 넣습니다. (자기 칩 아니더라도 가능)

축약어 : intr


add : 문자열, 값1, 값2 ;

ex) add : "sum", 12, 3 ; // 12와 3을 더한 값을 sum이라는 변수에 넣습니다.

ex) add : "text", "hello ", 123 ; // "hello "와 123을 합치면 "hello 123"이 되고 이 값을 text라는 변수에 넣습니다.

ex) add : "text", "hello ", "world!" ; // "hello "와 "world!"를 합치면 "hello world!"가 되고 이 값을 text라는 변수에 넣습니다.

축약어 : '없음'


subtract : 문자열, 숫자1, 숫자2 ;

ex) subtract : "sub", 12, 3 ; // 12에서 3을 뺀 값을 sub라는 변수에 넣습니다.

축약어 : sub


multiply : 문자열, 숫자1, 숫자2 ;

ex) multiply : "mul", 12, 3 ; // 12에 3을 곱한 값을 mul이라는 변수에 넣습니다.

축약어 : mul


attack : 방향 ;

ex) attack : "up" ; // 칩이 위치한 곳을 기준으로 위쪽의 타일을 공격합니다. (단, 규칙상으로 가능할때만)

ex) attack : "right" ; // 칩이 위치한 곳을 기준으로 오른쪽의 타일을 공격합니다. (단, 규칙상으로 가능할때만)

축약어 : atk


send : 방향 ;

ex) send : "down" ; // 칩이 위치한 곳을 기준으로 아래쪽으로 힘을 보냅니다. (단, 규칙상으로 가능할때만)

ex) send : "left" ; // 칩이 위치한 곳을 기준으로 왼쪽으로 힘을 보냅니다. (단, 규칙상으로 가능할때만)

축약어 : snd


variable : 문자열, 값 ;

ex) variable : "value", 123 ; // value라는 변수에 123을 대입합니다. (없으면 만듬)

ex) variable : "ㅋㅋㅋ6", "z..." ; // ㅋㅋㅋ6이라는 변수에 "z..."를 대입합니다. (없으면 만듬)

축약어 : var


get power : 문자열, 방향 ;

ex) get power : "power", "here" ; // 칩이 설치된 곳의 힘값을 power라는 변수에 넣습니다.

ex) get power : "asdf", "left" ; // 칩이 설치된 곳을 기준으로 왼쪽의 힘값을 asdf라는 변수에 넣습니다.

축약어 : pwr


get owner : 문자열, 방향 ;

ex) get owner : "owner", "here" ; // 칩이 설치된 곳의 주인 이름을 owner라는 변수에 넣습니다.

ex) get owner : "asdf", "left" ; // 칩이 설치된 곳을 기준으로 왼쪽의 주인 이름을 asdf라는 변수에 넣습니다.

축약어 : owr


get resource : 문자열1, 문자열2 ;

ex) get resource : "wow", "뭐지What" ; // 뭐지What이라는 플레이어의 자원 보유량을 wow라는 변수에 넣습니다.

축약어 : src


get area : 문자열1, 문자열2 ;

ex) get area : "aaa", "뭐지What" ; // 뭐지What이라는 플레이어의 영토 넓이를 aaa라는 변수에 넣습니다.

축약어 : ara


get sign : 문자열, 방향 ;

ex) get sign : "sign", "here" ; // 칩이 설치된 곳의 푯말을 sign이라는 변수에 넣습니다.

ex) get sign : "뀨뀨", "right" ; // 칩이 설치된 곳을 기준으로 오른쪽의 푯말을 뀨뀨라는 변수에 넣습니다.

축약어 : sgn


convert : 숫자 ;

ex) convert : 120 ; // 자신의 자원에서 120만큼 칩이 설치된 곳의 힘으로 변환합니다. (단, 자원이 충분할때만)

축약어 : cvt


to integer : 문자열, 문자열 ;

ex) to integer : "num", "123" ; // num이라는 변수에 "123"을 숫자로 변환한 값인 123을 넣습니다.

ex) to integer : "num", text ; // text라는 변수에 담긴 문자열을 숫자로 변환한 값을 num이라는 변수에 넣습니다.

축약어 : int


random : 문자열, (숫자1), (숫자2) ;

ex) random : "rnd" ; // rnd라는 변수에 랜덤한 숫자값을 넣습니다.

ex) random : "rnd", 5 ; // rnd라는 변수에 0~4 중의 숫자 중 랜덤한 값을 넣습니다.

ex) random : "rnd", 3, 7 ; // rnd라는 변수에 3~6 중의 숫자 중 랜덤한 값을 넣습니다.

축약어 : rnd


divide : 문자열, 숫자1, 숫자2 ;

ex) divide : "div", 4, 2 ; // div라는 변수에 4 나누기 2의 몫인 2를 넣습니다.

ex) divide : "div", -6, 4 ; // div라는 변수에 -6 나누기 4의 몫인 -1을 넣습니다.

축약어 : div


modulo : 문자열, 숫자1, 숫자2 ;

ex) modulo : "mod", 4, 2 ; // div라는 변수에 4 나누기 2의 나머지인 0을 넣습니다.

ex) modulo : "mod", -6, 4 ; // div라는 변수에 -6 나누기 4의 나머지인 -2를 넣습니다.

축약어 : mod





Comments