Skip to content

gwin-lim/ui-interaction-senior

Repository files navigation

UI 인터랙션 시니어

학습 주제

게임 프로그래밍

학습 목표

스네이크 게임 구현

  • 사방이 막혀있는 네모난 공간에 플레이어가 조종하는 뱀 한 마리가 놓여진다.
  • 뱀은 현재 머리가 향하고 있는 방향으로 멈추지 않고 이동한다. 플레이어의 조작으로는 머리가 진행하는 방향만 바꿀 수 있다.
  • 뱀이 벽이나 자신의 몸 일부에 머리를 부딪히면 죽는다.
  • 목적은 화면에 놓여있는 먹이를 모두 먹는 것이다.
  • 먹이를 먹을 때마다 뱀의 길이가 길어지고, 진행 속도가 빨라진다. (게임 난이도 ↑)

구현 절차

  1. 그리드 행(rows)/열(colums)/총(total) 개수를 상수로 설정합니다.
  2. 스퀘어(square) 요소를 생성하는 함수를 작성합니다.
  3. 스퀘어 집합(squares) 배열을 생성합니다.
  4. 스퀘어를 그리드(grid)에 드로잉하는 함수를 작성합니다.
  5. 스네이크(snake)를 드로잉하는 함수를 작성합니다.
  6. 스네이크를 이동(move)하는 함수를 작성합니다.
  7. 스네이크를 방향키(← ↑ → ↓)로 이동할 수 있도록 구현합니다.
  8. 시작, 정지 버튼을 클릭해 게임이 시작, 정지하도록 구현합니다.
  9. 스네이크가 벽에 부딪히거나, 스네이크 몸에 부딪힐 경우 게임이 종료되도록 구현합니다.
  10. 애플이 스네이크와 겹치지 않게 그리드 위에 배치되도록 드로잉하는 함수를 작성합니다.
  11. 스네이크가 애플을 먹으면 애플이 제거된 후, 다시 임의의 다른 위치에 생성되도록 구현합니다.
  12. 스네이크가 애플을 먹으면 점수(score)가 올라가도록 구현합니다.
  13. 스네이크가 애플을 먹으면 스네이크의 길이가 길어지도록 구현합니다.
  14. 스네이크가 애플을 먹으면 게임 난이도(speed)가 빨라지도록 구현합니다.
  15. 게임 시작, 다시 시작, 정지 기능이 작동되도록 구현합니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published