Development (26) 썸네일형 리스트형 Python - 테트리스(Tetris) 만들기 (6) - Tetriminos 지난 시간에는 키보드에 따라 한 칸씩 움직이는 사각형을 만들었습니다. 이번에는 그 사각형을 Tetriminos(이하 미노라 하겠습니다)로 만들어보겠습니다. 오랜만에 공식 문서 https://tetris.fandom.com/wiki/Tetromino를 확인해 보겠습니다. 미노는 총 7가지가 있습니다. 이 미노를 어떻게 python에서 작성할 수 있을까요? 우선 간단하게 미노를 눈으로 보니 7개의 미노가 존재합니다. I, O, T, S, Z, J, L로 각각 이름이 있으며 모양과 색깔도 있습니다. 이 정보를 가지고 class로 작성해 보았습니다. Mino를 Class로 작성. name에는 string을 작성, blocks에는 x, y가 들어갈 좌표 list를 작성, rgb 숫자를 저장할 tuple를 작성합니.. Python - 테트리스(Tetris) 만들기 (5) - Event Event Handling Event란 무엇일까요? 다양한 뜻이 있지만, 보통은 사건 발생을 의미하며, 게임에서는 사용자의 입력을 의미하기도 합니다. 이런 Event 처리를 Event Handling이라 합니다. pygame에서는 어떤 식으로 event handling을 할지 살펴봅시다. def _event(self): for event in pg.event.get(): if event.type == pg.QUIT: ## Window 상단 X버튼 self._running = False 이전에 봤던 함수죠? pg.QUIT가 없으면 종료조차 못하는 pygame을 확인했던 그 함수입니다. 이 pg.event.get()을 통해, 움직이는 물체를 만들어 보겠습니다. 움직이는 물체를 만들기 위해선 다음과 같은 동작.. Python - 테트리스(Tetris) 만들기 (4) - Draw Rect 이전 글에서는, Tetris를 구동하기 위한 코드 초안을 작성했습니다. import pygame as pg class Tetris: def __init__(self, width: int, height: int): self._size = self.width, self.height = width, height self._display_surf = None self._running = False def _init(self): pg.init() self._display_surf = pg.display.set_mode(self._size) self._running = True def _event(self): for event in pg.event.get(): if event.type == pg.QUIT: ## W.. Python - 테트리스(Tetris) 만들기 (3) - Pygame Library Library 설치 우선 python을 화면에 띄우기 위해서는, library가 있어야 합니다. GUI모듈을 만드는 것은 매우 어려운 일이기 때문에...누군가 잘 만든 Tool, Library, Framework가 있다면 사용해야죠. 빌딩을 크레인 없이 삽질로만 만들 수는 없지 않겠습니까? 저는 GUI Tool로 Pygame을 선택했습니다. Library를 설치해 봅시다. pip install pygame 그러면 설치가 완료됩니다. Library 사용법 확인 pygame까지 설치한 것은 좋았는데, 이제 어떻게 할까요? 새로운 library를 봤으면 유튜브나, 구글 문서를 확인해 보는 것도 좋지만, 공식 Site에서 보여주는 Tutorial을 참조하는 것도 좋은 습관입니다. 여기서 Tutorials에 들어.. Python - 테트리스(Tetris) 만들기 (2) - 환경 설정 프로그래밍을 하기위한 환경 설정은 매우 중요합니다. python을 돌아갈 수 있는 환경을 만들기 위해, vscode를 설치 하도록 합시다. vscode python 환경설정 그리고 Tetris라는 폴더를 새로 만들었습니다. Terminal을 엽니다. 단축키는 ctrl + `(1 옆에 있는 물결 키) 입니다. vscode 설치가 완료되었습니다. 혹시 python이 설치 안되신 분들은 python도 설치하도록 합시다. python 설치 방법 저는 가상환경을 만들어서 작업을 하려 합니다. 아래와 같은 명령어를 입력하도록 합시다. python -m venv .venv 그러면 다음과 같은 폴더가 생성될 것입니다. 이 폴더 안에, python 가상환경이 설치된 것입니다. 가상환경을 활성화 합시다. (윈도우 기준) .. Python - 테트리스(Tetris) 만들기 (1) - Intro Intro(소개) 테트리스란, 블럭 4개로 이루어진 도형(Mino)를 필드에 쌓아, 줄을 지워나가는 게임입니다. 간단한 규칙에 비해, 다양한 기술들(예 : T-spin)이 있어 인기가 많은 게임입니다. 이 게임을 Python으로 구현하고자 합니다. Purpose(목적) 이 블로그에서 python으로 테트리스를 만드는 목적이 무엇일까요? 이해하기 쉬운 게임을 통해 프로그래밍의 기본적인 흐름을 보여주는 것이 주된 목적입니다. 구현을 아래 6단계로 나눠서 진행합니다. 1단계. 요구사항 문서 분석 2단계. 요구사항에 따른 언어 선택 3단계. 요구사항의 기능을 상세 분석, 구현 4단계. 기능 Test 5단계. Bug fix, 기능 확장(구현 단계인 3으로 돌아감) 6단계. 완성 보통사람들은 막연한 요구사항을 머릿.. 이전 1 2 3 다음 3/3