-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
127 lines (113 loc) · 2.96 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import turtle
import os
#Pantalla
wn = turtle.Screen()
wn.title("Pong Original | Andrés Blanco")
wn.bgcolor("black")
wn.setup(width=800, height=600)
wn.tracer(0)
#PUNTAJES
scoreA = 0
scoreB = 0
#Bloque A
paddle_a = turtle.Turtle()
paddle_a.speed(0)
paddle_a.shape("square")
paddle_a.color("white")
paddle_a.shapesize(stretch_wid=5, stretch_len=1)
paddle_a.penup()
paddle_a.goto(-350,0)
#Bloque B
paddle_b = turtle.Turtle()
paddle_b.speed(0)
paddle_b.shape("square")
paddle_b.color("white")
paddle_b.shapesize(stretch_wid=5, stretch_len=1)
paddle_b.penup()
paddle_b.goto(350,0)
#Pelota
ball = turtle.Turtle()
ball.speed(0)
ball.shape("square")
ball.color("white")
ball.penup()
ball.goto(0,0)
ball.dx = 0.8
ball.dy = 0.8
#Pluma
pen = turtle.Turtle()
pen.speed(0)
pen.color("white")
pen.penup()
pen.hideturtle()
pen.goto(0,260)
pen.write("Jugador 1: 0 Jugador 2: 0", align="center", font=("Courier", 24, "normal"))
#comandos de teclado
def paddle_a_up():
y = paddle_a.ycor()
y += 30
paddle_a.sety(y)
def paddle_a_down():
y = paddle_a.ycor()
y -= 30
paddle_a.sety(y)
def paddle_b_up():
y = paddle_b.ycor()
y += 30
paddle_b.sety(y)
def paddle_b_down():
y = paddle_b.ycor()
y -= 30
paddle_b.sety(y)
#binding de teclas
wn.listen()
wn.onkeypress(paddle_a_up, "w")
wn.onkeypress(paddle_a_down, "s")
wn.onkeypress(paddle_b_up, "o")
wn.onkeypress(paddle_b_down, "l")
#Loop Central del Juego
while True:
wn.update()
#Movimiento de pelota
ball.setx(ball.xcor() + ball.dx)
ball.sety(ball.ycor() + ball.dy)
#Border Checking
if ball.ycor() > 290:
ball.sety(290)
ball.dy *= -1
os.system("afplay pong_wall.m4a&")
if ball.ycor() < -290:
ball.sety(-290)
ball.dy *= -1
os.system("afplay pong_wall.m4a&")
if ball.xcor() > 390:
ball.goto(0,0)
ball.dx *= -1
scoreA +=1
pen.clear()
pen.write(f"Jugador 1: {scoreA} Jugador 2: {scoreB}", align="center", font=("Courier", 24, "normal"))
os.system("afplay pong_score.m4a&")
if ball.xcor() < -390:
ball.goto(0,0)
ball.dx *= -1
scoreB +=1
pen.clear()
pen.write(f"Jugador 1: {scoreA} Jugador 2: {scoreB}", align="center", font=("Courier", 24, "normal"))
os.system("afplay pong_score.m4a&")
if paddle_a.ycor() > 270:
paddle_a_down()
if paddle_b.ycor() > 270:
paddle_b_down()
if paddle_a.ycor() < -270:
paddle_a_up()
if paddle_b.ycor() < -270:
paddle_b_up()
#Choques con jugador
if (ball.xcor() > 340 and ball.xcor() < 350) and (ball.ycor() < paddle_b.ycor() + 40 and ball.ycor() > paddle_b.ycor() -40):
ball.setx(340)
ball.dx *= -1
os.system("afplay pong_hit.m4a&")
if (ball.xcor() < -340 and ball.xcor() > -350) and (ball.ycor() < paddle_a.ycor() + 40 and ball.ycor() > paddle_a.ycor() -40):
ball.setx(-340)
ball.dx *= -1
os.system("afplay pong_hit.m4a&")