Advertisement
FSNWRMH

Untitled

Nov 29th, 2023 (edited)
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.64 KB | None | 0 0
  1. import turtle
  2. import os
  3. import random
  4. import math
  5. lives=3
  6. score=0
  7.  
  8. maze = [
  9. "XXXXXXXXXXXXXXXXXXXXXXXXX",
  10. "XP XXXXXXXE XX",
  11. "X XXXXXXX XXXXXX XXXXX",
  12. "X XX XXXXXX XXXXX",
  13. "X XX XXX EXX",
  14. "XXXXXX XX XXX XX",
  15. "XXXXXX XX XXXXXX XXXXX",
  16. "XXXXXX XX XXXX XXXXX",
  17. "X XXX XXXX XXXXX",
  18. "X XXX XXXXXXXXXXXXXXXXX",
  19. "X XXXXXXXXXXXXXXX",
  20. "X XXXXXXXX",
  21. "XXXXXXXXXXXX XXXXX X",
  22. "XXXXXXXXXXXXXXX XXXXX X",
  23. "XXX XXXXXXXXXX X",
  24. "XXXE X",
  25. "XXX XXXXXXXXXXXXX",
  26. "XXXXXXXXXX XXXXXXXXXXXXX",
  27. "XXXXXXXXXX X",
  28. "XX XXXXX X",
  29. "XX XXXXXXXXXXXXX XXXXX",
  30. "XX YXXXXXXXXXXX XXXXX",
  31. "XX XXXX X",
  32. "XXXXE X",
  33. "XXXXXXXXXXXXXXXXXXXXXXXXX"
  34. ]
  35.  
  36. #Functions used for the movement of pacman
  37. def move():
  38.  
  39. if player.direction=="right":
  40. player.setx(player.xcor()+7)
  41. if player.direction=="left":
  42. player.setx(player.xcor()-7)
  43. if player.direction=="up":
  44. player.sety(player.ycor()+7)
  45. if player.direction=="down":
  46. player.sety(player.ycor()-7)
  47.  
  48. def movebad():
  49. for bad in badlist:
  50. if bad.direction=="right":
  51. bad.setx(bad.xcor()+4)
  52.  
  53. if bad.direction=="left":
  54. bad.setx(bad.xcor()-4)
  55.  
  56. if bad.direction=="up":
  57. bad.sety(bad.ycor()+4)
  58.  
  59. if bad.direction=="down":
  60. bad.sety(bad.ycor()-4)
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68. def right():
  69. player.direction="right"
  70.  
  71.  
  72. def left():
  73. player.direction="left"
  74.  
  75.  
  76. def up():
  77. player.direction="up"
  78.  
  79.  
  80. def down():
  81. player.direction="down"
  82.  
  83.  
  84. def exit():
  85. turtle.bye()
  86.  
  87.  
  88.  
  89. screen=turtle.Screen()
  90. screen.bgcolor("black")
  91. screen.setup(900,900)
  92. screen.tracer(n=0)
  93.  
  94. walllist=[]
  95. badlist=[]
  96. dotlist=[]
  97.  
  98. colors=["red","light blue","pink","yellow"]
  99. direction=["right","left","up","down"]
  100.  
  101. x=-365
  102. y=360
  103. t=0
  104.  
  105. for r in maze:
  106. for h in r:
  107. if h=="X":
  108. wall=turtle.Turtle()
  109. wall.color("blue")
  110. wall.shapesize(1.43,1.43,1)
  111. wall.shape("square")
  112. wall.penup()
  113. wall.goto(x,y)
  114. walllist.append(wall)
  115.  
  116. if h=="P":
  117. player=turtle.Turtle()
  118. player.speed(0)
  119. player.color("yellow")
  120. player.shape("circle")
  121. player.penup()
  122. player.direction="stop"
  123. player.goto(x,y)
  124.  
  125. if h=="E":
  126. bad=turtle.Turtle()
  127. color1=colors[t]
  128. bad.color(color1)
  129. bad.shapesize(0.75,0.75,1)
  130. bad.shape("square")
  131. bad.penup()
  132. bad.goto(x,y)
  133. t+=1
  134. bad.direction=random.choice(direction)
  135. badlist.append(bad)
  136.  
  137. if h==" ":
  138. dot=turtle.Turtle()
  139. dot.color("white")
  140. dot.shape("circle")
  141. dot.shapesize(0.3,0.3,1)
  142. dot.penup()
  143. dot.goto(x,y)
  144. dotlist.append(dot)
  145.  
  146.  
  147. x+=30
  148. x=-365
  149. y-=30
  150.  
  151. write=turtle.Turtle()
  152. write.penup()
  153. write.hideturtle()
  154. write.speed(0)
  155. write.goto(0,390)
  156. write.color("white")
  157. write.write("Score: {} Lives: {}".format(score, lives), align="center", font=("Courier", 24, "bold"))
  158.  
  159. screen.listen()
  160. screen.onkey(right,"Right")
  161. screen.onkey(up,"Up")
  162. screen.onkey(down,"Down")
  163. screen.onkey(left,"Left")
  164. screen.onkey(exit,"Escape")
  165.  
  166. while True:
  167. move()
  168. movebad()
  169.  
  170.  
  171.  
  172. screen.update()
  173.  
  174. for dot in dotlist:
  175. if player.distance(dot)<15:
  176. #dot.goto(random.randint(1000,2000),random.randint(1000,2000))
  177. dot.hideturtle()
  178. dotlist.remove(dot)
  179. score+=10
  180. write.clear()
  181. write.write("Score: {} Lives: {}".format(score, lives), align="center", font=("Courier", 24, "bold"))
  182. for bad in badlist:
  183. for wall in walllist:
  184. if bad.distance(wall)<=25:
  185. if bad.direction=="right":
  186. bad.setx(bad.xcor()+4)
  187. bad.direction=random.choice(direction)
  188.  
  189. if bad.direction=="left":
  190. bad.setx(bad.xcor()-4)
  191. bad.direction=random.choice(direction)
  192.  
  193. if bad.direction=="up":
  194. bad.sety(bad.ycor()+4)
  195. bad.direction=random.choice(direction)
  196.  
  197. if bad.direction=="down":
  198. bad.sety(bad.ycor()-4)
  199. bad.direction=random.choice(direction)
  200.  
  201. turtle.mainloop()
  202.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement