본문 바로가기
게임 개발 일지/내일배움캠프 TIL

TextRPG - 상점 구현 / 상점 UML 작성

by 빛하_ 2023. 11. 17.

 

 

 

Algorithm CodeKata 

 

#11 짝수와 홀수
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AlgorithmCodeKata
{
    // 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.
    // num은 int 범위의 정수입니다.
    // 0은 짝수입니다.

    internal class _001_EvenOdd
    {
        public string solution(int num)
        {
            if (num % 2 == 0)
            {
                return ("Even");
            }
            else
            {
                return ("Odd");
            }
        }
    }
}

 

 

 

팀 프로젝트 - Text 게임 [스파르타 던전] 개발
Item - Inventory - Store 구현

 

목표 : Item 클래스를 활용하는 Item-Inventory-Store 영역을 유기적으로, 효율적으로 구성하기.

 

1) Item 의 기능적 분류

Item 하위 클래스로 Weapon, Armor, Potion 3가지가 있다.

Weapon과 Armor 는 속성을 서로 공유하지만

Potion은 여러 개를 소지할 수 있고 사용이 가능하며 던전에서 드랍된다는 특성이 있다.

따라서 Item 하위 클래스에 EquipItem, UsableItem 2가지로 먼저 구분하고

EquipItem에는 Weapon과 Armor

UsableItem에는 Potion 으로 분류했다.

 

2) Item과 Store의 책임 구분하기

모든 아이템을 Item 에서 List 로 관리하려고 했으나,

상점에서 구매/판매 가능한 Item의 경우 Store에서 관리 책임이 있다고 판단했기 때문에

구매/판매 가능한 Item 목록은 Store 내에서 StoreItem으로 가지고 있기로 했다.

 

 

UML 작성 (가볍게)

 

 

 

 

오늘의 회고

 

알고리즘코드카타를 처음으로 도전했다.

완성하고 깃허브에 레포지토리를 만들어야 해서 1개만 풀었는데도 시간이 다 갔다.

구글폼이 잘못 설정 되어 있어서.. 문제 찾고 링크 올리는 데 시간이 많이 소요됐다.

Logic을 생각해내고 직접 코드로 단정하게 표현하는 게 쉽지 않았다.

많은 연습만이 답이라는 생각이 들었다.

 

팀 프로젝트는 역시 회의의 연속!

무조건 소통이 잘 돼야 좋은 결과물이 탄생한다고 생각한다.

모두 맡은 역할에 열심히 몰입하고 있어서 결과물이 기대된다.

 

Item-Inventory-Store 가 유기적으로 연결되어 있다보니

클래스 구성에 혼란이 생겨 UML을 먼저 작성하고 정리하는 게 좋다고 생각했다.

작성한 UML을 팀원들과 공유했는데, 코드에 대한 이해도를 높이는 데 도움이 되었으면 좋겠다.

 

Store.cs 와 Item.cs 에 빨간줄이 많아서 

주말 내내 고쳐봐야겠다. 

 

어려우면서도 재밌다. 열심히 해봐야지!

펜타곤 파이팅 :)

 

 

 

 

댓글