상세 컨텐츠

본문 제목

0926 TIL? - 팀 프로젝트 돌입

스파르타 코딩캠프/'24 Today I Learned

by lucar 2024. 9. 26. 21:24

본문

Text RPG 2주차 협업 텍스트 RPG 만들기 주차에 돌입했다.

 

계획은 이렇다.

 

7조 인김에 조 이름은 인생 한방이조로 정했다.

게임에는 각종 사행성 요소가 잔뜩 들어갈 예정이다.

 

예를 들면 강화 시스템이나 마을에서 즐길 수 있는 슬롯머신과 블랙잭 등을 구현할 예정이다.

 

탐사를 통해 아이템을 얻는 것도 랜덤

스테이터스에 Luck을 추가해 가산치를 받게끔 조정할 예정이다.

 

팀원 분들 중 현업자급 개발자 분이 한 분 계셔서 많은 내용을 머리에 꽂아주셨다.

 

대표적으로 Queue를 통한 작업 관리 부분이였는데

 

Queue가 선입선출인 점을 통해

이벤트가 발생하면 모든 작업을 Queue에 넣고 들어간 순서대로 처리하는 방법이다.

 

콘솔로 프로그램을 만드는 경우 실행되는 수많은 while문에 의해 리소스가 낭비되고

몇 번째 while문 내부에 갇혀서 나오지 못하는지 알 수 없는 경우가 발생할 수도 있고

현재 있는 while문을 탈출하지 못한 상태에서 또 다른 while문이 실행되는 경우도 종종 발생한다.

 

그래서 애초에 작업을 순서대로 처리하고 리소스에 메소드가 남지 않게 하기 위해

Queue를 통해 작업을 실행하고 작업은 람다식으로 진행하여

메소드 종료 시 잔여물이 남지 않게 한다.

 

람다식은 Action<>과 Func<>를 사용한다.

 

Action<>은 반환값이 없는 람다식이고

Func<>는 반환값이 존재하는 람다식이다.

 

그리고 객체 지향 프로그래밍 특성 상 많은 양의 클래스나 함수들이 선언될 수 밖에 없는데

가독성을 해치지 않게하기 위해 region이란 기능을 통해 묶어서 보이지 않게 할 수도 있다

 

내용이 자세히 기억은 나지 않는데

오늘은 프로젝트 칸반보드 제작 및 아이디어 구상 때문에 많은 시간을 소모해서

딱히 더 적을 내용이 기억나지 않는다...

 

다음 시간에 싱글톤 디자인 패턴과 Nullable 그리고 Queue를 통한 Action처리에 대해 적어보겠다.

 

TTE

관련글 더보기