C#/수업과제

6일차 _ 인벤토리

minquu 2021. 3. 16. 01:32
반응형

다 만들지는 못했고,

아이템 검색까지 만들었습니다 ㅠㅠ 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace study05
{
    class App
    {

        public App()
        {
            Inventory inventory = new Inventory(5);
            Item item = new Item("강철",Item.eItemType.POTION);
            inventory.Additem(item);
            item = new Item("사슬갑옷", Item.eItemType.ARMOR);
            inventory.Additem(item);
            inventory.FindItem("강철");
            inventory.FindItem("수리");
            inventory.FindItem("사슬갑옷");
        }
    }
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace study05
{
    public class Item
    {
        public enum eItemType { 
             WEAPON, ARMOR, ACCESSORY, POTION
        }
        public string name;
        public 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;
        }
    }
}
 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace study05
{
    public class Inventory
    {

        int capacity;
        Item[] items;
        int index;


        public Inventory(int capacity) {
            this.capacity = capacity;
            this.items = new Item[this.capacity];
            
        }

        public void Additem(Item item) {
            this.items[this.index] = item;
            Console.WriteLine("{0}인덱스에 {1}아이템을 넣었습니다.", this.index, item.GetName());
            this.index++;
        }

        public void FindItem(string name) {
            Item foundItem = null;

            for (int i = 0; i < this.items.Length; i++) {
                var item = this.items[i];
                if (item != null)
                {
                    if (item.GetName() == name)
                    {
                        Console.WriteLine("{0}은 인벤토리에 해당 아이템이 있습니다.", name);
                        break;
                    }

                }
                else
                {
                    Console.WriteLine("{0}은 인벤토리에 해당 아이템이 없습니다.", name);
                    break;
                }
        
            }
        }
        
    }
}
반응형