231226-Til

2023. 12. 26. 20:50내일배움캠프

12월 26일 Til

아직 미니 프로젝트를 진행중이다.

 

주말과 크리스마스를 보내고 나니 몸이 나른해 지는건 어쩔수 없나 보다.

 

지난주에 나는 Github Desktop의 사용법을 배웠고

 

깃을 사용해 팀원들과 함께 팀원들을 소개하는 카드게임을 만들고 있다.

 

지난주에 기본적인 추가 구현 목록의 작업은 끝났으니 이제 팀원들과 이야기를 통해 

 

-추가 구현목록 - Challange 부분에서 자기가 구현할 수 있는 목록을 구현해 보기로 했다.

 

 추가 기능 구현 목록 - Challenge

  • 12p 랜덤하게 섞는 부분을 코드스니펫을 활용하지 않고 직접 만들어 보기
  • 실패할 때 마다 시간 감소 효과 넣어보기
  • 카드 뒤집기에서 실제로 카드가 뒤집어지는 모습 연출하기
  • 카드 오브젝트 개수 늘리기
  • 나만의 카드 등장 효과 연출하기(파도타기 효과로 등장, 화면 밖에서 나선형으로 날아오는 등장 등)
  • firstCard 고르고 5초 간 카운트 다운 - 안 고르면 다시 닫기
  • 현재 스테이지(또는 난도)에 따라 카드 배열 증가시켜보기
  • 결과에 점수 표시 → 남은 시간, 매칭 시도한 횟수 등을 점수로 환산
  • 스테이지 선택과 현재 해금한 스테이지가 구분 가능한 시작 화면 만들기, 플레이 중 해당 스테이지의 최단 기록 띄워주기

내가 작업해야할 부분은 빨간색 글씨 부분이다.

 

실패할 때 마다 시간 감소 효과 넣어보기, 첫 카드를 고르고 5초간 카운트 다운 - 안고르면 다시 닫기.

 

일단 두개를 끝낸 후에 나머지 작업도 해보겠지만 팀원들이 나보다 훨신 실력이 뛰어나니 일단 내 작업에 집중해보자.

 

일단 실패할 때 마다 시간 감소 효과 넣어보기부터 작업을 해보자.

 

카드 매치가 실패할 때 라는 걸 어디서 확인할 수 있을까?

 

GameManager 스크립트를 드르륵 드르륵 내리다 발견했다.

 

 

어? 이자식 카드 매치에 성공했을때 써먹었던 녀석이자나?

 

당연히 이곳에는 첫번째 와 두번째 카드가 맞을때 라는 조건식이 존재한다.

 

좀더 밑으로 가보면

 

 이곳이야 이곳이 내가 작업해야할 곳이야!

 

카드매치가 실패했을 때 시간 감소만 시켜주면 된다.

 

 

카드 매치에 실패할 때 마다 시간이 감소되게 만들었다. 처음에는 그냥 5초를 감소하게끔 만들었는데....

 

이게 게임을 하다보니 틀릴때 마다 5초씩 감소하면 너무 난이도가 올라가버려서 게임을 깨라고 만든건가? 싶을정도로 

 

너무 게임이 어려워져 버렸다. 그래서 그냥 5초를 고정적으로 빼는것보다 언제든지 난이도를 조정 가능하게끔 수정했다.

 

음... 그리고 이제 해야할 껀 바로 

 

firstCard 고르고 5초 간 카운트 다운 - 안 고르면 다시 닫기

 

자 생각해보자 첫 카드를 고르고 5초간 카운트 해야하고 

 

5초간 두번째 카드를 고르지 않았다면? 첫번째 카드를 뒤집어야 한다.

 

카드를 고른다... 카드를 고른다.... 일단 Card 스크립트로 가보자!!

 

 

오 이곳에 OpenCard라는 카드를 골랐을때 뒤집어주는 놈이 있다!

 

자세히 살펴보면 카드를 골랐을때 소리를 한번 내주고

 

앞면을 보여주고 조건식을 통해

 

첫번째 카드를 고르기 전이라면 지금 고른 카드가 첫번째 카드!

 

첫번째 카드가 이미 골라져있으면 두번째 카드! 라고 적혀져있는걸?

 

이로써 우린 첫번째 카드가 골라지고 난 다음 GameManager에 어떤 변수에 들어가있는지 알게 되었다.

 

바로 firstCard라는 놈이지 바로 GameManager로 달려가 기능을 만들기 전에

 

Card 스크립트에 잠시 남아서 해야할 작업이 있다. 

 

 

 

이렇게 첫번째 카드를 고르고 5초가 지날동안 두번째 카드가 골라지지 않는다면? 첫번째 카드를 다시 뒤집어 줄 

 

기능을 만들고 떠나도록 하자.

 

다시 GameManager 스크립트로 와서 바로 기능을 만들어주자

 

첫번째 카드가 골라졌다면? 카운트를 시작한다.

 

카운트가 5초가 지났다면 첫번째 카드를 뒤집어주고 firstCard에 들어있던 값을 null로

 

흘러갔던 카운트를 다시 0초로 되돌려서 준비를 해준다.

 

 

 

오 제대로 뒤집어 지는걸 확인했다.

 

 

오늘은 이렇게 두가지 기능을 만들어 보았다

 

첫번째는 카드 매치가 실패했을때마다 시간초를 감소시켰고

 

두번째는 두번째 카드를 시간내에 고르지 않으면 첫번째 카드를 다시 뒤집어 주었다

 

미니 프로젝트를 하며 조금씩 조금씩 실력이 향상되고 있다고 느끼고있다.

 

또 뛰어난 팀원들과 함께 작업하다 보니 팀원들이 작업해놓은 코드를 보며 

 

' 아 이걸 이렇게 하셨구나 ' 하면서 감탄하기도 하고 

 

하나하나 분해해보면서 내껄로 흡수해 나가는 느낌을 받아서 기분이 좋다

 

231226일 Til은 여기서 마치겠다

 

 

 

'내일배움캠프' 카테고리의 다른 글

231229-TIL  (0) 2023.12.29
231228 -TiL  (0) 2023.12.28
231227-TiL  (0) 2023.12.27
231222-TIL  (1) 2023.12.22
내일배움캠프 Unity 3기를 시작하는 마음  (0) 2023.12.21