오늘은 판에 없는 색을 팔렛트에서 비활성화 하는 기능을 만들었다.
기획서
기획서
Board
| Board |
|---|
 |
- 모든 칸을 관리하는 board 클래스이다.
- 나중에 넓이 우선 탐색을 사용할 때, 2차원 배열을 사용할 예정이라 2차원 배열로 정리하였다.
Palette
| Palette |
|---|
 |
 |
- Dictionary로 활성화 여부를 판단하는 불 변수를 모아서 관리하였다.
- 그리고 Linq 문법으로 Board에 있는 Cell을 조회하기 쉽게 설정하였다.
- Cell을 조회해서 색이 존재한다면 Dictionary에 있는 불변수를 true로 변경하였다.
- 이렇게 Dictionary에 기록된 불 변수를 사용해서 팔렛트의 색의 활성화 여부를 설정하였다.
Test
| Test |
|---|
 |
- 판에 빨간색이 없으므로 팔렛트에 비활성화 된 모습을 확인할 수 있다.
- 현재 판을 색 칠한 방법은 노가다 밖에 없어서 노가다 작업을 하였다...
소감
처음 해당 기능을 만들 때에는 for문을 도배하는 방식으로 거의 하나씩 조회해서 활성화 비활성화를 판단하였으나, Dictionary를 활용해서 리펙토링 작업을 하였다. Linq 문법은 별로 사용해 본적은 없지만, 잘 사용할 줄만 안다면 굉장히 코드가 좋아지기 때문에 계속해서 연습해야겠다.