어둠의전설 [어둠의전설]조건, 반복문의 장 -1
컨텐츠 정보
- 20 조회
- 0 추천
- 0 비추천
- 목록
본문
작성자: 작성자 없음
안녕하세요
어둠도우미입니다.
이번 시간에는 조건, 반복문을 배워보도록 하겠습니다.
원래 이번시간에는 While, Case,Rand 도 배우셔야 하는대.
일단 아주 중요하고 기본베이스 조건문인 IF와 반복문인 FOR을 배우신후. 2장에서 While, Case, Rand를 배우도록 하겠습니다!
□조건문 IF
스크립트를 짜시면 가장 많이 접하게되는게 조건문 if 입니다.
if는 영어문법과 비슷하다고 보시면 됩니다.
~한다면, ~한다
If I have a car, I will pay. => 차가 있다면 돈을 낸다. 라는 문장입니다.
이것을 어둠의전설 스크립트로 변환 시키면
if(item_exist(@myid,"자동차")){ <===== 나의 아이템 중에 "자동차"라는 아이템이 있을경우
money_del 가격; <=====가격만큼 돈을 차감 한다.
}
이렇게 바뀌게 됩니다.
좀 더 그럴싸 하게 만들어보면
if(item_exist(@myid,"자동차")){<===== 나의 아이템 중에 "자동차"라는 아이템이 있을경우
if(get_money(@myid) < 100000){ mes 0 "돈이 없습니다"; goto ended;} <=============== 돈이 10만원이 이하일 경우. NPC 메세지 출력후 종료.
item_del "자동차", 1; <========= 자동차라는 아이템을 1개 삭제/
money_del 100000; <=====가격만큼 돈을 차감 한다.
ended:
del @myid; <====== 임시변수 삭제.
}
========사용가능 식들========
if(get_money(@myid) < 100000){ // 10만원보다 내 돈이 적을시. [미만 개념]
if(get_money(@myid) > 100000){ // 10만원보다 내 돈이 많을시. [초과 개념]
if(get_money(@myid) == 100000){ // 10만원보다 내 돈이 같을시.
if(get_money(@myid) != 100000){ // 10만원보다 내 돈이 같지 않을시.
if(get_money(@myid) <= 100000){ // 10만원보다 내 돈이 적거나 같을시. [이하 개념]
if(get_money(@myid) >= 100000){ // 10만원보다 내 돈이 많거나 같을시. [이상 개념]
if(!item_exist(@myid,"자동차")){ 내 아이템에 자동차라는 아이템이 없을시.
if(!get_money(@myid)){ 돈이 없을시.
if(item_exist(@myid,"자동차") && get_money(@myid) > 100000 ){ // &&는 AND개념 입니다. 내 아이템에 자동차가 있고, 돈이 10만보다 많을시. * 쭉 이어나갈 수 있습니다.
if(item_exist(@myid,"자동차") || get_money(@myid) > 100000 ){ // ||는 OR 개념 입니다. 내 아이템에 자동차가 있거나 돈이 10만보다 많을시. * 쭉 이어나갈 수 있습니다.
이정도만 아시면 조건문 IF는 완벽하게 마스터 하신겁니다!
□반복문 FOR
어느게임 어느 언어에서든 중요한 반복문 For 입니다.
영어 개념으로 보기엔 에매합니다.
~위해서, ~동안 둘다 해당 되기 때문입니다.
그러니 ~가 , ~에 도달하여 같아질때까지 ~를 지원해준다라고 보시면 좋을꺼 같습니다.
for(set@i,0; @i <=10 ; set@i,@i+1){
~가 : set @i가.
~에 도달하여 같아질때까지 : @i <= 10 [10에 도달할때 까지]
~를 지원해준다 : set@i,@i+1를 지원해준다.
set@test, 0; // @test라는 임시변수를 지정해준다.
for(set@i,0; @i <=10 ; set@i,@i+1){ // 반복문 For를 시켜준다.
set @test, @test + 1; // 반복이 1회 될때마다 @test는 1씩 증가한다.
}
이렇게 하면@test가 11이 되겟죠?
@test[0]=> 1
@test[1]=> 2
.
.
.
@test[10]=>11
만약 도중에 내가 원하는값을 지정해서 멈추고 싶을경우는 방금배운 조건문 IF와 Break를 사용하면 됩니다.
*Break 단어그대로 멈춘다는 뜻입니다.
set@test, 0; // @test라는 임시변수를 지정해준다.
for(set@i,0; @i <=10 ; set@i,@i+1){ // 반복문 For를 시켜준다.
set @test, @test + 1; // 반복이 1회 될때마다 @test는 1씩 증가한다.
if(@test >=7){break;} // @test의 임시변수값이 7이상일 경우 해당 반복문을 중지시키고 다음문을 읽어준다.
}
//Break가 요기로 이동시켜줍니다.
//Break에 걸려 넘어온 @i는 그럼 몇일까요? [드래그 하시면 답이 보입니다.] ==> 6
이정도만 아시면 For문도 마스터 하신겁니다!!!!
============================
오늘 강의를 마치며.
정말 엄청 오래만에 적은거 같네요.
For문과 If문을 마스터 하셔야 다음강의에 배우시는 While, Rand, Case문을 이해하시기 쉽습니다!
그러면 아디오스!
-
등록일 00:20
-
등록일 08.20
-
등록일 08.10VMware 네트워크 IP 설정댓글 3
-
등록일 08.08