본문 바로가기

전체 글304

textRPG2D 내가 작성한 부분 리팩토링 ( 작성중 ) 일단 앞서서 개인 프로젝트에서 리팩토링 후 콘솔 팀 프로젝트에서 내 작업 부분을 리팩토링해보려고 한다. 1. 지난 리팩토링에서 아쉬웠던 점 2. 해당 프로젝트에서 맡았던 기능 3. 리팩토링 과정 1. 지난 리팩토링에서 아쉬웠던 점 2. 해당 프로젝트에서 맡았던 기능 * 아이템 데이터 생성 및 업로드 * 장비 아이템 장착, 장착 해제(같은 속성 아이템 중복 장착 불가) * 인벤토리 구현(아이템 고유 속성 확인 가능, 장착하지 않은 아이템 개수 확인 가능) * 게임 시작시 플레이어 데이터 세팅(플레이어 이름 공백처리 및 오버플로우 처리) 3. 리팩토링 과정 * 아이템 데이터 생성 및 업로드 - 처음에 아이템이 종류별로 있어서 인터페이스 생성 후 작업을 진행했는데 인터페이스 부분이 너무 내용이 많아진 것 같았다. 2023. 10. 24.
코드 리팩토링해보기 ( 작성중 ) 2달 전에 수행했던 c# 콘솔로 던전만들기 게임을 기능별로 나눠보기로 하였다. 한 파일에 코드가 너무 많이 몰려있기도 하고 코드 설계를 좀 더 자연스럽게 생각나게 하기 위해 처음에 했던 과제부터 정리해보기로 했다. 1. 고쳐야 할 점 2. 고친 부분 3. 느낀점 1. 고쳐야 할 부분 1.1. 기능 정리 고쳐야 할 부분을 정리하기 위해 사용한 기능들을 정리해보았다. * 플레이어 상태 확인 씬 * 플레이어 인벤토리 확인 씬 * 던전 씬 * 상점 씬 * 아이템 장착, 탈착 가능 * 휴식 및 체력 회복 가능 * 게임 캐릭터별로 데이터 저장 가능 1.2. 수정 방안 * 게임 시작을 게임 매니저를 불러와서 시작하도록 생성. -> 게임 시작하는 메인 클래스를 따로 만들고, 거기서 매니저 클래스를 불러오기 --> 메인.. 2023. 10. 23.
최종 전 마지막 팀프로젝트 후기 - 2D는 어렵다. 차원 하나가 없는 게 이렇게 난이도가 올라갈 줄이야. 맵을 아이소매트릭으로 짰는데, 3d였으면 z축 기준으로 카메라 잡고 좀 더 쉽지 않았을까..라는 생각이 든다. 돈스타브도 3d에 2d처럼 보이게 빌보드 설정해놓은 것이었던거 같은데 그런 식으로 하는 게 난이도상 더 쉬웠을 것 같다. - 분리된 코드들을 이벤트나 매니저등과 같이 잘 연결할 수 있는 방법에 대해 더 고민해봐야겠다고 생각했다. 처음에 플레이어-오브젝트 상호작용을 구현할 때 InteractionManager를 사용해서 만들려고 했는데 시간이 없어서 오브젝트에 바로 충돌처리하는 스크립트를 붙여서 해버렸다..코드를 다시 리팩토링하면 이벤트 형태로 만들어서 좀 더 깔끔하게 짜려고 할 것 같다. - 코드를 상대방이 사용하기 쉽게 .. 2023. 10. 20.
아이템 기능 추가 보호되어 있는 글 입니다. 2023. 10. 20.