수트 완료 기능을 구현하고 Undo 기능을 구현했어야 하는데,
공수 많이 드는 것 부터 먼저 하려고 하다 보니 일을 두 번 하게 생겼음.
Undo 기능은 커맨드 패턴으로 구현해서 게임 시작 + 매 턴 끝날 때 마다 스냅샷 데이터를 기억하게 만들고,
Stack으로 해당 데이터들(카드 상태, 더미 등)을 저장한 뒤 Undo를 누를 때 마다 하나씩 꺼내서 다시 쓰도록 구현했다.
재시작 기능은 해당 스택에 맨 처음으로 들어간 데이터 꺼내고 스택 클리어시키면 됨.
Undo 구현했는데 Restart 구현 안 할 이유는 없어서 함께 만들었다.
마지막으로 수트 완료 & 전체 완료 기능 구현하고 보니 Undo 기능에 수트 완료 처리도 들어가야 한다는 걸 기억해내서
해당 처리는 내일 중으로 하고 Undo 버그들도 다듬을 예정이다.

이렇게 정신없어 보이는 카드들도

Restart 한 번으로 정리 가능하다.
Undo 사용 시 해당 스냅샷을 언제 저장할지는 고민을 많이 했는데,
(첫 상태에서 Undo 누르고 게임 하다가 다시 Undo 누르면 스택값이 하나 줄어드는 버그가 있어서)
일단 게임 시작할 때 > 턴 끝날 때 매번 저장하고 스택이 1 이하일 때는 실행하지 않도록 했더니 해결.
카드 이미지는 텍스트로만 카드 구별하려니 눈이 너무 아파서
지피띠니에게 물어본 거 임시로 잘라서 사용중.
+ 방금 확인해보니 카드 여러개 겹친 상태에서 Undo 사용 시 카드 순서가 뒤바뀌는 이슈가 있음
내일 고칠 것
'개발일지' 카테고리의 다른 글
| 26.07.15. Kawaii Solitaire 개발일지 : UI 적용 (0) | 2026.07.15 |
|---|---|
| 26.06.19. Kawaii Solitaire 개발일지 : Undo 기능 구조 변경 (0) | 2026.06.19 |
| 26.06.17. Kawaii Solitaire 개발일지 : 힌트 기능 & 수트 선택 (0) | 2026.06.17 |
| 26.06.16. Kawaii Solitaire 개발일지 : 카드 생성 및 배치 (0) | 2026.06.16 |
| 26.06.15. Kawaii Solitaire 개발일지 : 카드 그룹 이동 규칙 설정 (0) | 2026.06.15 |