본문 바로가기
Programming/LOGO

거북이 떼를 만나보세요 - 001

by The Programmer 2025. 8. 7.

1. Introduction

 

Multiple Turtle을 만들고 각각에게 삼각형, 사각형, 오각형 그리기 일을 시켜보는 예제입니다. 일단 기본 원리만 올려둡니다. 코드 해설 및 응용 연습은 추후 업데이트에서. ^.^;

 

 

2. Code

 

TO MAIN
    ;-----------------------------
    ; 전체 실행 프로시저
    ;-----------------------------
    CLEARSCREEN

    ; 1번 거북이 → 삼각형
    SETTURTLE 1
    TRIANGLE

    ; 2번 거북이 → 사각형
    SETTURTLE 2
    SQUARE

    ; 3번 거북이 → 오각형
    SETTURTLE 3
    PENTAGON

    ; 기본(0번) 거북이로 복귀
    SETTURTLE 0 HT
END

TO PENTAGON
    ;-----------------------------
    ; 도형별 그리기 프로시저 정의
    ; 오각형.
    ;-----------------------------
    PU SETXY 150 0 PD
    REPEAT 5 [FORWARD 100 RIGHT 72]
    PU Home rt 90 fd 200 PD ST
END

TO SQUARE
    ;-----------------------------
    ; 도형별 그리기 프로시저 정의
    ; 오각형.
    ;-----------------------------
    PU SETXY 0 0 PD
    REPEAT 4 [FORWARD 100 RIGHT 90]
    PU Home fd 100 PD ST
END

TO TRIANGLE
    ;-----------------------------
    ; 도형별 그리기 프로시저 정의
    ; 오각형.
    ;-----------------------------
    PU SETXY -150 0 PD
    REPEAT 3 [FORWARD 100 RIGHT 120]
    PU Home bk 100 PD ST
END

 

 

3. Result

 

[ 일단 거북이 세 마리 ]

.

.

 

 

4. Notes

 

Multiple Turtle 생성과 거북이 지정.

 

SETTURTLE   1

 

- 별도의 거북이 생성 명령이 없습니다.

- 거북이를 지정(=SetTurtle 거북이번호 형식)하면, 1)거북이가 만들어지면서 동시에 2)활성화될 거북이가 지정됩니다.

- 위 두 가지 일을 한꺼번에 끝냅니다.

 

관련 참고 사항 :

- 최대 1024개의 독립적인 거북이를 사용할 수 있음
- 각 거북이는 BITMAPTURTLE 명령어로 개별 이미지로 표현 가능
- 너무 많은 거북이를 활성화하면 성능 저하가 발생할 수 있으므로 주의 필요
- CLEARSCREEN(=CS) 명령어로 기본 거북이(0번)만 남기고 나머지를 비활성화 가능

 

 

좌표기준 거북이 이동

 

SetXY  X좌표값  Y좌표값

 

위 형태로 지정된 좌표로 현재 활성화된 거북이를 이동시킬 수 있습니다. 펜업(PU) 상태인가 펜다운(PD) 상태인가에 영향을 받습니다.

 

PU  SETXY  150  0  PD

 

나머지 코드들은 특별한 것들이 없어 보입니다.

 

 

■ 연습 과제

 

위 코드를 한 번 실행한 상태에서 다음 순서대로 로고 명령 입력창에 입력하면  

 

main


cs
triangle
square
triangle
pentagon

 

거북이가 한 마리만 보입니다. 이유는 무엇입니까? ^.^;

정답은?

 

 

5. Files

 

Intro_1002_Multiple_Turtle_Ex_001_.lgo
0.00MB

 

 

6. Ref.

1) FMSLogo 내장 도움말.

2) 

 

Happy Programming!

^.^;