Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

동구의_C# & Unity_개발일지

2023.12.22 내일배움캠프 2일차 TIL Mini_ProJect 본문

Mini ProJect

2023.12.22 내일배움캠프 2일차 TIL Mini_ProJect

mongle_0l 2023. 12. 22. 19:51

본 캠프 과정 2일차

오늘은 11시에 Git 특강이 있었고 어제와 크게 다르지 않게 미니 프로젝트를 진행하였다. 

 

Git에 대해 2시간여간의 특강이 있었으나 Git이 이렇게 어렵고 복잡한 것인지 몰랐다.

그냥 Github에서 코드만 올리고 보여주며 공유만 해보았고 Git와 Github의 역할과 목적이 다른 것 정도는 알았는데 이 정도로 복잡하고 어려운 도구인지 몰랐다.

앞으로의 협업을 위해 Git은 필수이기 때문에 따로 공부를 해서라도 사용은 할 수 있을 정도로 익혀와야겠다.


Git

버전 관리 및 작업물을 작업 단위별로 관리하는 것

 

버전 관리 사용 방법
1. Git << 우린 이것을 사용

2. SVN

 

왜 쓰는가?
1. 작업 내용을 저장 (commit), Checkout (저장한 내용으로 이동)
2. 작업한 내용의 확인 (어떤 파일의 어느 부분이 추가, 삭제, 수정되었는지 화인)
3. 작업 공간을 분리 (Branch)
4. 원격 레파지토리 (어디서든지 작업 가능) > 이 레파지토리를 제공해 주는 서비스 중 하나가 Github 
5. 협업

 

레파지토리 : 자신의 프로젝트 파일을 담을 공간을 생성하는 것

Git lgnore - 불필요한 파일들을 안 보여준다


Github 데스크탑
기능이 단순
사용하기 쉽다
빠르다
최적화
인증이 편하다


♠ 미니 프로젝트

결과에 매칭 시도 횟수 표시

 

카드 게임이 종료되면 매칭 시도 횟수를 표시하는 코드이다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.Linq;

public class gameManager : MonoBehaviour
{
    public Text timeTxt;
    public Text endMatchNum;

    public GameObject endTxt;
    public GameObject card;
    public GameObject firstCard;
    public GameObject secondCard;
    public GameObject endPanel;

    public AudioClip match;
    public AudioSource audioSource;
    public static gameManager I;

    int count = 0; // 시도 횟수를 초기화
    float time = 0.0f;

    void Awake()
    {
        I = this;
    }

    void Start()
    {
       ~~~~~~~
    }

    void Update()
    {
        time += Time.deltaTime;
        timeTxt.text = time.ToString("N2");

        if (time > 30.0f)
        {
            endPanel.SetActive(true);
            Time.timeScale = 0.0f;
        }
    }

    public void isMatched()
    {
      ~~~~~~~
        {
            firstCard.GetComponent<card>().closeCard();
            secondCard.GetComponent<card>().closeCard();
        }

        firstCard = null;
        secondCard = null;

        count += 1; // 매칭 할 때마다 1식 증가
        endMatchNum.text = count.ToString();
    }

    void GameEnd()
    {
        Time.timeScale = 0.0f;
        endMatchNum.text = endMatchNum.ToString();
        endPanel.SetActive(true);
    }
}

이렇게 결과에 매칭 횟수라는 첫 목표를 달성하였지만 아직까지 완벽하진 않다.

위에 코드 자체엔 문제는 없지만 유니티 동작에 오류가 있는 것 같다.

끝이라는 버튼을 누르면 게임이 다시 시작되는데 다시 시작되는 게임에는 30초 이젠에 게임이 끝나도 끝이라는 표시와 매칭 횟수가 바로 나타나지 않고 30초가 다 지나야지 나타나는 오류가 있다.

 

다음번엔 이을 보안하여 두번째 목표인 매칭이 실패할 때 마다 시간 감소 효과 넣어보기와 가능하다면 시간이 감소되는 애니메이션 까지 넣어 게임을 만들어볼 것이다.


피드백

> 오브젝트를 게임매니저에 잘 등록하였는지 확인 하자!