본문 바로가기

개발일지

26.06.17. Kawaii Solitaire 개발일지 : 힌트 기능 & 수트 선택

오늘 구현한 내용은 3가지

 

예쁘다!

1. 더미 선택 시 카드 추가

다 쓴 더미는 Destroy로 없애고 리스트에서도 빼고 싶었는데 뭔가 찜찜해서 지피띠니한테 물어보니까

Undo 기능 넣기로 했다고 상기시켜줘서 후다닥 Destroy 지우고 SetActive false 코드 추가함

 

2. 힌트 규칙 정립

1순위 - 동일 수트 / 2순위 - 다른 수트 / 3순위 - 더미 오픈 / 4순위 - 게임 오버!

이거 하다가 생각 해보니 다른 수트는 이동 못하도록 전체 규칙을 구현해놨어서 급하게 수정했음

윈도우 솔리테어는 다른 수트더라도 랭크가 1 차이나면 일시적은 이동은 가능하기 때문에...

 

3. 수트 선택 기능 추가

주로 2수트를 즐겨해서 4수트도 익숙해지면 할만할 줄 알았는데, 찾아보니 전문가들도 힘들어하는 수트라고...

구현은 해놨지만 게임 방향성에 따라 막아놔야 할 것 같아서 아쉬움

카드 구현 공수는 절반으로 줄겠지만!

 

 

1번은 Dummy 아래에 미리 생성된 카드를 Space 자식으로 이동시키기만 하면 됐고

3번도 씬 추가해서 선택사항에 따라 수트를 1수트만 올릴지, 2수트 4수트 다 올릴지 결정하는거라 간단했음

2번 힌트 규칙이 코드상으로 문제였는데...

 

처음엔 아무 생각 없이 마지막 카드만 체크해서 올릴 Space 찾는 방식으로 구현했는데,

생각해보니 마지막 카드가 아니라 움직일 수 있는 카드 그룹을 데려와야 하는 거였음

그래서 당연하게 IsCanBeginDrag (드래그 전에 해당 카드 드래그 할 수 있는지 체크)로

무빙 시작할 수 있는 카드 리스트를 만들어서 힌트 가능한지 체크하려고 했는데

요게 드래그 직전에 사용되는 함수라 Space 관련 처리가 있어서 여러모로 복잡했음...

 

 

 

전 회사 코딩 규칙에 조금이라도 다르면 완전히 새로운 함수로 빼기! 규칙이 있었는데

개인적으로 매개변수 알아볼 수 있게 짜면 굳이 코드 양 늘릴 필요 없다고 생각해서 선호하지 않았음

그때 기억때문에 최대한 같은 함수 내에서 해결보려고 했는데 결국 따로 함수 빼서 우울...

Undo 기능까지 구현되면 리팩토링 한번 쭉 해야겠다고 생각중

(미래의 코드 : 응 동작 안할게)