Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.07 KB | None | 0 0
  1. import turtle
  2. import random
  3. import math
  4. from playsound import playsound
  5. import pygame
  6.  
  7. #Set up screen
  8. turtle.setup(800,630)
  9. wn = turtle.Screen()
  10. wn.bgcolor("black")
  11. wn.tracer(2)
  12. wn.bgpic("underwater.gif")
  13.  
  14. #Music
  15. pygame.init()
  16. pygame.mixer.music.load('C:/Users/callu/Documents/Python/VOLUME_01 A Night Of Dizzy Spells.wav')
  17. pygame.mixer.music.play(loops=-1)
  18.  
  19. #Draw border
  20. mypen1 = turtle.Turtle()
  21. mypen2 = turtle.Turtle()
  22. mypen1.penup()
  23. mypen1.speed(0)
  24. mypen1.setpos(-300, -300)
  25. mypen1.pendown()
  26. mypen1.pensize(5)
  27. for side in range(4):
  28. mypen1.forward(600)
  29. mypen1.left(90)
  30. mypen1.hideturtle()
  31.  
  32. #Create players
  33. player1 = turtle.Turtle()
  34. player1.color("gold")
  35. player1.shape("turtle")
  36. player1.penup()
  37. player1.speed(0)
  38. player1.setpos(random.randint(-300,300), random.randint(-300,300))
  39.  
  40. player2 = turtle.Turtle()
  41. player2.color("limegreen")
  42. player2.shape("turtle")
  43. player2.penup()
  44. player2.speed(0)
  45. player2.setpos(random.randint(-300,300), random.randint(-300,300))
  46.  
  47. #Create score variable
  48. score1 = 0
  49. score2 = 0
  50.  
  51. #Create goals
  52. maxGoals = 10
  53. goals = []
  54.  
  55. for count in range(maxGoals):
  56. goals.append(turtle.Turtle())
  57. goals[count].speed(9)
  58. goals[count].color("red")
  59. goals[count].shape("turtle")
  60. goals[count].penup()
  61. goals[count].setpos(random.randint(-300,300), random.randint(-300,300))
  62.  
  63. #Set speed variable
  64. speed = 1
  65.  
  66. #Define functions
  67. def turnleft1():
  68. player1.left(30)
  69. def turnright1():
  70. player1.right(30)
  71. def turnleft2():
  72. player2.left(30)
  73. def turnright2():
  74. player2.right(30)
  75. def increasespeed():
  76. global speed
  77. speed += 1
  78. def decreasespeed():
  79. global speed
  80. speed -= 1
  81.  
  82. def isCollision(t1, t2):
  83. d = math.sqrt(math.pow(t1.xcor()-t2.xcor(),2) + math.pow(t1.ycor()-t2.ycor(),2))
  84. if d < 20:
  85. return True
  86. else:
  87. return False
  88.  
  89. #Set bindings
  90. turtle.listen()
  91. turtle.onkey(turnleft1, "Left")
  92. turtle.onkey(turnright1, "Right")
  93. turtle.onkey(turnleft2, "a")
  94. turtle.onkey(turnright2, "d")
  95. turtle.onkey(turnleft2, "A")
  96. turtle.onkey(turnright2, "D")
  97. turtle.onkey(increasespeed, "Up")
  98. turtle.onkey(decreasespeed, "Down")
  99. turtle.onkey(increasespeed, "w")
  100. turtle.onkey(decreasespeed, "s")
  101. turtle.onkey(increasespeed, "W")
  102. turtle.onkey(decreasespeed, "S")
  103.  
  104. while True:
  105. player1.forward(speed)
  106. player2.forward(speed)
  107.  
  108. #Player boundary checking
  109. if player1.xcor() > 300 or player1.xcor() < -300:
  110. player1.right(180)
  111. playsound('C:/Users/callu/Documents/Python/Hit 5.wav')
  112. if player1.ycor() > 300 or player1.ycor() < -300:
  113. player1.right(180)
  114. playsound('C:/Users/callu/Documents/Python/Hit 5.wav')
  115. if player2.xcor() > 300 or player2.xcor() < -300:
  116. player2.right(180)
  117. playsound('C:/Users/callu/Documents/Python/Hit 5.wav')
  118. if player2.ycor() > 300 or player2.ycor() < -300:
  119. player2.right(180)
  120. playsound('C:/Users/callu/Documents/Python/Hit 5.wav')
  121.  
  122. #Move the goals
  123. for count in range(maxGoals):
  124. goals[count].forward(3)
  125.  
  126. #Goal boundary checking
  127. if goals[count].xcor() > 300 or goals[count].xcor() < -300:
  128. goals[count].right(180)
  129. if goals[count].ycor() > 300 or goals[count].ycor() < -300:
  130. goals[count].right(180)
  131.  
  132. #Collision checking
  133. if isCollision(player1, goals[count]):
  134. goals[count].setpos(random.randint(-290, 290), random.randint(-290, 290))
  135. goals[count].right(random.randint(0,360))
  136. playsound('C:/Users/callu/Documents/Python/Powerup 3.wav')
  137. score1 += 1
  138. mypen1.undo()
  139. mypen1.penup()
  140. mypen1.hideturtle()
  141. mypen1.setposition(-385, 280)
  142. scorestring1 = "Score: %s" %score1
  143. mypen1.color("white")
  144. mypen1.write(scorestring1, False, align="left", font=("Arial",14, "normal"))
  145. if isCollision(player2, player1):
  146. player1.setpos(random.randint(-290, 290), random.randint(-290, 290))
  147. player1.right(random.randint(0,360))
  148. playsound('C:/Users/callu/Documents/Python/Powerup 2.wav')
  149. score1 -=1
  150. mypen1.undo()
  151. mypen1.penup()
  152. mypen1.hideturtle()
  153. mypen1.setposition(-385, 280)
  154. scorestring1 = "Score: %s" %score1
  155. mypen1.color("white")
  156. mypen1.write(scorestring1, False, align="left", font=("Arial",14, "normal"))
  157. score2 += 1
  158. mypen2.undo()
  159. mypen2.penup()
  160. mypen2.hideturtle()
  161. mypen2.setposition(310, 280)
  162. scorestring2 = "Score: %s" %score2
  163. mypen2.color("white")
  164. mypen2.write(scorestring2, False, align="left", font=("Arial",14, "normal"))
  165. #Game over screen
  166. if score1 > 14:
  167. player1.hideturtle()
  168. player2.hideturtle()
  169. goals[count].hideturtle()
  170. player1.forward(0)
  171. player2.forward(0)
  172. goals[count].forward(0)
  173. mypen1.penup()
  174. mypen1.hideturtle()
  175. mypen1.setposition(-200, 0)
  176. gameoverstring = "GAME OVER"
  177. winstring1 = "Player 1 wins!"
  178. mypen1.color("red")
  179. mypen1.write(gameoverstring, False, align="left", font=("Arial",50, "normal"))
  180. mypen1.setposition(-200, 0)
  181. mypen1.color("orange")
  182. mypen1.write(gameoverstring, False, align="left", font=("Arial",50, "normal"))
  183. mypen1.setposition(-200, 0)
  184. mypen1.color("yellow")
  185. mypen1.write(gameoverstring, False, align="left", font=("Arial",50, "normal"))
  186. mypen1.setposition(-200, 0)
  187. mypen1.color("firebrick")
  188. mypen1.write(gameoverstring, False, align="left", font=("Arial",50, "normal"))
  189. mypen1.setposition(-200, -75)
  190. mypen1.color("firebrick")
  191. mypen1.write(winstring1, False, align="left", font=("Arial",50, "normal"))
  192. mypen1.setposition(-200, -75)
  193. mypen1.color("yellow")
  194. mypen1.write(winstring1, False, align="left", font=("Arial",50, "normal"))
  195. mypen1.setposition(-200, -75)
  196. mypen1.color("orange")
  197. mypen1.write(winstring1, False, align="left", font=("Arial",50, "normal"))
  198. mypen1.setposition(-200, -75)
  199. mypen1.color("red")
  200. mypen1.write(winstring1, False, align="left", font=("Arial",50, "normal"))
  201. if score2 > 14:
  202. player1.hideturtle()
  203. player2.hideturtle()
  204. goals[count].hideturtle()
  205. player1.forward(0)
  206. player2.forward(0)
  207. goals[count].forward(0)
  208. mypen1.penup()
  209. mypen1.hideturtle()
  210. mypen1.setposition(-200, 0)
  211. gameoverstring = "GAME OVER"
  212. winstring2 = "Player 2 wins!"
  213. mypen1.color("red")
  214. mypen1.write(gameoverstring, False, align="left", font=("Arial",50, "normal"))
  215. mypen1.setposition(-200, 0)
  216. mypen1.color("orange")
  217. mypen1.write(gameoverstring, False, align="left", font=("Arial",50, "normal"))
  218. mypen1.setposition(-200, 0)
  219. mypen1.color("yellow")
  220. mypen1.write(gameoverstring, False, align="left", font=("Arial",50, "normal"))
  221. mypen1.setposition(-200, 0)
  222. mypen1.color("firebrick")
  223. mypen1.write(gameoverstring, False, align="left", font=("Arial",50, "normal"))
  224. mypen1.setposition(-200, -75)
  225. mypen1.color("firebrick")
  226. mypen1.write(winstring2, False, align="left", font=("Arial",50, "normal"))
  227. mypen1.setposition(-200, -75)
  228. mypen1.color("yellow")
  229. mypen1.write(winstring2, False, align="left", font=("Arial",50, "normal"))
  230. mypen1.setposition(-200, -75)
  231. mypen1.color("orange")
  232. mypen1.write(winstring2, False, align="left", font=("Arial",50, "normal"))
  233. mypen1.setposition(-200, -75)
  234. mypen1.color("red")
  235. mypen1.write(winstring2, False, align="left", font=("Arial",50, "normal"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement