App.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Security.Cryptography.X509Certificates;
using System.Security.Permissions;
using System.Text;
using System.Threading.Tasks;
namespace HomeWork01
{
public class App
{
public App()
{
Console.WriteLine("2020-10-05\n");
var inventory = new Inventory(3);
var item1 = new Item(111, "초보자용 장검");
var item2 = new Item(112, "초보자용 단검");
var item3 = new Item(113, "초보자용 갑옷");
var item4 = new Item(114, "초보자용 활");
inventory.AddItem(item1);
inventory.AddItem(item2);
inventory.AddItem(item3);
inventory.AddItem(item4);
inventory.FindItem(113);
inventory.FindItem(115);
var hasItemName = "초보자용 장검";
var hasItem = inventory.HasItem(hasItemName);
Console.WriteLine("{0}아이템 소지여부 : {1}개", hasItemName, hasItem);
Console.WriteLine("인벤토리 아이템 수 : {0}개", inventory.ItemCount());
}
}
}
Item.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study08
{
public class Item
{
public int itemId;
public string itemName;
public Item(int itemId, string itemName)
{
this.itemId = itemId;
this.itemName = itemName;
}
}
}
Inventory.cs
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace HomeWork01
{
public class Inventory
{
public Item[] items;
public int inventorySize;
public int itemIndex;
public Inventory(int inventorySize)
{
this.inventorySize = inventorySize;
items = new Item[inventorySize];
}
public void AddItem(Item item)
{
if (itemIndex > inventorySize - 1)
{
Console.WriteLine("인벤토리가 가득 찼습니다.");
return;
}
this.items[itemIndex] = item;
itemIndex++;
Console.WriteLine("아이템이 추가되었습니다. (ID : {0}, Name : {1})", item.itemId, item.itemName);
}
public Item FindItem(int itemId)
{
Item foundItem = null;
foreach (Item item in this.items)
{
if (itemId == item.itemId)
{
foundItem = item;
Console.WriteLine("해당 아이템을 찾았습니다. (ID : {0}, Name : {1})", item.itemId, item.itemName);
break;
}
}
return foundItem;
}
public bool HasItem(string itemName)
{
Item foundItem = null;
foreach(Item item in this.items)
{
if(itemName == item.itemName)
{
foundItem = item;
break;
}
}
if (foundItem != null)
{
return true;
}
else
{
return false;
}
}
public int ItemCount()
{
return this.itemIndex;
}
}
}
※ 아이템을 찾는 함수 FindItem()에서 아이템을 찾지 못했을 때의 구문출력 미흡
※ foreach문 미숙
'C# > 과제' 카테고리의 다른 글
2020.10.14 직렬화 & 역직렬화 (0) | 2020.10.14 |
---|---|
2020.10.06 과제 (0) | 2020.10.06 |
2020.09.29 과제 (0) | 2020.10.03 |
2020.09.28 과제 (0) | 2020.09.28 |
2020.09.25 주말과제 (0) | 2020.09.25 |