TIL 20 미니프로젝트 주차 시작

qkrrlcks00·2024년 9월 10일


어제는 Git허브 처음 쓰느라 다루기 힘들었는데, 이제는 지금하는것정도는 대충 어떻게 할지는 알것 같다.
팀원분들도 다들 고수이신것같은데도 Git사용법에는 익숙치 않은것같다. 나는 대충 알것같지만서도
자신있게 말햇는데 틀리면 어떡하지 라며 그냥 숨죽이고 있엇따..

나는 강의 내용을 따라하고 추가로 코드 몇줄 쓰는게 다인데, 팀원분들은 새로운 아이디어를 내면서
그걸 바로 코드로 옮기시는걸 보고 나도 저렇게 되고싶다고 생각햇다..
운이 좋게도 팀원분중에 그림을 매우매우 잘그리시는분이 있었는데 덕분에 게임퀄리티가 엄청 올라간것같다.. 역시 게임은 그래픽이 중요해

고비 1:

다같이 스크립트를 따로 작업하다보니
GameManager.Instance.cardCount 를 board에 써놓고 gameManager가 없는지도 모르고
왜 빨간줄이 그어지는지 계속 고민하다가 튜터님께 물어봣다.
일단 게임매니저를 추가했더니, 다른 문제도 생겼는데
지금 진행중인 이지씬에서도 게임매니저가 있고
노말씬에도 게임매니저가 있어서 중복되서 안됀다고 말씀하셔서
이 내용을 팀원들에게 알렷고, 이지씬과 노말씬에 똑같은 게임매니저를 복사붙혀넣기 했더니 해결되었다.

고비 2:

using UnityEngeine.UI를 상단에 적고
Text.text가 강의에선 매우 잘됬었는데 갑자기 빨간밑줄이 그어졌다.
그리고 using UnityEngeine.UI가 원래 활성화되면 밝은빛으로 빛났던거 같은데 회색빛이었다..
이게 도대체 왜안돼지 하며 고민하다가 튜터님께 갔는데도 쉽게해결하지 못했다. 그러다가 scipts 폴더에 Text라는 c# script가 있었는데 이게 중복되는 이름이라 안됬었던것 같다.
이걸 삭제했더니 말끔이 해결됬다.

목표

  • 최고점수 현재점수 나오게 하기
  • 메인씬, 다시하기버튼 만들기
  • 점수 기준 : 남은시간 + 맞춘 개수
    오디오 매니저와 보드 만들기를 하고, endpanel에서 best score와 score를 time과 카드맞춘 계수로 계산하기를 하려는데 time은 강의에 나온 내용이었지만 카드매치됬을때도 점수를 추가하고 싶어서 GameManager에 있는 timeScore를 가져오려고 GameManager.Instance.cardCount 여기 근처까지는 갔는데 모르겠어서 튜터님께 여쭤봐서 아래 코드까진 일단 작성했다.인스턴스를 변수에 저장하고
    보간 문자열을 이용해 편하게 작성했다.
public class EndPanel : MonoBehaviour
{
    public Text Score;
    public Text BestScore;
    string key = "best";



    void OnEnable() //활성화 될때마다 호출되는 함수
    {

    }

    public void GameOver(float time)
    {

        Score.text = time.ToString("N2");
        if (PlayerPrefs.HasKey(key))
        {
            float Best = PlayerPrefs.GetFloat(key);
            if (Best < time)
            {
                PlayerPrefs.SetFloat(key, time);
                int cardScore = GameManager.Instance.cardCount;
                float timeScore = time *2;

                BestScore.text = $"{cardScore+timeScore}"; 
                //보간문자열이란걸 알려주셧다

            }
            else
            {
                BestScore.text = Best.ToString("N2");
            }
        }
        else 
        {
            PlayerPrefs.SetFloat (key, time);
            BestScore.text = time.ToString("N2");
        }
    }

보간 문자열

보간 문자열은 문자열 내에서 변수나 표현식의 값을 쉽게 삽입할 수 있는 방법입니다. 보간 문자열을 사용하여 더 간결하고 가독성 좋은 코드를 작성할 수 있습니다. 보간 문자열은 $ 기호와 함께 사용하며, 중괄호 {} 안에 변수를 넣으면 해당 변수의 값이 문자열에 삽입됩니다.

  • $ 기호는 해당 문자열이 보간 문자열임을 나타냅니다.
  • {} 안에 변수를 넣어 그 값을 문자열에 삽입합니다.
  • 보간 문자열 안에서는 변수를 넣을 뿐만 아니라, 간단한 수식을 사용할 수도 있습니다.

실전 예제

string 제품명 = "노트북";
int 수량 = 3;
double 단가 = 799_999; // 단가는 원화로 설정
double 총가격 = 수량 * 단가;
string 주문요약 = $"제품명: {제품명}, 수량: {수량}, 단가: {단가:C}, 총 가격: {총가격:C}";
Console.WriteLine(주문요약);
출력 결과 
제품명: 노트북, 수량: 3, 단가: ₩799,999, 총 가격: ₩2,399,997

0개의 댓글