목표:
보드 게임 만들기, 카드 뒤집기 게임을 통해 Unity 기능 복습하기.
게임내용:
카드를 뒤집어 가며 같은 모양의 카드를 찾아내는 기억, 추리 게임.
학습 키워드
Unity의 기본적인 기능 활용 (UI, 애니메이션 등등)
랜덤 배치 로직 ( OrderBy + Random. Range )
isOpen의 활용
매칭 시스템 (첫 번째/두 번째 카드 비교)
싱글톤 패턴 ( GameManager . Instance )
인보크(Invoke)활용 (카드 뒤집기 딜레이)
게임 종료 조건 ( 남은 카드가 없을 때 cardCount == 0)
오늘 학습 한 내용을 나만의 언어로 정리하기
카드 배치를 좌표화 시켜 16장의 카드를 (i % 4) 와 (i / 4) 계산으로 4×4로 깔끔하게 배치함.
거기에 x값과 y값을 조절해 (-2.1,-3.0) 카드를 화면 중앙에 오게끔 배치.
→ x = (i % 4) * 1.4 - 2.1 , y = (i / 4) * 1.4 - 3.0
랜덤 로직을 통한 카드 섞기
[0,0,1,1, ... , 7,7] 배열을 OrderBy(x => Random.Range(0,7)) 로 랜던하게 섞은 뒤 Resources 폴더에 있는 rtan0~7 이미지를 카드에 할당.
애니메이션
isOpen이 true면 뒤집히고 false면 복구되게끔하여 기본상태와 뒤집힌 상태를 전환함.
Matched 함수에서 한 번씩 카드를 뒤집고 다시 초기화 하기 위해 null값을 넣어 초기화해줌.
public void Matched()
{
if(firstCard.idx == secondCard.idx)
{
//파괴
firstCard.DestroyCard();
secondCard.DestroyCard();
}
else
{
//덮기
firstCard.CloseCard();
secondCard.CloseCard();
}
firstCard = null;
secondCard = null;
}
ㅇ
'사전캠프 TIL' 카테고리의 다른 글
게임 속 상호작용 분석하기 (0) | 2025.04.02 |
---|---|
게임 역 기획하기 (0) | 2025.04.01 |
[내일배움캠프 사전캠프] + 고양이 밥주기 게임 (0) | 2025.03.28 |
[내일배움캠프 사전캠프] + 6. 배열 요소의 최대값과 최소값 찾기 (0) | 2025.03.27 |
[내일배움캠프 사전캠프] + 5. 이중 반복문을 사용한 구구단 출력 (0) | 2025.03.27 |