안녕하세요... 모르는게 있어 질문드립니다....
기본 변수 메소드 - $gameVariables.setValue(value,n)
셀프 변수 플러그인 - this.get_self_variable(name,n)
질문드리는 식은 아래 초록색 식입니다.
for (var i = 0; i < 100; i++) {
$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", i))
}
이렇게 썻는데 실행하면 작동은 되는데 게임상에서는
$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 1))
$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 2))
$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 3))
:
:
$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 99))
$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 100))
이렇게 표시나요?
$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 1~100))
아니면, 빨간색갈 부분의 숫자만 바뀌나요 ..................?
-----------------------------------------------------
$gameVariables.setValue(146, 이곳에)
위의 식의 '이곳에'라는 곳에 아래의 식을 다 더해서 넣어주고 싶습니다...
물론, 노가다로 1부터 100까지 직접 작성하는 방법이 있지만,
for문이나 어떠한 요약식으로 요약하여 1~100을 쉽게 더하는 방법이 있는지 질문드립니다... ㅠㅠ
this.get_self_variable("병렬처리대상", 1)
this.get_self_variable("병렬처리대상", 2)
this.get_self_variable("병렬처리대상", 3)
.
.
.
this.get_self_variable("병렬처리대상", 99)
this.get_self_variable("병렬처리대상", 100)
어떻게 써야 1~100까지 위의 문장을 반복해서 더해줄 수가 있을까요?
$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 1) + .................... + this.get_self_variable("병렬처리대상", 100))
이런 느낌입니다...
도와주세요 ㅠㅠ
자료구조나 알고리즘에 대해서 이야기를 해야하겠지만요...
그런 말을 하면 괜시리 머리만 아파오는 것이 알반적이니
알기 쉽게 말을 풀어서 설명해드리겠습니다.
모든 loop(반복)구문들은 { }(대괄호 : 구문의 처음과 끝을 구분짓는 기호)을
기준으로 한 번씩 반복을 합니다.
for (var i = 0; i < 100; i++) {
$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", i))
}
직접 작성하신 부분을 예로 들자면
실행 순서는 다음과 같이 됩니다.
(그냥 적힌 문자열의 순서대로 설명해드립니다.)
1. 실행할 구문 : for
-> 실행할 구문에 따라 실행하는
방식이 다르므로 반드시 읽습니다.
2. 현재값 : i = 0~99
-> (초기값 0, ++연산으로 }이후에 1만큼 증가)
3. 실행 임계 조건 : i < 100
->i 가 100보다 작을 때 실행됩니다.
i 가 100이 되면 for(){} 의 구문의 실행은 하지 않습니다.
4. 변수 값 조정부분 : i++ (after increase)
-> for(){}가 한번 실행되고 나서 마지막으로 실행됩니다.
5. 구문 내부 읽기 시작 : {
-> { 괄호의 시작기호 - ( / [ / { - 를 만나면
어떤 구문이라도 안에 있는 내용을 우선시합니다.
6. 구문 내부 실행부분 : $gameVariables.setValue(146, this.get_self_variable("병렬처리대상", i));
7. 구문 내부 읽기 종료 : }
실상적인 구문의 실행은 다음과 같습니다.
for문이 처음 실행될 때
for (0; 0 < 100; 0++) {
$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 0))
}
....
for문이 100번째 실행될 때
for (99; 99 < 100; 99++) {
$gameVariables.setValue(146, this.get_self_variable("병렬처리대상", 99))
}
for문이 종료될 때
for (100; 100 < 100; )
조건부분의 값이 false를 나타내기 때문에
이후의 처리는 공백상태의 초기 형태를
실행하는 구조로 마무리 됩니다.
어셈블리어로 살펴보면 jump(해당 메모리 주소로 즉각이동명령어) 관련 명령어들이
없고 다음으로 진행하도록 변경됩니다.
※ 어셈블리어란 기계어(0,1로 이루어진 원시언어)보다
최소 한 단계 높은 원시언어로 메모리 영역에서
실제적인 데이터의 처리를 하는데 쓰여집니다.
※ 모든 프로그래밍 언어는 해당 언어에서 어셈블리어로,
어셈블리어에서 기계어로 변환되어서 실행됩니다.
실행에 대한 설명은 이정도로 마무리 짓겠습니다.