수박게임(Suika Game) 클론 코딩 프로젝트
- 관련 이슈: [#17 클론코딩 요청] (https://github.com/haedalprogramming/edu-step2-project-class/issues/17)
- 배포 링크: https://haedalprogramming.github.io/watermelonMakerCloneGame/
- 핵심 게임플레이 구현 (
index.html단일 파일, 순수 HTML/CSS/JS)- 클릭/드래그로 과일 드롭
- 같은 과일끼리 충돌 시 다음 단계로 병합 + 점수 획득 (체리 → ... → 수박, 11단계)
- 점수 표시, 다음 과일 미리보기, 재시작 버튼
- 게임오버 라인 판정 (쌓인 과일이 라인 위에서 일정 시간 정지 상태로 머물면 게임오버)
- 원-원 충돌/중력을 직접 구현한 물리 엔진 (라이브러리 미사용)
- 헤드리스 브라우저(Playwright)로 드롭/병합/게임오버/재시작 동작 검증 완료
- 검증 중 발견해 수정한 물리 버그: 과다 겹침 보정으로 인한 과일 이탈, 정지 판정 임계값 문제로 게임오버 미발동, 완전 수직 정렬 시 탑처럼 안 무너지는 문제
- GitHub Pages 배포 (
master브랜치 루트 기준)
- 과일 이미지/스프라이트 (현재는 단색 원 + 이모지)
- 병합/드롭 사운드 및 애니메이션 효과
- 모바일 반응형 레이아웃 최적화
- HTML / CSS / JavaScript (프레임워크·물리엔진 라이브러리 없이 직접 구현)
정적 파일이므로 별도 빌드 없이 index.html을 브라우저로 열거나, 로컬 서버로 띄워서 확인 가능:
python3 -m http.server 8000
# http://localhost:8000 접속- 회전이 없는 단순 원판 충돌 physics라 완전히 동일한 x좌표로만 쌓일 경우 자연스러운 붕괴를 위해 스폰 시 아주 작은 무작위 수평 속도를 부여함
- 쌓인 과일의 "정지" 판정은 속도 임계값(40px/s) 기반이라 실제 정지와 미세한 차이가 있을 수 있음