오늘은 내일배움캠프가 게더에서 ZEP으로 이사를 했다.

게더 안녕 ㅜ

 

사천성 만들기

1. 외곽 카드 제거 구현

 

어제 구현한 코드로는 붙어있는 외곽카드는 제거가 되지만(초록색)

떨어져있는 외곽카드끼리는 제거가 되지 않았다.(노랑색)

 

떨어져있는 외곽카드라도 제거가 될 수 있게 코드를 다시 짰다.

단순히 외곽에 카드를 한 겹 더 생성한 후 비활성화해 카드를 찾는 통로로 만들었다.

 

1. 카드를 생성한다. - Sprite를 넣지 않는다. Position 값만 넣어준다.

2. 가장자리 카드들을 SetActive(false) 한다.

void EdgeCardsSetActiveFalse()
{
    for (int i = 0; i < cardList.Count; ++i)
    {
        if (i < xCount
            || i > cardList.Count - xCount
            || i % xCount == 0
            || i % xCount == xCount - 1)
        {
            cardList[i].GetComponent<Card>().isEdge = true;
            cardList[i].SetActive(false);
        }
    }
}

3. activeSelf.true인 카드에만 Sprite를 넣어준다.

4. 마찬가지로 활성화되어 있는 카드들끼리 Shuffle한다.

 

-> 코드가 좀 더 지저분해졌지만.... 잘 돌아간다.

가끔 맞춰지면 안될 카드들이 맞춰지는 현상이 있다. 으아아아악

 

 

2. Timer 제작

Timer Image의 Type을 Filled로 바꾼 후 Fill Amount를 이용해 Timer UI를 구현했다.

if(TimerImage.fillAmount > 0)
    TimerImage.fillAmount -= Time.deltaTime / (totalTime - 1);

 

3. 선택된 카드 Color Change

선택된 카드가 무엇인지 쉽게 알아보기 위해

카드가 선택되면 색깔이 변하도록 했다.

 ...
 if (!card.GetComponent<Card>().isPicked)
 {
     if (firstCard == null)
     {
         firstCard = card;
         firstCard.GetComponent<Card>().isPicked = true;
         firstCard.GetComponent<SpriteRenderer>().color = Color.gray;
     }
     ...
 }
답답함 주의..

 

내일 할일

1. 게임 오버

2. 배경 음악

3. 잘못된 코드 찾아내 고치기

등등..