Skip to content

Commit

Permalink
Update 뱀 게임.md
Browse files Browse the repository at this point in the history
  • Loading branch information
yeojeong735 authored Nov 27, 2024
1 parent b0d7601 commit a27a795
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions 뱀 게임.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
###### 뱀 게임

##### 1. 플레이 장면
##### 1️⃣ 플레이 장면
![snakegame](https://github.com/user-attachments/assets/48bf7e39-2f7c-4298-b6bd-4cd04d267937)

##### 2. 뱀 게임 설명
##### 2️⃣ 뱀 게임 설명


1. 주요 요소
##### 1. 주요 요소
###### 1) 게임 화면: 게임은 직사각형 형태의 보드 위에서 진행된다. 각 칸은 뱀과 먹이가 놓일 수 있는 영역으로, 크기가 일정하다.
2) 뱀의 머리와 몸: 뱀은 머리와 여러 개의 몸통 조각으로 이루어져 있다. 뱀의 머리가 먹이를 먹을 때마다 새로운 몸이 추가된다.
3) 먹이의 위치: 먹이는 게임 화면 내의 랜덤한 위치에 생성된다. 먹이를 먹으면 뱀의 길이가 늘어난다.
2. 게임의 규칙
뱀은 한 번에 한 칸씩 이동하며, 이동 방향은 사용자 입력에 따라 바뀐다.
뱀의 머리가 벽이나 자기 몸과 부딪히면 게임이 종료된다.
뱀이 먹이를 먹으면 길이가 증가된다.
3. 게임의 알고리즘
1) 입력 처리: 사용자 입력(키보드)을 받아 뱀의 방향을 제어한다.
2) 게임 상태 업데이트: 뱀의 위치를 업데이트하고, 먹이가 먹혔는지, 충돌이 발생했는지 등을 체크하여 게임 상태를 갱신한다.

##### 3. 조작법
###### 2) 뱀의 머리와 몸: 뱀은 머리와 여러 개의 몸통 조각으로 이루어져 있다. 뱀의 머리가 먹이를 먹을 때마다 새로운 몸이 추가된다.
###### 3) 먹이의 위치: 먹이는 게임 화면 내의 랜덤한 위치에 생성된다. 먹이를 먹으면 뱀의 길이가 늘어난다.
##### 2. 게임의 규칙
###### 뱀은 한 번에 한 칸씩 이동하며, 이동 방향은 사용자 입력에 따라 바뀐다.
###### 뱀의 머리가 벽이나 자기 몸과 부딪히면 게임이 종료된다.
###### 뱀이 먹이를 먹으면 길이가 증가된다.
##### 3. 게임의 알고리즘
###### 1) 입력 처리: 사용자 입력(키보드)을 받아 뱀의 방향을 제어한다.
###### 2) 게임 상태 업데이트: 뱀의 위치를 업데이트하고, 먹이가 먹혔는지, 충돌이 발생했는지 등을 체크하여 게임 상태를 갱신한다.

##### 3️⃣ 조작법

|키보드 입력|동작|
|:---:|---|
||위쪽으로 이동|
||아래쪽으로 이동|
||왼쪽으로 이동|
||오른쪽으로 이동|
##### 3. 코드 상세 분석
##### 4️⃣ 코드 상세 분석

##### * 키 입력 코드
```python
Expand All @@ -40,7 +40,7 @@ if keys[pygame.K_UP] and snake_dir != (0, block_size):
if keys[pygame.K_RIGHT] and snake_dir != (-block_size, 0):
snake_dir = (block_size, 0)
```
### ### pygame.key.get_pressed()는 키가 눌린 상태를 지속적으로 확인해, 키를 누르고 있는 동안 반복적인 동작을 수행한다. 키 입력이 한 번만 처리 되길 원한하면 pygame.KEYDOWN 이벤트를 사용하는 것이 적합하지만 뱀 게임의 특성상 키가 눌린 상태를 지속하는 경우가 많기 때문에pygame.key.get_pressed()를 쓴다.
###### pygame.key.get_pressed()는 키가 눌린 상태를 지속적으로 확인해, 키를 누르고 있는 동안 반복적인 동작을 수행한다. 키 입력이 한 번만 처리 되길 원한하면 pygame.KEYDOWN 이벤트를 사용하는 것이 적합하지만 뱀 게임의 특성상 키가 눌린 상태를 지속하는 경우가 많기 때문에pygame.key.get_pressed()를 쓴다.
###### 첫 번째 조건문을 대표로 보면 ' up 키를 눌렀을 때 and 뱀이 현재 아래로 이동 중이 아닐 때' 위로 이동한다.

##### * 뱀 이동
Expand Down

0 comments on commit a27a795

Please sign in to comment.