Python) 침팬지 게임 만들어보기 (pygame frame 이용)

2022. 7. 5. 21:08코딩/- Project: pygame

728x90
반응형

침팬지 게임이란, 메모리 게임으로 화면의 숫자를 기억해놨다가 차례대로 클릭하는 게임을 말한다. 지금까지 배운 파이썬과 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가 일어나게 변수를 지정해주어,

이를 통해 마우스 포인터가 언제 어디를 누르냐에 따라 게임 진행 상황을 코딩할 수 있었다.

 

 

 

728x90
반응형