-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathturbo5.py
executable file
·111 lines (78 loc) · 3.76 KB
/
turbo5.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
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
import sys
import pygame
import math
pygame.init()
# los colores del juego
color_fondo = (0,0,0)
color_paleta = (255, 255, 255)
color_bolita = (255, 255, 255)
color_limite = (255, 255, 255)
# tamanos coordenadas
tamano_paleta = (20, 120)
tamano_bolita = (20, 20)
posicion_paleta_inicial = 240
posicion_paleta_I = posicion_paleta_inicial
posicion_paleta_D = posicion_paleta_inicial
posicion_inicial = (400,300)
posicion_bolita = posicion_inicial
vector_inicial = (10,10)
vector_bolita = vector_inicial
distancia_paleta_I = 50
distancia_paleta_D = 730
limite_superior = 50
limite_inferior = 590
# estados
JUEGO_CORRIENDO = 0
JUEGO_CERRANDO = 1
estado_juego = JUEGO_CORRIENDO
# otras
window = pygame.display.set_mode((800, 600))
pygame.display.set_caption("Turbo Pong!")
pantalla = pygame.display.get_surface()
reloj = pygame.time.Clock()
while (estado_juego == JUEGO_CORRIENDO):
for event in pygame.event.get():
if event.type == pygame.QUIT:
estado_juego = JUEGO_CERRANDO
# leyendo el teclado
estados_teclas = pygame.key.get_pressed()
if (estados_teclas[pygame.K_LSHIFT] and (posicion_paleta_I > limite_superior)):
posicion_paleta_I -= 10
if (estados_teclas[pygame.K_LCTRL] and (posicion_paleta_I < (limite_inferior - tamano_paleta[1]))):
posicion_paleta_I += 10
if (estados_teclas[pygame.K_UP] and (posicion_paleta_D > limite_superior)):
posicion_paleta_D -= 10
if (estados_teclas[pygame.K_DOWN] and (posicion_paleta_D < (limite_inferior - tamano_paleta[1]))):
posicion_paleta_D += 10
if estados_teclas[pygame.K_ESCAPE]:
estado_juego = JUEGO_CERRANDO
# reaccionando
posicion_bolita = (posicion_bolita[0] + vector_bolita[0], posicion_bolita[1] + vector_bolita[1])
if ((posicion_bolita[1] < limite_superior)
or (posicion_bolita[1] > (limite_inferior - tamano_bolita[1]))):
vector_bolita = (vector_bolita[0],-vector_bolita[1])
posicion_bolita = (posicion_bolita[0], posicion_bolita[1] + vector_bolita[1])
if (((posicion_bolita[0] < (distancia_paleta_I + tamano_paleta[0]))
and ((posicion_bolita[1] + tamano_bolita[1]) > posicion_paleta_I)
and (posicion_bolita[1] < (posicion_paleta_I + tamano_paleta[1])))
or (((posicion_bolita[0] + tamano_bolita[0]) > distancia_paleta_D)
and ((posicion_bolita[1] + tamano_bolita[1]) > posicion_paleta_D)
and (posicion_bolita[1] < (posicion_paleta_D + tamano_paleta[1])))):
vector_bolita = (-vector_bolita[0], vector_bolita[1])
posicion_bolita = (posicion_bolita[0] + vector_bolita[0], posicion_bolita[1])
if ((posicion_bolita[0] > distancia_paleta_D) or ((posicion_bolita[0] + tamano_bolita[0]) < distancia_paleta_I)):
posicion_bolita = posicion_inicial
posicion_paleta_I = posicion_paleta_inicial
posicion_paleta_D = posicion_paleta_inicial
# la parte de dibujadera
pantalla.fill(color_fondo)
pygame.draw.rect(pantalla, color_limite, pygame.Rect(distancia_paleta_I, (limite_superior - 10), (distancia_paleta_D - distancia_paleta_I + tamano_paleta[0]), 5))
pygame.draw.rect(pantalla, color_limite, pygame.Rect(distancia_paleta_I, (limite_inferior + 5), (distancia_paleta_D - distancia_paleta_I + tamano_paleta[0]), 5))
pygame.draw.rect(pantalla, color_paleta, pygame.Rect(distancia_paleta_I, posicion_paleta_I, tamano_paleta[0], tamano_paleta[1]))
pygame.draw.rect(pantalla, color_paleta, pygame.Rect(distancia_paleta_D, posicion_paleta_D, tamano_paleta[0], tamano_paleta[1]))
pygame.draw.rect(pantalla, color_bolita, pygame.Rect(posicion_bolita, tamano_bolita))
pygame.display.flip()
reloj.tick(30)
pygame.display.quit()