2023.12.06 오늘의 기록 팀과제 완성

2023. 12. 6. 20:32카테고리 없음

1. 팀과제 제출 및 발표가 내일이라 오늘 최종적으로 과제 완성을 위해 몰입했다.

필수 수현과제 내용들은 이미 다 구현을 했는데, 게임의 완성도를 높이기 위해 선택구현과제도 도전을 해봤다.

팀원들은 각자 맡은 역할들 수행을 잘해주었는데,

 

내가 맡게 된 난이도부분 구현하는 방법은 아직은 이해하기가 어려웠다.

 

사실 처음 생각한 내용은 메인씬을 하나더 만들어 이지모드는 메인씬1 하드모드는 메인씬2로 만들어서 적용을 하려고 했으나, 스크립트도 추가로 만들어줘야하고, 튜터님께 질문해본 결과 좋은 방법은 아니라고 듣게 되었다.

 

해결 방법으로는 DontDestroyOnload(gameObject); 함수를 사용해서 시작씬에 gameManager를 가져온 뒤 시작씬에서 메인씬으로 전환이 될 때 필요한 게임 오브젝트, 난이도에 따른 떨어지는 오브젝트를 그대로 가져오고자 했다.

 

유튜브 강의나 블로그 글들을 참고해보며 시도하고자 했는데, 아직 구현까지는 어려움이 있었다.

 

2. 두번째 방법으로는 Easy 와 Hard 두개를 Enum을 사용하여 각각의 고유의 번호를 입력해준뒤, 오브젝트 생성 속도에 함수기능을 정하는 것이다.

 

InvokeRepeating("makeFruits", 0, 0.5f);

 

0초후에 0.5f초마다 makeFruits 를 반복 실행하는 함수인데, 여기에 Enum을 사용한다면,

 

enum level

{

Easy,

Hard

}

int i = (int)enum.level;

로 값을 지정해준뒤,

 

InvokeRepeating("makeFruits", 0, 1f / ((enum.level)+1)); 로 바꿔서 사용을 하는 것이다. Easy 값은 0이고, Hard 값은 1을 갖게 되므로 내가 원하는 값을 일일히 작성하지 않아도 스테이지에 따른 난이도 설정이 가능한 것이다.

 

분명히 강의 내용에서 배운 개념들인데, 아직까지 활용하는 단계에서 많이 막히는 것 같다.

 

특히 알고리즘 코드카타 문제를 풀 때, 자동완성 기능도 없고, 어떤 오류 부분이 정확하게 고쳐야 될지, 어떤 원리에서 코드를 작성해야 하는지 많이 부족한 상태인 것 같다.

 

그래도 팀과제는 다행히도 무사히 완성해서 내일 발표준비만 잘하면 될 것 같다.