Advertisement
Guest User

Untitled

a guest
May 25th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.08 KB | None | 0 0
  1. import turtle
  2. import random
  3. from math import sin, cos, radians
  4.  
  5. bTur = turtle.Turtle()
  6. screen = turtle.Screen()
  7. screen.bgcolor("black")
  8. px = 1
  9. py = 1
  10.  
  11. board = [
  12. [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,],
  13. [0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0,],
  14. [0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0,],
  15. [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,],
  16. [0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,],
  17. [0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0,],
  18. [0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0,],
  19. [0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0,],
  20. [0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0,],
  21. [0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0,],
  22. [0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0,],
  23. [0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0,],
  24. [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,],
  25.  
  26.  
  27. ]
  28. bTur.speed(10000)
  29. for row in board:
  30. for cell in row:
  31. if cell == 0:
  32. bTur.begin_fill()
  33. bTur.color("blue")
  34. for i in range(4):
  35. bTur.forward(30)
  36. bTur.right(90)
  37. bTur.forward(30)
  38. bTur.end_fill()
  39. elif cell == 1:
  40. bTur.penup()
  41. bTur.forward(30)
  42. bTur.pendown()
  43. bTur.penup()
  44. bTur.backward(30 * len(row))
  45. bTur.pendown()
  46. bTur.right(90)
  47. bTur.forward(30)
  48. bTur.left(90)
  49. bTur.ht()
  50.  
  51. player = turtle.Turtle()
  52.  
  53. player.penup()
  54. player.shape("circle")
  55. player.color("yellow")
  56. player.goto(px * 30 + 15,py * -30 - 15)
  57.  
  58.  
  59.  
  60.  
  61.  
  62. def right():
  63. global px
  64. r = board[py][px+1]
  65. if r == 1:
  66. px += 1
  67. player.setheading(0)
  68. player.forward(30)
  69.  
  70. def up():
  71. global py
  72. r = board[py-1][px]
  73. if r == 1:
  74. py -= 1
  75. player.setheading(90)
  76. player.forward(30)
  77.  
  78. def left():
  79. global px
  80. r = board[py][px-1]
  81. if r == 1:
  82. px -= 1
  83. player.setheading(180)
  84. player.forward(30)
  85.  
  86. def down():
  87. global py
  88. r = board[py+1][px]
  89. if r == 1:
  90. py += 1
  91. player.setheading(270)
  92. player.forward(30)
  93.  
  94. g = turtle.Turtle()
  95. g.penup()
  96. g.color("red")
  97. gx = 0
  98. gy = 0
  99.  
  100.  
  101.  
  102. g = turtle.Turtle()
  103. g.penup()
  104. g.color("red")
  105. while True:
  106. gx = random.randint(0,len(board[0]) - 1)
  107. gy = random.randint(0,len(board) - 1)
  108. print(gx,gy)
  109. g.goto(gx * 30 + 15,gy * -30 - 15)
  110. if board[gy][gx] == 1:
  111. print("good")
  112. break
  113.  
  114.  
  115.  
  116. screen = turtle.Screen()
  117.  
  118. def tick():
  119. global gx
  120. global gy
  121. if gameover():
  122. gameTurtle = turtle.Turtle()
  123. gameTurtle.color("white")
  124. gameTurtle.write("gameover")
  125. gameTurtle.ht()
  126. return
  127.  
  128. angle = random.randint(0,3) * 90
  129. gxx = gx + int(round(cos(radians(angle))))
  130. gyy = gy - int(round(sin(radians(angle))))
  131. print(gxx,gyy)
  132. if board[gxx][gyy] == 1:
  133. g.setheading(angle)
  134. g.forward(30)
  135. gx = gxx
  136. gy = gyy
  137. print(gy,gx)
  138.  
  139. screen.ontimer(tick, 1000)
  140.  
  141.  
  142.  
  143. def gameover():
  144. return gx == px and gy == py
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151. screen.onkey(right, "Right")
  152. screen.onkey(up, "Up")
  153. screen.onkey(left, "Left")
  154. screen.onkey(down, "Down")
  155. screen.listen()
  156. tick()
  157. screen.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement