2022. 7. 5. 21:08ㆍ코딩/- Project: pygame
침팬지 게임이란, 메모리 게임으로 화면의 숫자를 기억해놨다가 차례대로 클릭하는 게임을 말한다. 지금까지 배운 파이썬과 pygame frame을 이용해서 만들어보자.
이 게임의 핵심이라 볼 수 있는 코드다. 숫자 및 박스가 뜰 공간을 정의해주기 위해, gird 를 생성한다. 생성할 gird는 rows(행)이 5, colums(열) 9인 총 45칸의 테이블이라 말할 수 있다.
gird = [[0 for col in range(colums)] for row in range(rows)], 이중 반복문을 사용하여 리스트 안에 리스트가 존재하는 gird를 생성한다.
gird = [[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0]] 이런 형태로 자리잡을 것이다.
row_idx , col_idx를 각각 지정하여 shuffle 된 그리드 위에 숫자를 순서대로 집어넣는다.
즉, 숫자를 순서대로 넣지만 gird가 shuffle되어 무작위로 숫자가 배치된다.
또한 gird[row_idx][col_dix] 로 각각 좌표값을 지정받는데, 이를 통해 idx에 cell_size를 곱해줌으로써 x, y의 좌표를 지정해줄 수 있다. 그리고 지정해놓은 좌표마다 네모와 숫자를 생성하면 된다.
또한 이번 게임에서는 저번까지는 colliderect를 이용해 서로의 범위에 충돌하는 조건으로 이벤트가 실행이 됐지만, 이번에는 마우스 포인터로 하는 게임이므로 마우스 버튼을 눌렀을 때 collidepoint 로 click_pos가 일어나게 변수를 지정해주어,
이를 통해 마우스 포인터가 언제 어디를 누르냐에 따라 게임 진행 상황을 코딩할 수 있었다.
'코딩 > - Project: pygame' 카테고리의 다른 글
Python) 골드 마이너 게임 만들어보기 (2) (pygame frame 이용) (0) | 2022.07.11 |
---|---|
Python) 골드 마이너 게임 만들어보기 (1) (pygame frame 이용) (0) | 2022.07.06 |
Python) 팡게임(Pang Game) 만들어보기 (pygame frame 이용) (0) | 2022.07.04 |
Python) 똥 피하기 게임 만들기 (pygame frame 이용) (0) | 2022.07.03 |
Python) 파이 게임 틀 만들기 2 (FPS, 타이머, 프레임, 텍스트) (0) | 2022.07.03 |