Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # set up for games
- import turtle
- import math
- import random
- #screen setup
- wn = turtle.Screen()
- wn.bgcolor("lightblue")
- # draw a border
- mypen= turtle.Turtle()
- mypen.penup()
- mypen.setposition(-300,-300)
- mypen.pendown()
- mypen.pensize(3)
- for side in range(4):
- mypen.forward(600)
- mypen.left(90)
- mypen.hideturtle()
- #create a turtle
- player= turtle.Turtle()
- player.color("blue")
- player.shape("triangle")
- player.penup()
- player.speed(0)
- # make more enemies
- maxEnemies = 6
- enemies = []
- #create enemies
- for count in range(maxEnemies) :
- enemies.append(turtle.Turtle())
- enemies[count].color("red")
- enemies[count].shape("circle")
- enemies[count].penup()
- enemies[count].speed(0)
- enemies[count].setposition(random.randint(-300, 300),random.randint(-300, 300))
- #set speed variable
- speed = 1
- #define funct ions
- def turnleft():
- player.left(30)
- def turnright():
- player.right(30)
- def increasespeed():
- global speed
- speed+= 1
- def isCollision(t1,t2):
- d = math.sqrt(math.pow(t1.xcor()-t2.xcor(),2)+math.pow(t1.ycor()-t2.ycor(),2))
- if d < 20:
- return True
- else:
- return False
- #set keyboard bindings
- turtle.listen()
- turtle.onkey(turnleft,"Left")
- turtle.onkey(turnright,"Right")
- turtle.onkey(increasespeed,"Up")
- while True:
- player.forward(speed)
- # SET BOUNDARIES
- if player.xcor() > 300 or player.xcor() < -300:
- player.right(180)
- if player.ycor() > 300 or player.ycor() < -300:
- player.right(180)
- # move enemy
- for count in range(maxEnemies):
- enemies[count].forward(3)
- # set enemy boundary
- if enemies[count].xcor() > 290 or enemies[count].xcor() < -290:
- enemies[count].right(180)
- if enemies[count].ycor() > 290 or enemies[count].ycor() < -290:
- enemies[count].right(180)
- #collision checking
- if isCollision(player, enemies[count]):
- enemies[count].setposition(random.randint(-300, 300),random.randint(-300, 300))
- enemies[count].right(random.randint(0,360))
- delay = input("Press enter to finish.")
- File "/Users/johngrumbrechtiv/Desktop/python_work/turtle_game.py", line 82, in <module>
- player.forward(speed)
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/turtle.py", line 1637, in forward
- self._go(distance)
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/turtle.py", line 1605, in _go
- self._goto(ende)
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/turtle.py", line 3158, in _goto
- screen._pointlist(self.currentLineItem),
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/turtle.py", line 755, in _pointlist
- cl = self.cv.coords(item)
- File "<string>", line 1, in coords
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter/__init__.py", line 2466, in coords
- self.tk.call((self._w, 'coords') + args))]
- _tkinter.TclError: invalid command name ".!canvas"
- [Finished in 13.4s with exit code 1]
- [cmd: ['/usr/local/bin/python3', '-u', '/Users/johngrumbrechtiv/Desktop/python_work/turtle_game.py']]
- [dir: /Users/johngrumbrechtiv/Desktop/python_work]
- [path: /Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin]
Add Comment
Please, Sign In to add comment