Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import turtle
- import random
- from math import sin, cos, radians
- bTur = turtle.Turtle()
- screen = turtle.Screen()
- screen.bgcolor("black")
- px = 1
- py = 1
- board = [
- [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,],
- [0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0,],
- [0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0,],
- [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,],
- [0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,],
- [0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0,],
- [0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0,],
- [0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0,],
- [0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0,],
- [0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0,],
- [0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,],
- [0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0,],
- [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,],
- ]
- bTur.speed(10000)
- for row in board:
- for cell in row:
- if cell == 0:
- bTur.begin_fill()
- bTur.color("blue")
- for i in range(4):
- bTur.forward(30)
- bTur.right(90)
- bTur.forward(30)
- bTur.end_fill()
- elif cell == 1:
- bTur.penup()
- bTur.forward(30)
- bTur.pendown()
- bTur.penup()
- bTur.backward(30 * len(row))
- bTur.pendown()
- bTur.right(90)
- bTur.forward(30)
- bTur.left(90)
- bTur.ht()
- player = turtle.Turtle()
- player.penup()
- player.shape("circle")
- player.color("yellow")
- player.goto(px * 30 + 15,py * -30 - 15)
- def right():
- global px
- r = board[py][px+1]
- if r == 1:
- px += 1
- player.setheading(0)
- player.forward(30)
- def up():
- global py
- r = board[py-1][px]
- if r == 1:
- py -= 1
- player.setheading(90)
- player.forward(30)
- def left():
- global px
- r = board[py][px-1]
- if r == 1:
- px -= 1
- player.setheading(180)
- player.forward(30)
- def down():
- global py
- r = board[py+1][px]
- if r == 1:
- py += 1
- player.setheading(270)
- player.forward(30)
- g = turtle.Turtle()
- g.penup()
- g.color("red")
- gx = 0
- gy = 0
- g = turtle.Turtle()
- g.penup()
- g.color("red")
- while True:
- gx = random.randint(0,len(board[0]) - 1)
- gy = random.randint(0,len(board) - 1)
- print(gx,gy)
- g.goto(gx * 30 + 15,gy * -30 - 15)
- if board[gy][gx] == 1:
- print("good")
- break
- screen = turtle.Screen()
- def tick():
- global gx
- global gy
- if gameover():
- gameTurtle = turtle.Turtle()
- gameTurtle.color("white")
- gameTurtle.write("gameover")
- gameTurtle.ht()
- return
- angle = random.randint(0,3) * 90
- gxx = gx + int(round(cos(radians(angle))))
- gyy = gy - int(round(sin(radians(angle))))
- print(gxx,gyy)
- if board[gxx][gyy] == 1:
- g.setheading(angle)
- g.forward(30)
- gx = gxx
- gy = gyy
- print(gy,gx)
- screen.ontimer(tick, 1000)
- def gameover():
- return gx == px and gy == py
- screen.onkey(right, "Right")
- screen.onkey(up, "Up")
- screen.onkey(left, "Left")
- screen.onkey(down, "Down")
- screen.listen()
- tick()
- screen.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement