; 행성과 그 속성을 정의하십시오
행성 :이름 :크기 :색상 :거리 :orbitspeed
Setpos [0 0]
펜업
앞으로 :거리
펜 타운
세워드 0
반복 360 [
앞으로 :크기 * 0.5
뒤로 :크기 * 0.5
오른쪽 :orbitspeed
]]
세워드 0
앞으로 :크기 * 0.5
펜업
뒤로 :크기 * 0.5
펜 타운
세워드 :orbitspeed
앞으로 :크기 * 0.5
펜업
뒤로 :크기 * 0.5
펜 타운
세워드 0
원 :크기
펜업
Setpos [0 0]
펜 타운
세워드 0
앞으로 :거리
펜 타운
세워드 :orbitspeed
원 :크기
펜업
Setpos [0 0]
펜 타운
레이블 :이름
펜업
Setpos [0 0]
펜 타운
세워드 0
끝
; 태양을 그립니다
원 50
세워드 0
펜업
전진 50
펜 타운
세워드 0
"Sun"라벨
펜업
Setpos [0 0]
펜 타운
; 수은을 그립니다
행성 "수성"5 "회색"70 2
; 금성을 그리십시오
행성 "비너스"8 "노란색"90 1.5
; 지구를 그리십시오
행성 "지구"10 "파란색"110 1
; 화성을 그리십시오
행성 "화성"7 "빨간색"130 0.8
; 목성을 그립니다
행성 "목성"20 "오렌지"160 0.5
; 토성을 그리십시오
행성 "토성"18 "노란색"200 0.3
; 천왕성을 그립니다
행성 "천왕성"15 "밝은 파란색"250 0.2
; 해왕성을 그립니다
행성 "해왕성"14 "Dark Blue"300 0.15
```
설명 :
1. `행성 '절차 : 이 절차는 지구의 속성을 정의합니다.
-`:Name` :지구의 이름 (라벨링에 사용).
-`:크기` :픽셀로 행성의 크기.
-`:색상 ':행성의 색.
-`:거리`:픽셀로 태양과의 거리.
-`:Orbitspeed` :단계 당 궤도의 속도 (행성이 얼마나 빨리 움직이는 지 제어).
2. 태양 그림 :
-`서클 50 '은 태양을 반경 50 픽셀의 원으로 그립니다.
-`setheading 0`는 거북이의 방향을 0도 (수평)로 설정합니다.
-`Penup '은 펜을 들어 올려 이동하는 동안 그리기를 방지합니다.
-`Forward 50 '은 거북이 50 픽셀을 오른쪽으로 움직입니다.
-`Pendown '은 펜을 내려 놓기 시작합니다.
-`setheading 0 '은 거북이의 방향을 다시 0 도로 설정합니다.
-`label "sun"``라벨은 현재 위치에 "sun"라벨을 씁니다.
-`Penup '은 펜을 들어 올려 원점으로 이동합니다.
-`setpos [0 0]`거북이를 다시 원점으로 설정합니다.
-`Pendown '은 펜을 끌어 내려 놓습니다.
3. 행성 그리기 :
- 각 행성마다 '행성'절차는 적절한 특성으로 호출됩니다.
-`repeat 360 '루프는 궤도 경로를 그립니다.
- 루프 내부에서 거북이가 앞뒤로 움직여 작은 선 세그먼트가 생성됩니다.
- 오른쪽 :Orbitspeed`는 거북이를 궤도 속도로 회전시켜 행성이 원으로 움직입니다.
- 지구는 지정된 색상과 크기로 그려집니다.
코드 실행 :
1.이 코드를 "solar_system.lg"(또는 다른 이름)라는 파일로 저장하십시오.
2. MSWLOGO를 열고`load "solar_system.lg"`을 입력하여 파일을로드하십시오.
3.`run '을 입력하여 코드를 실행하십시오.
이것은 태양계의 기본적인 시각적 표현을 만듭니다. 행성의 색상, 크기, 거리 및 궤도 속도를 사용자 정의하기 위해 코드를 수정할 수 있습니다. 달, 혜성 또는 소행성과 같은 추가 기능을 추가 할 수도 있습니다.