Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import pygame
|
2 |
+
import random
|
3 |
+
|
4 |
+
# ์ด๊ธฐํ
|
5 |
+
pygame.init()
|
6 |
+
|
7 |
+
# ํ๋ฉด ์ค์
|
8 |
+
width = 800
|
9 |
+
height = 600
|
10 |
+
screen = pygame.display.set_mode((width, height))
|
11 |
+
pygame.display.set_caption("๋ธ๋ก ๊ฒ์")
|
12 |
+
|
13 |
+
# ์์
|
14 |
+
BLACK = (0, 0, 0)
|
15 |
+
WHITE = (255, 255, 255)
|
16 |
+
RED = (255, 0, 0)
|
17 |
+
|
18 |
+
# ๋ธ๋ก ์ค์
|
19 |
+
block_width = 50
|
20 |
+
block_height = 20
|
21 |
+
block_rows = 5
|
22 |
+
block_cols = 10
|
23 |
+
|
24 |
+
# ํจ๋ค ์ค์
|
25 |
+
paddle_width = 100
|
26 |
+
paddle_height = 10
|
27 |
+
paddle_x = width // 2 - paddle_width // 2
|
28 |
+
paddle_y = height - 40
|
29 |
+
|
30 |
+
# ๊ณต ์ค์
|
31 |
+
ball_radius = 10
|
32 |
+
ball_x = width // 2
|
33 |
+
ball_y = height // 2
|
34 |
+
ball_dx = 3
|
35 |
+
ball_dy = -3
|
36 |
+
|
37 |
+
# ๋ธ๋ก ์์ฑ
|
38 |
+
blocks = []
|
39 |
+
for row in range(block_rows):
|
40 |
+
for col in range(block_cols):
|
41 |
+
block = pygame.Rect(col * (block_width + 5) + 50,
|
42 |
+
row * (block_height + 5) + 50,
|
43 |
+
block_width, block_height)
|
44 |
+
blocks.append(block)
|
45 |
+
|
46 |
+
# ๊ฒ์ ๋ฃจํ
|
47 |
+
running = True
|
48 |
+
clock = pygame.time.Clock()
|
49 |
+
|
50 |
+
while running:
|
51 |
+
for event in pygame.event.get():
|
52 |
+
if event.type == pygame.QUIT:
|
53 |
+
running = False
|
54 |
+
|
55 |
+
# ํจ๋ค ์ด๋
|
56 |
+
keys = pygame.key.get_pressed()
|
57 |
+
if keys[pygame.K_LEFT] and paddle_x > 0:
|
58 |
+
paddle_x -= 5
|
59 |
+
if keys[pygame.K_RIGHT] and paddle_x < width - paddle_width:
|
60 |
+
paddle_x += 5
|
61 |
+
|
62 |
+
# ๊ณต ์ด๋
|
63 |
+
ball_x += ball_dx
|
64 |
+
ball_y += ball_dy
|
65 |
+
|
66 |
+
# ๋ฒฝ ์ถฉ๋ ๊ฒ์ฌ
|
67 |
+
if ball_x <= 0 or ball_x >= width:
|
68 |
+
ball_dx *= -1
|
69 |
+
if ball_y <= 0:
|
70 |
+
ball_dy *= -1
|
71 |
+
if ball_y >= height:
|
72 |
+
running = False
|
73 |
+
|
74 |
+
# ํจ๋ค ์ถฉ๋ ๊ฒ์ฌ
|
75 |
+
if ball_y + ball_radius >= paddle_y and ball_x >= paddle_x and ball_x <= paddle_x + paddle_width:
|
76 |
+
ball_dy *= -1
|
77 |
+
|
78 |
+
# ๋ธ๋ก ์ถฉ๋ ๊ฒ์ฌ
|
79 |
+
for block in blocks[:]:
|
80 |
+
if block.collidepoint(ball_x, ball_y):
|
81 |
+
blocks.remove(block)
|
82 |
+
ball_dy *= -1
|
83 |
+
break
|
84 |
+
|
85 |
+
# ํ๋ฉด ๊ทธ๋ฆฌ๊ธฐ
|
86 |
+
screen.fill(BLACK)
|
87 |
+
pygame.draw.rect(screen, WHITE, (paddle_x, paddle_y, paddle_width, paddle_height))
|
88 |
+
pygame.draw.circle(screen, WHITE, (int(ball_x), int(ball_y)), ball_radius)
|
89 |
+
for block in blocks:
|
90 |
+
pygame.draw.rect(screen, RED, block)
|
91 |
+
|
92 |
+
pygame.display.flip()
|
93 |
+
clock.tick(60)
|
94 |
+
|
95 |
+
pygame.quit()
|