안녕하세요! 가족과 함께하는 스마트 라이프입니다. 지난 시간에 만든 핑퐁 게임, 재미있게 즐기셨나요? 오늘은 그 공에 ‘파괴 마법’을 걸어볼 거예요. 화면 가득 찬 벽돌을 공으로 맞춰서 하나씩 없애는 ‘벽돌 깨기 대작전’입니다!

1. 게임의 핵심: “사라져라, 벽돌!”
벽돌 깨기 게임에서 가장 중요한 마법은 ‘충돌 감지’예요. 공이 날아가다가 벽돌의 위치와 겹치면?
1. 벽돌은 화면에서 사라지고!
2. 공은 튕겨 나오고!
3. 내 점수는 올라가야 하죠.
이 복잡해 보이는 과정을 파이썬은 ‘distance()’라는 명령어로 아주 간단하게 해결해준답니다.
2. 벽돌 공장을 세워요: 리스트(List)의 힘
벽돌을 하나하나 코딩하면 너무 힘들겠죠? 그래서 우리는 ‘리스트’라는 마법 보따리를 사용해요. 반복문(for)을 써서 보따리 안에 벽돌을 10개, 20개씩 뚝딱 만들어 넣는 거죠. 이 벽돌들은 ‘리스트’ 안에 담겨 있다가 공에 맞으면 보따리에서 하나씩 삭제된답니다.
3. 실전 연습: 벽돌을 만들고 없애는 코드
import turtle
# 1. 화면과 공 설정
screen = turtle.Screen()
screen.bgcolor("black")
ball = turtle.Turtle("circle")
ball.color("yellow")
ball.penup()
# 2. 벽돌 공장 가동 (5개의 벽돌 만들기)
bricks = []
colors = ["red", "orange", "yellow", "green", "blue"]
for i in range(5):
brick = turtle.Turtle("square")
brick.color(colors[i])
brick.shapesize(stretch_wid=1, stretch_len=3)
brick.penup()
brick.goto(-200 + (i * 100), 150)
bricks.append(brick)
# 3. 게임 루프 (맛보기)
def play():
ball.goto(ball.xcor(), ball.ycor() + 2) # 공이 위로 올라가요
for brick in bricks:
if ball.distance(brick) < 30: # 벽돌과 가까워지면?
brick.hideturtle() # 벽돌을 숨겨요!
bricks.remove(brick) # 리스트에서 빼요!
print("💥 팡! 벽돌을 부쉈어요!")
# 실행 버튼
screen.ontimer(play, 100)
turtle.done()

4. 더 짜릿한 게임을 위한 업그레이드!
단순히 깨기만 하면 아쉽죠? 이런 기능을 상상해 보세요!
- 무지개 벽돌: 색깔마다 점수를 다르게 설정해 보세요. 빨간색은 100점, 파란색은 50점!
- 아이템 상자: 특정 벽돌을 깨면 공이 커지거나 막대가 길어지는 아이템이 떨어지게 해보세요.
- 생명 수치: 공을 아래로 떨어뜨리면 하트(♥)가 하나씩 줄어들게 만들면 더 긴장감 넘쳐요!
5. 가족과 함께하는 ‘레벨 디자인’ 놀이
아이는 이제 ‘레벨 디자이너’가 되어 보세요. 벽돌을 계단 모양으로 배치할지, 아니면 하트 모양으로 배치할지 brick.goto() 좌표를 바꿔가며 설계하는 거예요. 부모님은 아이가 만든 스테이지를 직접 깨보며 “오! 이번 단계는 벽돌이 촘촘해서 정말 어려운데?”라고 반응해 주세요. 아이는 좌표값 하나가 게임의 난이도를 바꾼다는 사실을 배우며 수학과 코딩의 연결고리를 자연스럽게 이해하게 됩니다.
마치며: 부술수록 커지는 코딩 실력
오늘 우리는 리스트와 충돌 감지를 이용해 벽돌 깨기 게임의 뼈대를 만들었습니다. 벽돌이 팡팡 터질 때마다 여러분의 코딩 실력도 쑥쑥 자라나고 있어요! 다음 시간에는 하늘에서 떨어지는 장애물을 피하며 오래 살아남는 ‘우주선 피하기 게임’ 마법을 배워보겠습니다!



