Facebook
From marGoira, 3 Years ago, written in Python.
Embed
Download Paste or View Raw
Hits: 105
  1. # Simppeli pinkiponki by marGoira
  2.  
  3. import turtle
  4.  
  5. wn = turtle.Screen()
  6. wn.title("Pinkiponki by marGoira")
  7. wn.bgcolor("black")
  8. wn.setup(width=800, height=600)
  9. wn.tracer(0)
  10.  
  11. # Tulos
  12. score_a = 0
  13. score_b = 0
  14.  
  15. # Maila A
  16. maila_a = turtle.Turtle()
  17. maila_a.speed(0)
  18. maila_a.shape("square")
  19. maila_a.color("blue")
  20. maila_a.shapesize(stretch_wid=5, stretch_len=1)
  21. maila_a.penup()
  22. maila_a.goto(-350, 0)
  23.  
  24. # Maila B
  25. maila_b = turtle.Turtle()
  26. maila_b.speed(0)
  27. maila_b.shape("square")
  28. maila_b.color("red")
  29. maila_b.shapesize(stretch_wid=5, stretch_len=1)
  30. maila_b.penup()
  31. maila_b.goto(350, 0)
  32.  
  33. # Pallo
  34. pallo = turtle.Turtle()
  35. pallo.speed(0)
  36. pallo.shape("square")
  37. pallo.color("white")
  38. pallo.penup()
  39. pallo.goto(0, 0)
  40. pallo.dx = 0.1
  41. pallo.dy = 0.1
  42.  
  43. # Pen
  44. pen = turtle.Turtle()
  45. pen.speed(0)
  46. pen.color("white")
  47. pen.penup()
  48. pen.hideturtle()
  49. pen.goto(0, 260)
  50. pen.write("USA: 0 SOVIET: 0", align="center", font=("Courier", 24, "normal"))
  51.  
  52.  
  53. # Funktiot
  54. def maila_a_up():
  55.     y = maila_a.ycor()
  56.     y += 20
  57.     maila_a.sety(y)
  58.  
  59. def maila_a_down():
  60.     y = maila_a.ycor()
  61.     y -= 20
  62.     maila_a.sety(y)
  63.  
  64. def maila_b_up():
  65.     y = maila_b.ycor()
  66.     y += 20
  67.     maila_b.sety(y)
  68.  
  69. def maila_b_down():
  70.     y = maila_b.ycor()
  71.     y -= 20
  72.     maila_b.sety(y)
  73.    
  74. # Näppäimistö
  75. wn.listen()
  76. wn.onkeypress(maila_a_up, "w")
  77. wn.onkeypress(maila_a_down, "s")
  78. wn.onkeypress(maila_b_up, "Up")
  79. wn.onkeypress(maila_b_down, "Down")
  80.  
  81. # Main game loop
  82. while True:
  83.     wn.update()
  84.  
  85.     # Pallon liike
  86.     pallo.setx(pallo.xcor() + pallo.dx)
  87.     pallo.sety(pallo.ycor() + pallo.dy)
  88.  
  89.     # Rajojen tarkastaminen
  90.     if pallo.ycor() > 290:
  91.         pallo.sety(290)
  92.         pallo.dy *= -1
  93.    
  94.     if pallo.ycor() < -290:
  95.         pallo.sety(-290)
  96.         pallo.dy *= -1
  97.  
  98.     if pallo.xcor() > 390:
  99.         pallo.goto(0, 0)
  100.         pallo.dx *= -1
  101.         score_a += 1
  102.         pen.clear()
  103.         pen.write("USA: {} SOVIET: {}".format(score_a, score_b), align="center", font=("Courier", 24, "normal"))
  104.  
  105.     if pallo.xcor() < -390:
  106.         pallo.goto(0, 0)
  107.         pallo.dx *= -1
  108.         score_b += 1
  109.         pen.clear()
  110.         pen.write("USA: {} SOVIET: {}".format(score_a, score_b), align="center", font=("Courier", 24, "normal"))
  111.  
  112.     # mailan ja pallon yhteentörmäys
  113.     if (pallo.xcor() > 340 and pallo.xcor() < 350) and (pallo.ycor() < maila_b.ycor() + 40 and pallo.ycor() > maila_b.ycor() -40):
  114.         pallo.setx(340)
  115.         pallo.dx *= -1
  116.  
  117.     if (pallo.xcor() < -340 and pallo.xcor() > -350) and (pallo.ycor() < maila_a.ycor() + 40 and pallo.ycor() > maila_a.ycor() -40):
  118.         pallo.setx(-340)
  119.         pallo.dx *= -1
  120.  
  121.