python으로 게임 만들기/테트리스

[테트리스] 배경화면에 벽 맵 추가하기

bay07 2024. 2. 23. 11:01

 

대충 이렇게 하니까, 블록이 2개 만들어졌다. 

이제 좌표값을 잘 설정하고 for문을 돌리면서 블록을 깔아봐야겠다. 

나중에 바꾸기 쉽도록 함수로 만들도록 하자. 

# 오브젝트 생성하기 
# (100,50) 는 스크린에서의 위치
box1 = pygame.Rect(60,530,20,20)
pygame.draw.rect(background,pink,box1,10)

box2 = pygame.Rect(85,530,20,20)
pygame.draw.rect(background,pink,box2,10)
더보기
import sys
import pygame
from pygame.locals import *

# 초기화 & 기능 사용 시작을 알림 
pygame.init()

## 초당 프레임 단위 설정 ##
FPS = 30
FramePerSec = pygame.time.Clock()

# 전체 스크린의 가로, 세로 설정
screen_width = 500
screen_height = 600

# 컬러셋팅
white = (255,255,255)
black = (0,0,0)
organe = (255,204,153)
green = (204,255,229)
blue = (204,229,255)
pink = (255,204,229)
purple = (204,204,255)

# 스크린 생성하기 
background = pygame.display.set_mode((screen_width, screen_height))
background.fill(blue)
print(background)

# 오브젝트 생성하기 
# (100,50) 는 스크린에서의 위치
box1 = pygame.Rect(60,530,20,20)
pygame.draw.rect(background,pink,box1,10)

box2 = pygame.Rect(85,530,20,20)
pygame.draw.rect(background,pink,box2,10)

# 게임창 이름 설정
pygame.display.set_caption("PYGAME Example") 

# 아하 ! 연습할 때, 게임을 종료시키는 함수가 있어야 실행이 된다. 
# 아래 코드 계속 적어줘야함. 
# 게임을 종료시키는 함수
while True:
    pygame.display.update()
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
    FramePerSec.tick(FPS)


 

우선 좌표값을 설정하고, 설계를 간단히 해보자. 

 

이제 실행 고고 !

def background_set():
    # 맨 밑에 바닥깔기
    for i in range(11):
    # (100,50) 는 스크린에서의 위치
        box = pygame.Rect(60 + 25*i,530,20,20)
        pygame.draw.rect(background,pink,box,10)
        
    # 왼쪽벽 만들어보쟈 
    for j in range(18):
    # (100,50) 는 스크린에서의 위치
        box = pygame.Rect(60,530-25*j,20,20)
        pygame.draw.rect(background,pink,box,10)   
        
    # 오른쪽벽 만들어보쟈 
    for j in range(18):
    # (100,50) 는 스크린에서의 위치
        box = pygame.Rect(310,530-25*j,20,20)
        pygame.draw.rect(background,pink,box,10)
더보기
import sys
import pygame
from pygame.locals import *

# 초기화 & 기능 사용 시작을 알림 
pygame.init()

## 초당 프레임 단위 설정 ##
FPS = 30
FramePerSec = pygame.time.Clock()

# 전체 스크린의 가로, 세로 설정
screen_width = 520
screen_height = 600

# 컬러셋팅
white = (255,255,255)
black = (0,0,0)
organe = (255,204,153)
green = (204,255,229)
blue = (204,229,255)
pink = (255,204,229)
purple = (204,204,255)

# 스크린 생성하기 
background = pygame.display.set_mode((screen_width, screen_height))
background.fill(blue)
print(background)

def background_set():
    # 맨 밑에 바닥깔기
    for i in range(11):
    # (100,50) 는 스크린에서의 위치
        box = pygame.Rect(60 + 25*i,530,20,20)
        pygame.draw.rect(background,pink,box,10)
        
    # 왼쪽벽 만들어보쟈 
    for j in range(18):
    # (100,50) 는 스크린에서의 위치
        box = pygame.Rect(60,530-25*j,20,20)
        pygame.draw.rect(background,pink,box,10)   
        
    # 오른쪽벽 만들어보쟈 
    for j in range(18):
    # (100,50) 는 스크린에서의 위치
        box = pygame.Rect(310,530-25*j,20,20)
        pygame.draw.rect(background,pink,box,10)   
        

# 게임창 이름 설정
pygame.display.set_caption("PYGAME Example") 
background_set()

# 아하 ! 연습할 때, 게임을 종료시키는 함수가 있어야 실행이 된다. 
# 아래 코드 계속 적어줘야함. 
# 게임을 종료시키는 함수
while True:
    pygame.display.update()
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
    FramePerSec.tick(FPS)

 

이렇게 하나씩 해보니까, 예쁘게 배경이 만들어졌다.

for문으로 반복작업을 처리해주면 OK