아이템 시뮬레이터 마무리

김민재·2024년 9월 11일
0
post-custom-banner

인벤토리 조회


캐릭터와 인벤이 있는지 확인한다.

확인이 되었다면

아이템에서 하나씩 찾아와서 집어넣는다.

장비 장착

동일한 아이템 부위가 장착되어 있다면?
당연히 착용하지 못하게 하여야만 한다.


이런식으로 해당 장비를 생성하여 장착한다.

장비 탈착

장비를 탈착하기 위해서는?
장비가 장착이 되어 있어야만 한다.


우리는 장착된 아이템을 뺴고, 스텟을 빼고 난 후, 아이템을 다시 인벤토리로 돌려야하는데, 여기서 인벤토리에 해당하는 아이템이 존재하고 있다면 해당 아이템의 수량만 증가시켜주면 될 것이다.

그렇지 않다면?

새롭게 인벤토리에 아이템을 추가한다.

장착된 아이템 리스트 조회


인벤토리를 조회하는 것과 마찬가지로
해당 아이템이 장착되어 있다면 아이템의 정보를 하나씩 불러와서 배열에 저장하여 표시해 준다.

캐릭터에게 돈 추가하기


계정에 있는 캐릭터에 돈을 추가해주는 API이다.

추가 작업

여기서부터는 도전 과제 이후의 작업들이다.

캐릭터의 LV / LV 업

캐릭터에게 CharLv 칼럼을 추가하고 캐릭터가 레벨을 올려 스텟이 올라갈 수 있게끔 하였다.

아이템의 장착레벨과 타입

해당 아이템들에게 레벨과 타입을 구현하여
자신의 캐릭터보다 레벨이 높은 아이템을 장착하지 못하도록 하고,
자신이 끼고 있던 장비에 똑같은 타입의 아이템이 존재한다면 끼지 못하게 하였다.

피드백

1.코드가 너무 길다.
각종 조건을 비교하는 중에 굉장히 길어져버렸다.
각종 함수를 통해서 빼보고자도 했지만 res를 밖으로 뺴버리는 순간 에러가 발생하여 불가능해져버렸다.
2.하나를 조회하기위해서 불러오는 데이터들이 많아진다.
캐릭터에 장비를 장착하기위해서 아이템에서 장비를 불러와서 처리를 해버리게 된다.
이는 아이템과 장착/인벤토리 아이템을 서로 관계를 맺지 않고 처리할려고 하다보니 이런식으로 처리를 할 수 밖에 없었다.
3.장착된 아이템/인벤토리에 있는 아이템을 아이템 테이블에서 지워도 그대로 남아있게 된다.
해당하는 아이템을 지우더라도 2번에서 설명했던데로 관계를 맺지 않았기에 그대로 지워지는 것이 아닌 남아있게되어버린다.

아직멀었네멀었어

profile
ㅇㅇ
post-custom-banner

0개의 댓글