변수 활용법 두 번째 시간입니다. 변수 만드는 법에 주의하면서 [ 예제-1 ]을 살펴보세요.
[ 예제–1 ]
;; 파라미터 변수를 사용해서 박스 하나를 만듭니다.
to box :width
repeat 4 [ fd :width rt 90 ]
end
;; 파라미터 값을 지정해서 box 함수를 보다 편리하게 개선합니다.
to boxes
box 30
box 50
box 70
box 90
end
;; 프로그램 전체를 실행하기 위해서 명령 입력창에서 메인 함수를 실행하면 됩니다.
to main
ready
boxes
end
;; 프로그램 초기화에 자주 사용되는 코드들을 미리 입력해둡니다.
;; window는 2D 그래픽 모드를 의미합니다. ( ↔ Perspective, 퍼스펙티브는 3D를 의미합니다. )
;; 저는 삭제될 운명에 처한 설명문입니다.
to ready ;; 저는 삭제되지 않습니다.
;; 저도 삭제되지 않습니다.
;; 설명문을 다른 말로 주석comment 혹은 주석문이라고도 합니다.
window home cs ppt pd st
end
참고 :
세미콜론 ‘;;’ 기호는 한 줄 설명문 앞에 적습니다. 이 기호는 설명문 시작을 알립니다. 세미콜론(;) 기호는 하나만 있어도 됩니다. 설명문은 코드 실행시 무시됩니다. 설명문에는 함수 코드 내용을 한 눈에 알 수 있도록 이런 저런 핵심 설명들을 적어두면 됩니다. 여러 줄 설명을 추가하려면 매 줄마다 세미콜론을 추가하면 됩니다.
주의 :
FMSLogo 코드 편집기는 빈 줄에 추가된 설명문을 자동으로 삭제해버립니다. ㅠ.ㅠ; 특정 함수에 설명을 추가하려면 함수 이름 뒤에 혹은 함수 내부에 설명문을 추가하시면 됩니다. 이렇게 추가된 설명문들은 삭제되지 않습니다.
Boxes 함수에서 파라미터들을 이용해서 쉽게 박스 크기를 다양하게 그리는 것을 볼 수 있습니다. boxes 함수를 좀 더 개선해보겠습니다. 변수값을 증가시키는 방법에 대해 특별히 주목하세요.
[ 예제 – 2 ]
to box :width
;; 파라미터 변수를 사용해서 박스 하나를 만듭니다.
repeat 4 [ fd :width rt 90 ]
end
to boxes :v1
;; 파라미터 변수 v1값을 value로 저장하고 이 값으로 박스를 그립니다.
;; 그 다음에 이 값을 20 증가시킵니다.
;; 반복 횟수만 수정하면 20씩 크기가 증가하는 박스를 원하는 만큼 무한정 그릴 수 있습니다.
make "value :v1
repeat 4 [ box :value make "value :value + 20 ]
end
to main
;; 프로그램 전체를 실행하기 위해서 명령 입력창에서 메인main 함수를 실행하면 됩니다.
;; 설명문의 들여쓰기 줄 맞춤도 유지됩니다.
ready
boxes 20
; 시작값을 20 대신 5로 시작하고 위 boxes 함수 내 증가값을 5 정도로 줄여서 테스트해보세요.
end
to ready
;; 프로그램 초기화에 자주 사용되는 코드들을 미리 입력해둡니다.
;; window는 2D 그래픽 모드를 의미합니다. ( ↔ Perspective, 퍼스펙티브는 3D를 의미합니다. )
window home cs ppt pd st
end
[ 예제 - 3 ]
to box :width
repeat 4 [ fd :width rt 90 ]
end
to boxes :v1
make "value :v1
repeat 120 [ box :value make "value :value + 3 rt 3 ]
end
to main
ready
boxes 5
end
to ready
window home cs ppt pd st
end
[ 결과 ]
[ 첨부 파일 ]
즐거운 프로그래밍!
^.^;
'Programming > LOGO' 카테고리의 다른 글
LOGO : 변수(Variables) - 4 (0) | 2024.03.14 |
---|---|
LOGO : 변수(Variables) - 3 (0) | 2024.03.14 |
LOGO : 변수(Variables) - 1 (0) | 2024.01.07 |
LOGO : Animation - 001 (0) | 2023.10.15 |
LOGO : 별 그리기(Drawing Star) - 001 (0) | 2023.09.27 |