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