Flood Fill를 사용한 퍼즐 해결 기능

이준영·2025년 10월 9일

오늘은 퍼즐 해결에 필요한 기능을 구현하였다. (색 칠하기)

기획서

기획서

PaletteColor

PaletteColor
  • 저번에 임시로 만들어 두었던 기능을 Action으로 구현.
  • Action으로 만든 이유는 퍼즐 즐길 때만 사용 되는것이 아니라 나중에 퍼즐 제작에도 쓰일 예정이기 때문에 Action으로 구현하여 기능을 추가하는 방식으로 하였다.

ColorPuzzle 색 선택 기능

색 선택 기능
  • 선언된 Action에 색 선택 기능을 람다식으로 넣어주었다.
  • 이렇게 하여 색을 선택하는 기능을 구현하였다.

색 선택 기능 Test

색 선택 기능 Test
  • PaletteColor를 좌클릭하면 ColorPuzzle의 Selected Color이 바뀌는 것을 확인 할 수 있다.

Cell

Cell
  • 칸을 좌클릭 할 때마다 퍼즐이 작동하기 때문에 똑같이 Action으로 기능을 구현하였다.

ColorPuzzle 퍼즐 해결 기능

퍼즐 해결 기능
  • direction 배열로 상하좌우 값을 만들고 해당 방향으로 순회하여 색을 변하게 하는 기능을 구현하였다.(TrySolve 메서드)
  • 그리고 칸마다 기능을 등록해서 기능을 완성하였다.

Test

Test
  • 이렇게 색을 칠하는 기능을 구현 하였다.

소감

이제 대부분의 기능이 완성 되었는데, 남은 부분을 체크 해봐야 겠다.

  1. 카운팅 기능
  2. 성공/실패 판단 기능
  3. 리셋 기능
profile
게임 개발자가 되기 위해서 공부하는 중입니다.

0개의 댓글