오늘은 꿈꾸는아해가 거북이 예제를 배웠습니다. ㅎㅎ
그래서 거북이 모듈을 불러와 활용하는 간단한 그림 그리기를 해보았습니다...
근데 간단하지가 않네요~ ㅠㅠ
거북이 모듈 안에는 2개의 클래스가 존재한다. 거북이(Turtle)는 커서를 원하는 데로 이동하는 클래스이고 화면 (Screen) 은 창의 크기, 배경 등 환경에 관한 클래스이다.
거북이 모듈의 클래스들을 사용하려면 우선 모듈을 import해야하고 클래스를 사용하려면 객체를 생성해야 한다.
아래 오늘 배운 코드를 확인해보세요~
------------------- 오늘 배운 코드 -------------------
import turtle
def draw_shape(radius, color1):
t.left(270)
t.width(3)
t.color("black", color1)
t.begin_fill()
t.circle(radius/2.0, -180)
t.circle(radius,180)
t.left(180)
t.circle(-radius/2.0, -180)
t.end_fill()
t = turtle.Turtle()
t.reset()
draw_shape(200,"red")
t.setheading(180)
draw_shape(200, "blue")
----------------------------------------------------
draw_shape(200,"red") 호출
draw_shape(200, "blue") 호출
두둥 태극 완성 ㅋ
거북이 명령어를 알아보자~!!
1. 거북이 이동
- 명령 내리기
분류 | 명령 | 간단명령 | 입력 | 설명 |
W | forward(x) | fd() | 이동량 x | x만큼 전진 |
backward(x) | bk(), back() | 이동량 x | x만큼 후진 | |
right(a) | rt(a) | 회전각 a | 좌로 a만큼 돌기 | |
left(a) | lt(a) | 회전각 a | 우로 a만큼 돌기 | |
goto() | setpos() | 절대좌표 x ,y | 절대 좌표 (x,y)로 이동 | |
setx() | - | 좌표 x | x좌표 지정 | |
sety() | - | 좌표 y | y좌표 지정 | |
setheading(a) | seth(a) | 각도 a | 진행방향 정하기 | |
home() | - | - | 홈 위치로 이동 | |
circle(r, a) | - | 반경 r, 각도 a | 원그리기 | |
dot(s, c) | - | 크기s, 색상c | 현재 위치에 점찍기 | |
stamp() | - | - | 현재 위치에 스탬프 찍기 | |
speed(spd) | - | 속도 spd (0~10) 0: 최고속 | 거북이 속도지정 spd가 크면 클수록 빠름 |
- 상태 읽기
분류 | 명령 | 간단명령 | 입력 | 설명 |
R | position() | pos() |
|
|
R | towards(x,y) | - | 절대좌표 x ,y | 현재위치와 (x, y) 를 잇는 선분과 거북이 진행방향과의 사이각 반환 |
R | xcor() | - |
| 현재위치의 x좌표 반환 |
R | ycor() | - |
| 현재위치의 y좌표 반환 |
R | heading() | - |
| 현재의 진행방향을 반환 |
R | distance(x,y) | - | 절대좌표 x ,y | 현재위치와 (x, y)까지의 좌표를 반환 |
2. 거북이 외관 설정
- 보이기/감추기 명령
분류 | 명령 | 간단명령 | 입력 | 설명 |
W | showturtle() | st() |
| 거북이 보이기 |
W | hideturtlw() | ht() |
| 거북이 감추기 |
R | isvisible() | - |
| 거북이가 보이는 상태면 True 반환 |
- 거북이 모양
분류 | 명령 | 간단명령 | 입력 | 설명 |
R/W | shape(s) | - | 모양: s ‘arrow’, ‘tirtle’, ‘circle’ ... | 거북이 모양지정 또는 반환 |
R/W | resizemode(m) | - | 모드: m ‘auto’, ’user’, ’noresize’ | 거북이 감추기 |
R/W | shapesize(~) | turtlesize () | ~: strech_w, strech_l, outline | 거북이의 폭과 길이의 스케일과 외곽선의 두께를 지정 |
R/W | shearfactor(s) |
| 쉬어각도의 탄젠트 s | 거북이를 변형시킨다. |
W | settiltangle(a) |
| 절대 틸트각: a | 진행방향과 무관하게 거북이를 각도 a로 회전. |
W | tilt(a) |
| 틸트각도: a | 진행방향과 무관하게 거북이의 틸트 각도를 a민큼 더 회전. |
R/W | shapetransform(T) |
| 변환행렬 T T= t11,t12, t21, t22 | 거북이 변환행렬을 지정 또는 반환 |
R | get_shapepoly() |
|
| 거북이 다각형의 좌표들을 반환 |
3. 펜 (거북이 자취) 설정
- 펜의 상태관련
분류 | 명령 | 간단명령 | 입력 | 설명 |
W | pendown() | pd(), down() |
| 펜 내리기 |
W | penup() | Pu(), up() |
| 펜 올리기 |
R/W | pensize(w) | width(w) | 두께: w | 펜두께를 w로 바꾸기 |
R/W | pen(dict) | - | 사전식 dict | 펜의 여러 데이터를 사전식으로 설정 |
R | isdown() | - | - | 펜이 down 상태이면 True 반환 |
- 칼라설정
분류 | 명령 | 간단명령 | 입력 | 설명 |
R/W | color(pc,fc) |
| 펜색: pc 채우기색: fc 색 문자열 또는 RGB 값 | 펜색, 채우기색을 동시에 지정 |
R/W | pencolor(pc) |
| 펜색 지정 | |
R/W | fillcolor(fc) |
| 채우기색 지정 관련 |
- 채우기 관련
분류 | 명령 | 간단명령 | 입력 | 설명 |
R | filling() | - |
| 채우기가 되었으면 True반환 |
W | begin_fill() | - |
| 채우기 시작 |
W | end_fill() | - |
| 채우기 종료 |
- 기타 명령
분류 | 명령 | 간단명령 | 입력 | 설명 |
W | reset() | - |
| 화면을 지우고 거북이를 초기화 |
W | clear() | - |
| 화면만 지우기 |
W | write(~) | - | 별도참조 ~ | 화면에 글자쓰기 |
음~ 프로그래밍은 계속 연습만이 살길이다~
'베푸는아해 > 공부해서 남주나' 카테고리의 다른 글
[오늘의영어] I got a cold 6 days ago, and now it seems it’s getting worse. (0) | 2021.05.06 |
---|---|
[오늘의 영어] I didn't mean to. It was an accident. (0) | 2021.05.03 |
[오늘의 영어] Why didn't you show up for the party? (0) | 2021.04.29 |
철쭉에 대해서 관찰해보다 진달래와는 다른점을 찾아보네요 (0) | 2021.04.14 |
[영어 문장] There's one more thing you should~ (0) | 2021.02.09 |