[ONScripter] 19. 배열변수의 선언(dim)과 변수대입(movl) 강의이야기 | Posted on 2010. 10. 28. 15:31
이 강의는 MPPC (미소녀 & PocketPC)의 Pure Ani에게 저작권이 있습니다.
이번 강의는 배열변수에 대해서 알아보겠습니다.
1. dim
배열변수를 선언할때 사용하며, 정의명령어 선언부에 선언해주시면됩니다.
a. 1차원배열
선언은 dim ?변수[숫자(배열변수의 칸수)] 입니다.
*define
dim ?1[2]
game
*start
mov3 ?1[0], 1, 2, 3
위의 스크립트를 이미지화 시키면 아래와 같습니다.
?1─┬─┬─┐
│1│2│3│
└─┴─┴─┘
위의 이미지처럼 큰 박스가 배열변수 ?1 입니다.
작은 박스들은 변수들이 들어가는 공간이구요.
배열변수의 칸수가 2인데 칸수는 총 3개인 이유는 일상에서 쓰는 숫자의 시작은 1부터이지만, 컴퓨터의 경우는 0부터이기 때문인것으로 보입니다.
배열변수 ?1에 들어간 숫자들을 화면에 출력해보겠습니다.
*define
dim ?1[2]
game
*start
mov3 ?1[0], 1, 2, 3
?1[0]
?1[1]
?1[2]
click
?1[0]에는 1, ?1[1]에는 2, ?1[2]에는 3이 들어가있다는것을 아실 수 있습니다.
b. 2차원배열
선언은 dim ?변수 [숫자][숫자] 입니다.
*define
dim ?1[1][2]
game
*start
mov3 ?1[0], 1, 2, 3
mov3 ?1[1], 4, 5, 6
위의 스크립트를 이미지화 시키면 아래와 같습니다.
?1─┬─┬─┐
│1│2│3│
├─┼─┼─┤
│4│5│6│
└─┴─┴─┘
1차원 배열이 x축의 개념만 존재했다면, 2차원 배열은 y축의 개념이 존재합니다.
3차원 배열로 가면 z축의 개념도 등장 입체가되어 표현자체가 복잡해지니 패스합니다.
이것을 온스크립터에 출력해보겠습니다.
*define
dim ?1[1][2]
game
*start
mov3 ?1[0], 1, 2, 3
mov3 ?1[1], 4, 5, 6
?1[0][0] ?1[0][1] ?1[0][2]
?1[1][0] ?1[1][1] ?1[1][2]
click
2. movl
변수를 대입할때 사용하는 명령어입니다.
기본적인것은 mov와 같습니다.
사용법은 movl 변수, 숫자 입니다.
예시로 위의 스크립트를 응용해보겠습니다.
일단 1-a 입니다.
*define
dim ?1[2]
game
*start
movl ?1[0], 1, 2, 3
?1[0]
?1[1]
?1[2]
click
그리고 1-b 입니다.
*define
dim ?1[1][2]
game
*start
movl ?1[0], 1, 2, 3
movl ?1[1], 4, 5, 6
?1[0][0] ?1[0][1] ?1[0][2]
?1[1][0] ?1[1][1] ?1[1][2]
click
위와 같이 표현이 가능합니다.
작성자 Pure Ani
출 처 MPPC (미소녀 & PocketPC)
이번 강의는 배열변수에 대해서 알아보겠습니다.
1. dim
배열변수를 선언할때 사용하며, 정의명령어 선언부에 선언해주시면됩니다.
a. 1차원배열
선언은 dim ?변수[숫자(배열변수의 칸수)] 입니다.
*define
dim ?1[2]
game
*start
mov3 ?1[0], 1, 2, 3
위의 스크립트를 이미지화 시키면 아래와 같습니다.
?1─┬─┬─┐
│1│2│3│
└─┴─┴─┘
위의 이미지처럼 큰 박스가 배열변수 ?1 입니다.
작은 박스들은 변수들이 들어가는 공간이구요.
배열변수의 칸수가 2인데 칸수는 총 3개인 이유는 일상에서 쓰는 숫자의 시작은 1부터이지만, 컴퓨터의 경우는 0부터이기 때문인것으로 보입니다.
배열변수 ?1에 들어간 숫자들을 화면에 출력해보겠습니다.
*define
dim ?1[2]
game
*start
mov3 ?1[0], 1, 2, 3
?1[0]
?1[1]
?1[2]
click
?1[0]에는 1, ?1[1]에는 2, ?1[2]에는 3이 들어가있다는것을 아실 수 있습니다.
b. 2차원배열
선언은 dim ?변수 [숫자][숫자] 입니다.
*define
dim ?1[1][2]
game
*start
mov3 ?1[0], 1, 2, 3
mov3 ?1[1], 4, 5, 6
위의 스크립트를 이미지화 시키면 아래와 같습니다.
?1─┬─┬─┐
│1│2│3│
├─┼─┼─┤
│4│5│6│
└─┴─┴─┘
1차원 배열이 x축의 개념만 존재했다면, 2차원 배열은 y축의 개념이 존재합니다.
3차원 배열로 가면 z축의 개념도 등장 입체가되어 표현자체가 복잡해지니 패스합니다.
이것을 온스크립터에 출력해보겠습니다.
*define
dim ?1[1][2]
game
*start
mov3 ?1[0], 1, 2, 3
mov3 ?1[1], 4, 5, 6
?1[0][0] ?1[0][1] ?1[0][2]
?1[1][0] ?1[1][1] ?1[1][2]
click
2. movl
변수를 대입할때 사용하는 명령어입니다.
기본적인것은 mov와 같습니다.
사용법은 movl 변수, 숫자 입니다.
예시로 위의 스크립트를 응용해보겠습니다.
일단 1-a 입니다.
*define
dim ?1[2]
game
*start
movl ?1[0], 1, 2, 3
?1[0]
?1[1]
?1[2]
click
그리고 1-b 입니다.
*define
dim ?1[1][2]
game
*start
movl ?1[0], 1, 2, 3
movl ?1[1], 4, 5, 6
?1[0][0] ?1[0][1] ?1[0][2]
?1[1][0] ?1[1][1] ?1[1][2]
click
위와 같이 표현이 가능합니다.
작성자 Pure Ani
출 처 MPPC (미소녀 & PocketPC)