TIL

Til #8

vvvviver 2024. 1. 10. 21:47

팀프로젝트 2일차를 진행하였다

아침은 어제에 이어서 알고리즘 특강으로 컬렉련에 대한것과 정렬을 배웠다.
정렬엔 다양한 방법들이 있으나 시간,공간 복잡도에 따라서 프로그램 성능이 결정되기에
정렬할 내용의 크기나 내용물에 따라서 알맞게 정해야 한다는것을 알았다

특강후 팀프로젝트를 진행하였는데
어제 작성한 몬스터 리스트에서 랜덤으로 뽑아오는 메서드를 만들었다

       static List<Monster> GetRandomMonster(int minCount, int maxCount)
       {
           List<Monster> randomMonsters = new List<Monster>();
           Random random = new Random();

           // 몬스터 리스트에서 무작위로 선택
           for (int i = 0; i < random.Next(minCount, maxCount + 1); i++)
           {
               Monster randomMonster = monster[random.Next(monster.Count)];
               randomMonsters.Add(new Monster(randomMonster.Name, randomMonster.Level, randomMonster.Atk, randomMonster.MaxHp));
           }

           return randomMonsters;
       }

 
이후 전투기능을 구현하기 위해 플레이어와 몬스터 클래스에 현재체력 currentHp를 추가하였다
하지만 전투 데미지 계산 구현에서 혼자서 앓고있다가 저녁시간이 되어버렸다.

이후 진행된 회의에서 가장 기초구현이 진행된 팀원분의 코드를 베이스로 삼아 진행하기로 하고
각자 진행된 부분들에 대해서 화면 공유를 통해 보게되었다.

다들 구현하는 방식은 거의 비슷했지만 필수 부분이 완성된 팀원분이 있었기에
레파지토리의 새로운 메인으로 삼아 진행하게 되었다.
그래서 각자 구현할 추가 기능 구현을 맡게 되었는데 나는 스킬구현 기능을 맡게 되었다.
그리고 회의 과정중 여러 자잘한 문제들이 있었는데
아직 다들 깃헙 사용에 어색해한다는 것과 공동작업자로 등록된 주소가 다른등의
상호 소통 부족에서 발생한 문제들이었다.

그래도 이전에 느꼇던 점인 각자 해보는데 까지 하는것이 생각보다 훨씬 휼륭하고
이를 발표함으로서 각자가 가진 역량이나 생각 그리고 다양한 소통을 나눴던것은 충분한 성과라고 생각한다.
그리고 해 나가는 과정에서 배운건 기술 발전의 가장 좋은 방법은 다른 사람의 코드를 보고 
그 구조를 파악하는 것이라고 본다.
사실 우리가 어릴때부터도 배우는 모든것들은
규격화된 문서,내용들을 따라가는 방식이고 이 과정에서 지적재산권이 관여된게 아니라면
최대한 흡수를 하는 방향이 옳다고 생각하고 이후로는 좀더 적극적으로 사용해보려 한다.