- 턴제 게임
- 하단 플레이어를 날려서 획득한 아이템으로 상단 몬스터를 무찌르자.
1주차 | 2주차 | 3주차 | 4주차 | 5주차 | 6주차 | 7주차 | 8주차 | 9주차 |
---|---|---|---|---|---|---|---|---|
ui 배치 |
아이템 랜덤 배치 |
캐릭터 이동 구현 |
캐릭터 충돌 처리 |
몬스터 구현 |
스테이지1,2 구현 |
보스 스테이지 구현 |
디버깅 | 디버깅 |
100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% |
1주차 | 2주차 | 3주차 | 4주차 | 5주차 | 6주차 | 7주차 | 8주차 | 9주차 |
---|---|---|---|---|---|---|---|---|
4 | 18 | 15 | 21 | 25 | 16 | 5 | 16 | 30 |
보상 스테이지 (보상 스테이지 종류 총 4개 랜덤으로 생성/ 스테이지1,2,3 클리어시 랜덤으로 보상 스테이지로 이동)
스테이지 1 클리어시 확률 40%로 이동
스테이지 2 클리어시 확률 50%로 이동
- TileGenerator
Hash Set을 사용하여 중복없이 x,y 랜덤으로 생성
x,y를 String으로 key생성 생성된 key가 Set에 있는지 확인. 위 작업을 루프. - WarriorHead
- 유클리드 거리 공식 (피타고라스 정리) 사용하여 dx, dy 구하여 targetX, targetY로 플레이어 직선 이동.
- 플레이어 위치부터 targetX, targetY까지 직선 그리기
구글링, gpt
- Scene 전환
- Scene class
- Sound class
- CollisionHelper
- sprite / anim sprite class
- button class
- Score class
- Metrics class
- GameView
- Lazy Initialize로 LinePaint 생성 (stroke)
- Sprite 에셋
- Turn Based Controller 클래스(턴 기반 컨트롤러) -> 몬스터 움직임, 보드 초기화, 스테이지 클리어 관리
- Player 날리기 (드래그로 targetX, targetY 정하고 dx, dy를 유클리드 거리 공식으로 구함.)
- Player와 장애물(바위) 충돌시 반사각으로 날리기
- 랜덤으로 보드판 위에 아이템 및 장애물 배치 TileGenerator (플레이어와 겹치지 않게)
- Sound 개선 (Sound 클래스가 사용될 사운드를 미리 Pool과 Hash Map에 저장할 수 있도록 MainScene 생성자에서 함수 호출) -> 사운드 재생시 딜레이 되는 문제 해결
- sprite hp bar 감소 구현
- Slime 이동 (플레이어 턴이 끝나면 자기 위치보다 앞인 x값을 targetX로 설정하여 이동)
- 콘텐츠 다양성
- 최적화된 로직
- 게임 밸런스, 난이도 조절
- 턴 안에 몬스터가 앞으로 한칸만 움직일 수 있도록 처리하는 게 어려웠습니다.