2016-09-29 3 views
0

저는 작은 RPG 게임 인벤토리 시스템을 연구하고 있습니다. 그것은 멀티 플레이어를위한 것입니다. 지금까지는 설치 프로그램이 있지만 꽤 만족스럽지 않고 새로운 프로그램부터 시작하려고합니다. 나는 주로 Model not the View에 대해 이야기하고있다.게임 인벤토리 시스템 구조?

  • 사용자는 여러 개의 인벤토리가 있어야합니다. 다른 인벤토리는 음료수, 일부는 특별 품목, 그냥 쓰레기 수거함 등입니다.

  • 인벤토리는 슬롯에 표시되는 n 개의 항목을 보유 할 수 있습니다. x, y는 고정되어 있지 않으며 장치에 따라 사용자가 변경할 수 있습니다.

  • 항목을 쌓을 수 있는지 여부. 쌓을 수 없다면 장착 할 수 있습니다.

  • 다른 장치 (모바일/데스크탑)

내 문제는 서로에 너무 의존 된 것은 주로이었다 의미. Item 클래스와 ItemStack 클래스가 있습니다. 아이템이 스택 가능하면 아이템은 아이템 스택에 추가됩니다. 둘 다 AbstractItem에서 상속 받았다. 비록 Itemstack이 Item이 아니지만 추가 할 방법을 알지 못했다. 그래서 두 클래스 모두를 올바르게 처리 할 수 ​​있도록 추상 클래스/인터페이스에 메서드를 추가해야한다는 사실을 알게되었습니다. currentCount()를 추상 클래스에 추가하는 것과 마찬가지로 ItemStack에 대해서만 필요하지만 Item에는 필요하지 않지만 Item에도 필요합니다. 또한 인벤토리에는 해당 ItemStack 또는 Item 및 해당 슬롯의 위치에 대한 변수 만있는 InventorySlot이 있습니다. 다른 인벤토리는 Itemtype (enum)을 쉽게 검사하여 구현되었을 것입니다.

보기는 인벤토리를 조회합니다. 확인 비 - 빈 슬롯과 항목 클래스의 텍스처 읽기 - 나는 그것에 대해 생각하는 방법 ItemStack ~

currently

것은 이것이의 항목이나 질감,하지만 똥 것으로 보인다.

간단하면서도 쉽게 업그레이드 할 수 있고 유지 보수가 쉬운 시스템을 만드는 데 어떻게 추천 하시겠습니까? 열거 형마다 Itemtypes (및 인벤토리)를 구별하거나 자체 클래스를 만들거나 Consumable, Equipable 등과 같은 인터페이스를 만드십시오. 이

나는 제안 할 수 있습니다 게임이나 인벤토리의 디자인 의존하기 때문에

답변

0

이 어려운 주제 :

당신이 SQLite는 에 JSON 모든 항목을 저장할 수 있습니다 [{항목 1 : {이름 : x, attr : x, atk : 5, agi : -3, lbl : 장비}, ... 등,

각 항목에 대해보다 유연한 구조를 가질 수 있으며, 그럼에도 불구하고 GSON을 사용하여 각 json 객체를 특정 Java 객체로 변형 할 수 있습니다.이 경우 복잡하지 않으려면 다음을 수행하십시오. 당신은 거기에 모든 다른 항목을 넣을 수있는 슬롯 또는 어쩌면 하나의 큰 재고 그리드의 숫자가

+0

글쎄, 재고 설계에 대한 팁을 부탁입니다. 그리고 저장에 대해 생각하는 것은 너무 빠르다. (나는 최대 절전 모드를 사용한다.) 내가 가지고 있지 않다면 아이템이 어떻게 생겼는지에 대한 청사진이있다.(내가 그 JSON 함께 할 것입니다 방법을 볼 수 있지만) 또한 당신의 예제는 쌓을 수있는 사람들과 갖추고있다처럼 "고정 된 항목"하지만 what's을 위해 노력하고 있습니다? 나는 너 자신을 복잡하게하지 않을 것 인 무엇과 더불어 너의 마지막 문장을 얻지 못 하느냐? 다른 인벤토리에 대해 이야기하는 경우 : 이것이 큰 문제가되는 방법을 알지 못합니다. 제대로 작성하는 방법은 문제입니다. – EsoMoa

+0

제대로 게임을 위해 당신이 원하는 것을 따라, 또는 각 개체 개의 다른 특성을 가질 수 객체 지향 경우 어떻게 당신은, 플레이어가 재고를 사용하려면 : 당신은 그때를 최대 절전 모드로 사용하는 경우, 이름, 수량, 설명, 속성, 유형을 당신이 DAO의 재잘를 사용하는 가정 나는 품목 수량 및 항목 유형, 나는 당신의 문제가 게임 종로보다 지향 더 데이터베이스입니다 생각할 수있는 알고 기능을 추가하는 것이 좋습니다 –