본문 바로가기
프로그래밍/파이썬

모두의 파이썬 - DAY 13 (거북이 그래픽 응용하기)

by Tilog 2021. 11. 24.
728x90
반응형

오늘은 모두의 파이썬 '13번 째'시간!

'거북이 그래픽 응용하기' 시간을 가져보도록 하자!

 

태극 모양을 그리는 프로그램

태극 모양을 그리는 프로그램

늘 하던데로 거북이 그래픽을 불러오자.

백그라운드 컬러는 '블랙', 거북이 스피드는 제일 빠른 '0'으로 설정해주자.

 

그리고 반복문(for)을 '200번' 반복해줄 것 이다.

들여쓰기엔 '조건문(if)'을 쓸 것 인데 '나눗셈 연산'을 조건으로 사용할 것 이다.

 

'if x % 3 == 0'

'x를 3으로 나눴을때 나머지가 0이라면' 

빨간 선을

 

'if x % 3 == 1'

'x를 3으로 나눴을때 나머지가 1이라면' 

노란 선을

 

'if x % 3 == 2'

'x를 3으로 나눴을때 나머지가 2이라면'

파란 선을

 

그리고 각 선마다 전방으로 변수 x에 2를 곱한만큼 이동해주고

이동 후 왼쪽으로 119만큼 방향을 틀어주면... 

 

결과

위와 같이 그림이 그려진다!

 

x(1,2, ... , 200)를 3으로 나누면

나머지가 '0,1,2,0,1,2, ...'로 계속 반복된다.

따라서 '빨강 > 노랑 > 파랑' 순으로 선을 반복해서 그리게 된다.

 

키보드로 거북이를 조종해서 그림 그리기

키보드로 거북이를 조종해서 그림 그리기

두 번째는 유저가 키보드로 직접 거북이를 조종해서 그림을 그리는 것 이다.

이번엔 이동하는 함수 'turn_up/left/right/down'을 사용할 것 이다.

 

't.setheading'"거북이의 머리를 어느 방향으로 셋팅해라!"

로 해석해도 되겠다. '0'오른쪽, '90', '180'왼쪽, '270'오른쪽

함수 그래프 틀을 생각하면 되겠다.

 

t.setheading과 t.forward는 줄여쓸 수 있는데

't.seth'와 't.fd'로 쓸 수 있다.

그래서 각 방향별로 각도를 돌리고 이동 거리를 지정해주고

그린 그림들을 지워주는 기능도 추가하기 위해

'blank'라는 함수를 불러와준다.

들여쓰기엔 't.clear'

 

그리고 밑에 거북이모양, 속도를 지정하고

't.onkeypress'를 입력해 키를 눌렀을 때

'turn' 계열의 함수들을 호출할 수 있도록 각 방향키 마다 지정해줍니다. (첫 번째 인자값)

그리고 두 번째 인자값을 적어야 하는데 각 단어의 첫 글자를 꼭 '대문자'로 적어야 합니다.

안 그러면 프로그램 실행은 되는데 키를 눌러도 작동을 안 합니다. 

 

결과

위와 같이 키보드로 거북이를 이동시켜

그림을 그릴 수 있습니다.

 

마우스로 거북이를 조종해서 그림 그리기

마우스로 거북이를 조종해서 그림 그리기

오늘 마지막 주제는 '마우스로 그림그 리기'입니다.

주요 항목들만 살펴보면 이번엔 't.hidturtle()'을 사용하여

거북이를 화면상에서 보이지 않도록 설정해 주겠습니다.

그리고 't.onscreenclick'함수를 호출하고 인자 값으로 '(t.goto)'를 

적어 넣어주면 현재 거북이 위치에서 내가 찍은 마우스 포인터 위치까지

거북이가 이동하면서 이동 했던 경로 위에 선을 그린다.

 

결과

결과는 위와 같다!

728x90
반응형

댓글


#네이버 애널리틱스 ▼