0315 인벤토리 생성
2021. 3. 15. 16:22ㆍ카테고리 없음
인벤토리 Inventory
=====================
아이템관리 (아이템 배열) Item[] items
관리하는 아이템의 수 (수용량) capacity
=====================
아이템 넣기 void AddItem(Item item)
아이템 빼기 (가져오기) Item GetItem(string itemName)
아이템 검색 bool SearchItem (string itemName)
아이템 목록 출력 void Print()
=====================
아이템
----------------
이름: string name
타입: 무기, 방어구, 악세사리 eItemType itemType
public class Item
{
public enum eItemType
{
WEAPON, ARMOR, ACCESSORY, POTION
}
private string name;
private eItemType itemType;
//생성자
public Item(string name, eItemType itemType)
{
this.name = name;
this.itemType = itemType;
}
public string GetName()
{
return this.name;
}
public eItemType GetItemType()
{
return this.itemType;
}
}
public enum eItemType
{
WEAPON, ARMOR, ACCESSORY, POTION
}
private string name;
private eItemType itemType;
//생성자
public Item(string name, eItemType itemType)
{
this.name = name;
this.itemType = itemType;
}
public string GetName()
{
return this.name;
}
public eItemType GetItemType()
{
return this.itemType;
}
public class Inventory
{
private int capacity;
private Item[] items;
private Item[] hand;
private int index;
//생성자
public Inventory(int capacity)
{
this.capacity = capacity;
this.items = new Item[capacity];
}
//아이템 추가
public void AddItem(Item item)
{
this.items[this.index] = item;
Console.WriteLine("{0}인덱스에 {1}아이템을 넣었습니다.", this.index, item.GetName());
this.index++;
}
//아이템목록 출력
public void Print()
{
foreach (Item item in this.items)
{
Console.Write("{0} ", item.GetName() );
}
}
public void SearchItem(string search)
{
for (int i=0;i<capacity;i++)
{
if (items[i].GetName() == search)
{
Console.WriteLine("true");
Console.WriteLine(i);
Console.WriteLine("{0} 아이템을 찾았습니다.", search);
}
}
}
public class App
{
//생성자
public App()
{
Console.WriteLine("App");
Inventory inventory = new Inventory(3);
Item item = new Item("장검", Item.eItemType.WEAPON);
inventory.AddItem(item);
item = new Item("사슬갑옷", Item.eItemType.ARMOR);
inventory.AddItem(item);
item = new Item("목걸이", Item.eItemType.ACCESSORY);
inventory.AddItem(item);
inventory.Print();
inventory.SearchItem("사슬갑옷");
}
}
0인덱스에 장검 아이템을 넣었습니다.
1인덱스에 사슬 갑옷 아이템을 넣었습니다.
2인덱스에 목걸이 아이템을 넣었습니다.
장검 사슬갑옷 목걸이
True
인덱스:1
사슬갑옷 아이템을 찾았습니다.
장검 [empty] 목걸이 <<<모르겠어요...
program2.exe
0.01MB
program2.exe.config
0.00MB
program2.pdb
0.03MB