벽돌깨기 게임 만들기

게임을 만들면 좋을것 같아서 가장 쉬운 벽돌깨기를 만들어 보기로 했다.

하지만 만들고 나니 너무 재미가 없어서 핸드폰 게임으로 재밌게 했던 좀 더 모던한 형태의 벽돌깨기를 만들어 보았다.

스와이핑 게임이다.


게임 소개

https://blog.kakaocdn.net/dn/AR8L5/btrK0Hve8S3/NqhUT90jIUMjKe5nHZ3wv0/img.gif

마우스 클릭 시 커서 방향으로 공이 출발한다.

모든 공이 돌아오면 벽돌이 한칸씩 내려온다.

초록색 공을 먹으면 공의 개수가 1개씩 증가한다.

스크린 생성

turtle의 Screen

# 스크린 생성
screen = Screen()
screen.title("swipe break")# 제목 설정
screen.bgcolor("black")# 배경 색 지정
screen.setup(width=600,height=800)# 넓이와 높이 지정
screen.tracer(0)# 스크린 끄기

공 구현하기

공의 색상을 모두 다르게 하기 위해 색상 리스트를 작성했다.

# 공의 색상 리스트COLOR_LIST = ["LightBlue","LightBlue1","LightBlue2","LightBlue3","LightBlue4","LightCyan","LightCyan1","LightCyan2","LightCyan3","LightCyan4"]

공 생성하기

turtle을 상속하여 공을 생성하는 클래스를 만들어 준다.

self.movement = False로 지정하여 나중에 False 상태일때는 공이 움직이지 않도록 한다.

# 공 생성 클래스class Ball(Turtle):
    def __init__(self, x_cor, y_cor):
        super().__init__()
        balls = Balls()
        self.penup()# 펜 업
        self.shape("circle")# 원형으로 지정
        self.shapesize(stretch_wid=0.5, stretch_len=0.5)# 공의 크기 지정
        self.color(random.choice(COLOR_LIST))# 색상 지정
        self.goto(x_cor,y_cor)# x,y 좌표에 생성하기
        self.x_move = 10# 공의 이동 속도
        self.y_move = 10# 공의 이동 속도
        self.movement = False# 공의 움직임을 False로 지정