Turtle Game 전체 코드 > Turtle 모듈로 게임 만들기

본문 바로가기
사이트 내 전체검색

회원로그인

올서베이넷
무료 온라인 설문 사이트
OVITII
웹 프레젠테이션 도구

Turtle 모듈로 게임 만들기

Turtle Game 전체 코드

페이지정보

글쓴이 관리자 조회 34,494 조회 날짜 19-06-21 17:32 / Update:19-06-22 03:43
댓글 0 댓글

SNS 공유

  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

내용

Turtle Game 전체 코드

 

import turtle as t
import random
import math
from playsound import playsound

 

#스크린 객체 생성
screen = t.Screen()
#스크린 배경색 지정
screen.bgcolor("lightgreen")
screen.tracer(2)

 

#울타리 그리기
mypen = t.Turtle()
mypen.penup()
mypen.setposition(-300, 300)
mypen.pendown()
mypen.pensize(3)

 

for x in range(4):
    mypen.forward(600)
    mypen.right(90)


mypen.hideturtle()


#Create bugs 
maxBugs = 20
bugs = []
colors = ['red','blue','purple','white','black', 'pink','#FFFF00']
shapes = ['arrow', 'blank', 'circle', 'classic', 'square', 'triangle']
tcolors = ['#95B9D3', '#77ADD3', '#4497D2', '#2A84C5', '#1A5D8E', '#CE8F91','#CB4E53','#B4252A','#8B1317','#780409']

 

for count in range(maxBugs):
    c = random.randint(0,6)
    s = random.randint(0,5)
    bugs.append(t.Turtle())
    bugs[count].color(colors[c])
    bugs[count].shape(shapes[s])
    bugs[count].penup()
    bugs[count].speed(0)
    bugs[count].setposition(random.randint(-300, 300), random.randint(-300, 300))
    bugs[count].right(random.randint(0,360))


#거북이의 크기 변수
turtlesize = 1
#Turtle 객체 p 생성
p = t.Turtle()
#p 객체의 모양을 거북이로 만들기
p.shape("turtle")
#p 객체 크기 설정
p.turtlesize(turtlesize,turtlesize)
#p 객체 색상 설정, 
#색상은 색상 이름 또는 색상 코드(#FFFFFF) 등을 이용하여 설정 할 수 있다.
p.color(tcolors[0])
#거북이를 따라다니는 선을 제거
p.penup()

 

#거북이의 움직임 속도
speed = 1

 

#거북이 점수
score = 0


def turnleft():
    p.left(30)

 

def turnright():
    p.right(30)

 

def increasespeed():
    global speed
    speed += 1

 

def decreasespeed():
    global speed
    speed -= 1

 

#점수 입력 함수
def setScore(score): 
    mypen.undo()
    mypen.penup()
    mypen.hideturtle()
    mypen.setposition(-290, 310)
    scorestring = "Score: %s" % score
    mypen.write(scorestring, False, align="left", font=("Arial", 14, "normal"))   
 
def soundCollision():
    playsound("./sound/bubble003.wav", False)
     
#충돌 확인 함수   
def isCollision(t1, t2):
    #수학식에서 두 점 사이의 거리
    d = math.sqrt( math.pow(t1.xcor() - t2.xcor(), 2) + math.pow(t1.ycor() - t2.ycor(), 2))
     
    coll = turtlesize * 10
     
    if d < coll:
        return True
    else:
        return False


screen.listen()
screen.onkey(turnleft, "Left")
screen.onkey(turnright, "Right")
screen.onkey(increasespeed, "Up")
screen.onkey(decreasespeed, "Down")


while True:
    p.forward(speed)
    
    #울타리 체크
    if p.xcor() > 300 or p.xcor() < -300:
        p.right(180)
    
    if p.ycor() > 300 or p.ycor() < -300:
        p.right(180)
            
    #다수의 벌레 움직이기
    for count in range(maxBugs):        
        
        bugs[count].forward(5)
    
        #울타리 체크
        if bugs[count].xcor() > 300 or bugs[count].xcor() < -300:
            bugs[count].right(180)
            #soundBounce()
                    
        if bugs[count].ycor() > 300 or bugs[count].ycor() < -300:
            bugs[count].right(180)    
   

        if isCollision(p, bugs[count]):
            soundCollision()
            
            #벌레가 먹히면 색상, 모양 변경후 다른 곳으로 이동
            bugs[count].setposition(random.randint(-300, 300), random.randint(-300, 300))
            bugs[count].right(random.randint(0,360))
            s = random.randint(0,5)
            c = random.randint(0,6)
            bugs[count].shape(shapes[s])        
            bugs[count].color(colors[c])
            
            #벌레를 먹었을 때, 점수 1 추가
            score += 1
            
            #점수에 따라 거북이 크기와 색상 변경하기
            if(score % 10 == 0):
                turtlesize += 1
                if turtlesize > 30:
                    turtlesize = 30
                p.turtlesize(turtlesize,turtlesize)
                
                k = score // 10
                if k < 10:
                    p.color(tcolors[k])
                               
            #점수를 표시
            setScore(score)
                   

 

첨부파일

댓글목록 sfs

총 9 건 , 1 페이지
게시물 검색
Turtle 모듈로 게임 만들기 목록
번호 제목 글쓴이 조회 날짜
1 관리자 55934 06-18
2 관리자 53802 06-19
3 관리자 43890 06-19
4 관리자 42303 06-19
5 관리자 39541 06-21
6 관리자 39929 06-21
7 관리자 45304 06-21
8 관리자 43073 06-21
열람중 관리자 34495 06-21
GNUBOARD_M
Copyright © JBMPA.com All rights reserved.