import pygame 
pygame.init() 
WIDTH = 900 
HEIGHT = 1100 
size = (WIDTH, HEIGHT) 
screen = pygame.display.set_mode(size) 
pygame.display.set_caption("Breakout") 
FPS = 60 
WHITE = (257, 255, 255) 
GREY = (213, 210, 212) 
BLACK = (0, 0, 0) 
BLUE = (0, 97, 148) 
RED = (163, 8, 0) 
ORANGE = (184, 119, 0) 
GREEN = (0, 127, 33) 
YELLOW = (198, 199, 37) 
balls = 1 
velocity = 3.5 
paddle_width = 54 
paddle_height = 20 
all_sprites_list = pygame.sprite.Group() 
class Brick(pygame.sprite.Sprite): 
def __init__(self, color, width, height): 
super().__init__() 
self.image = pygame.Surface([width, height]) 
pygame.draw.rect(self.image, color, [0, 0, width, height]) 
self.rect = self.image.get_rect() 
class Paddle(pygame.sprite.Sprite): 
def __init__(self, color, width, height): 
super().__init__() 
self.image = pygame.Surface([width, height]) 
pygame.draw.rect(self.image, color, [0, 0, width, height]) 
self.rect = self.image.get_rect() 
def moveRight(self, pixels): 
self.rect.x += pixels 
if self.rect.x > WIDTH - wall_width - paddle_width: 
self.rect.x = WIDTH - wall_width - paddle_width 
def moveLeft(self, pixels): 
self.rect.x -= pixels 
if self.rect.x < wall_width: 
self.rect.x = wall_width 
class Ball(pygame.sprite.Sprite): 
def __init__(self, color, width, height): 
super().__init__() 
self.image = pygame.Surface([width, height]) 
pygame.draw.rect(self.image, color, [0, 0, width, height]) 
self.rect = self.image.get_rect() 
self.velocity = [velocity, velocity] 
def update(self): 
self.rect.x += self.velocity[0] 
self.rect.y += self.velocity[1] 
def bounce(self): 
self.velocity[0] = self.velocity[0] 
self.velocity[1] = -self.velocity[1] 
paddle = Paddle(BLUE, paddle_width, paddle_height) 
paddle.rect.x = WIDTH // 2 - paddle_width // 2 
paddle.rect.y = HEIGHT - 65 
ball = Ball(RED, 10, 10) 
ball.rect.x = WIDTH // 2 - 5 
ball.rect.y = HEIGHT // 2 - 5 
all_bricks = pygame.sprite.Group() 
brick_width = 55 
brick_height = 16 
x_gap = 7 
y_gap = 5 
wall_width = 16 
def bricks(): 
for j in range(8): 
for i in range(14): 
if j < 2: 
if i == 0: 
brick = Brick(RED, brick_width, brick_height) 
brick.rect.x = wall_width 
brick.rect.y = 215 + j * (y_gap + brick_height) 
all_sprites_list.add(brick) 
all_bricks.add(brick) 
else: 
brick = Brick(RED, brick_width, brick_height) 
brick.rect.x = wall_width + brick_width + x_gap + (i - 1) * (brick_width + x_gap) 
brick.rect.y = 215 + j * (y_gap + brick_height) 
all_sprites_list.add(brick) 
all_bricks.add(brick) 
if 1 < j < 4: 
if i == 0: 
brick = Brick(ORANGE, brick_width, brick_height) 
brick.rect.x = wall_width 
brick.rect.y = 215 + j * (y_gap + brick_height) 
all_sprites_list.add(brick) 
all_bricks.add(brick) 
else: 
brick = Brick(ORANGE, brick_width, brick_height) 
brick.rect.x = wall_width + brick_width + x_gap + (i - 1) * (brick_width + x_gap) 
brick.rect.y = 215 + j * (y_gap + brick_height) 
all_sprites_list.add(brick) 
all_bricks.add(brick) 
if 3 < j < 6: 
if i == 0: 
brick = Brick(GREEN, brick_width, brick_height) 
brick.rect.x = wall_width 
brick.rect.y = 215 + j * (y_gap + brick_height) 
all_sprites_list.add(brick) 
all_bricks.add(brick) 
else: 
brick = Brick(GREEN, brick_width, brick_height) 
brick.rect.x = wall_width + brick_width + x_gap + (i - 1) * (brick_width + x_gap) 
brick.rect.y = 215 + j * (y_gap + brick_height) 
all_sprites_list.add(brick) 
all_bricks.add(brick) 
if 5 < j < 8: 
if i == 0: 
brick = Brick(YELLOW, brick_width, brick_height) 
brick.rect.x = wall_width 
brick.rect.y = 215 + j * (y_gap + brick_height) 
all_sprites_list.add(brick) 
all_bricks.add(brick) 
else: 
brick = Brick(YELLOW, brick_width, brick_height) 
brick.rect.x = wall_width + brick_width + x_gap + (i - 1) * (brick_width + x_gap) 
brick.rect.y = 215 + j * (y_gap + brick_height) 
all_sprites_list.add(brick) 
all_bricks.add(brick) 
brick_wall = bricks() 
all_sprites_list.add(paddle) 
all_sprites_list.add(ball) 
def main(score, balls): 
step = 0 
run = True 
while run: 
for event in pygame.event.get(): 
if event.type == pygame.QUIT: 
run = False 
keys = pygame.key.get_pressed() 
if keys[pygame.K_LEFT]: 
paddle.moveLeft(10) 
if keys[pygame.K_RIGHT]: 
paddle.moveRight(10) 
all_sprites_list.update() 
if ball.rect.y < 40: 
ball.velocity[1] = -ball.velocity[1] 
if ball.rect.x >= WIDTH - wall_width - 10: 
ball.velocity[0] = -ball.velocity[0] 
if ball.rect.x <= wall_width: 
ball.velocity[0] = -ball.velocity[0] 
if ball.rect.y > HEIGHT: 
ball.rect.x = WIDTH // 2 - 5 
ball.rect.y = HEIGHT // 2 - 5 
ball.velocity[1] = ball.velocity[1] 
balls += 1 
if balls == 4: 
run = False 
if pygame.sprite.collide_mask(ball, paddle): 
ball.rect.x += ball.velocity[0] 
ball.rect.y -= ball.velocity[1] 
ball.bounce() 
brick_collision_list = pygame.sprite.spritecollide(ball, all_bricks, False) 
for brick in brick_collision_list: 
ball.bounce() 
if len(brick_collision_list) > 0: 
step += 1 
for i in range(0, 448, 28): 
if step == i: 
ball.velocity[0] += 1 
ball.velocity[1] += 1 
if 380.5 > brick.rect.y > 338.5: 
score += 1 
brick.kill() 
elif 338.5 > brick.rect.y > 294: 
score += 3 
brick.kill() 
elif 294 > brick.rect.y > 254.5: 
score += 5 
brick.kill() 
else: 
score += 7 
brick.kill() 
if len(all_bricks) == 0: 
run = False 
screen.fill(BLACK) 
pygame.draw.line(screen, GREY, [0, 19], [WIDTH, 19], 40) 
pygame.draw.line(screen, GREY, [(wall_width / 2) - 1, 0], [(wall_width / 2) - 1, HEIGHT], wall_width) 
pygame.draw.line(screen, GREY, [(WIDTH - wall_width / 2) - 1, 0], [(WIDTH - wall_width / 2) - 1, HEIGHT], wall_width) 
pygame.draw.line(screen, BLUE, [(wall_width / 2) - 1, HEIGHT - 65 + paddle_height / 2 - 54 / 2], [(wall_width / 2) - 1, HEIGHT - 65 + paddle_height / 2 - 54 / 2 + 54], wall_width) 
pygame.draw.line(screen, BLUE, [(WIDTH - wall_width / 2) - 1, HEIGHT - 65 + paddle_height / 2 - 54 / 2], [(WIDTH - wall_width / 2) - 1, HEIGHT - 65 + paddle_height / 2 - 54 / 2 + 54], wall_width) 
pygame.draw.line(screen, RED, [(wall_width / 2) - 1, 212.5], [(wall_width / 2) - 1, 212.5 + 2 * brick_height + 2 * y_gap], wall_width) 
pygame.draw.line(screen, RED, [(WIDTH - wall_width / 2) - 1, 212.5], [(WIDTH - wall_width / 2) - 1, 212.5 + 2 * brick_height + 2 * y_gap], wall_width) 
pygame.draw.line(screen, ORANGE, [(wall_width / 2) - 1, 212.5 + 2 * brick_height + 2 * y_gap], [(wall_width / 2) - 1, 212.5 + 4 * brick_height + 4 * y_gap], wall_width) 
pygame.draw.line(screen, ORANGE, [(WIDTH - wall_width / 2) - 1, 212.5 + 2 * brick_height + 2 * y_gap], [(WIDTH - wall_width / 2) - 1, 212.5 + 4 * brick_height + 4 * y_gap], wall_width) 
pygame.draw.line(screen, GREEN, [(wall_width / 2) - 1, 212.5 + 4 * brick_height + 4 * y_gap], [(wall_width / 2) - 1, 212.5 + 6 * brick_height + 6 * y_gap], wall_width) 
pygame.draw.line(screen, GREEN, [(WIDTH - wall_width / 2) - 1, 212.5 + 4 * brick_height + 4 * y_gap], [(WIDTH - wall_width / 2) - 1, 212.5 + 6 * brick_height + 6 * y_gap], wall_width) 
pygame.draw.line(screen, YELLOW, [(wall_width / 2) - 1, 212.5 + 6 * brick_height + 6 * y_gap], [(wall_width / 2) - 1, 212.5 + 8 * brick_height + 8 * y_gap], wall_width) 
pygame.draw.line(screen, YELLOW, [(WIDTH - wall_width / 2) - 1, 212.5 + 6 * brick_height + 6 * y_gap], [(WIDTH - wall_width / 2) - 1, 212.5 + 8 * brick_height + 8 * y_gap], wall_width) 
all_sprites_list.draw(screen) 
pygame.display.update() 
pygame.quit() 
파이게임 사용해서 만드는건데  
process finished with exit code 0 나옴 근데 왜 안되냐 
내 컴퓨터만 안되는건가 그냥 들갔다가 튕겨버림 제발 ㅜ  
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.