Turtle Game 7 - 벌레를 먹을때마다 점수 올리기
페이지정보
내용
Turtle Game 7 - 벌레를 먹을때마다 점수 올리기
앞서서 거북이가 벌레를 먹는 것을 구현하였다.
이번에는 거북이가 벌레를 먹었을 때, 점수를 표시해보도록 한다.
1. 점수 구현하기
울타리를 그릴 때, mypen 객체를 사용하였다. 울타리를 그리고 난 뒤, 놀고 있는 mypen 객체를 이용하여 점수를 입력해본다.
Turtle() 객체는 write 메서드가 있다. 말 그대로 글자를 쓸 수 있는 메서드이다.
아래의 함수를 만들어서 점수를 표시해보도록 하자.
거북이의 점수 score는 score = 0으로 초기화 한다.
점수 표시 코드
socre = 0
def setScore(score): #mypne의 이전 행동을 되돌린다. 반복적으로 write를 할때, 겹쳐서 쓰는 것을 방지한다. #mypen 객체의 위치가 어디에 있던 점수를 표시하기 위한 좌표까지 이동시, 선을 그리지 않게 한다. #mypen 객체의 shape는 보이지 않아야 한다. 숨김 변경 #점수를 표시하기 위한 위치로 이동, 울타리의 왼쪽 위 정도로 정한다. #점수 표시 형태, socre는 인자로 받아온 값이다. #mypen이 있는 위치에서 글자를 표시한다. |
2. 충돌 확인 함수 작성
앞선 강좌에서 거북이와 벌레의 충돌을 계산하는 아래의 식을 만들어서 for 구문 안에 넣었었다.
#거북이와 벌레 거리 구하는 식
d = math.sqrt( math.pow(p.xcor() - bugs[count].xcor(), 2) + math.pow(p.ycor() - bugs[count].ycor(), 2))
편의를 위해 충돌 함수를 만들어서 사용하도록 한다.
충돌함수 코드
def isCollision(t1, t2): |
전체코드
# 충돌여부를 함수를 이용하여 확인하고, 충돌이 인정되면 벌레를 이동시키고 점수를 올려준다.
import turtle as t
#스크린 객체 생성
#울타리 그리기
for x in range(4):
for count in range(maxBugs):
#거북이의 움직임 속도
#거북이 점수
def turnright():
def increasespeed():
def decreasespeed():
#점수 입력 함수
if isCollision(p, bugs[count]): |
Turtle Game 7 - 벌레를 먹을때마다 점수 올리기 끝