App 클래스
using System;
class App
{
//생성자
public App()
{
Inventory inven = new Inventory(5);
Item item0 = new Item("장검");
inven.AddItem(item0);
Item item1 = new Item("단검");
inven.AddItem(item1);
Item item2 = new Item("활");
inven.AddItem(item2);
Item item3 = new Item("도끼");
inven.AddItem(item3);
Item item4 = new Item("창");
inven.AddItem(item4);
Console.WriteLine("0번째칸: {0}", inven.items[0].name);
Console.WriteLine("1번째칸: {0}", inven.items[1].name);
Console.WriteLine("2번째칸: {0}", inven.items[2].name);
Console.WriteLine("3번째칸: {0}", inven.items[3].name);
Console.WriteLine("4번째칸: {0}", inven.items[4].name);
inven.GetItem("장검");
}
}
인벤토리
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
class Inventory
{
int i = 0;
//Item 형식의 값이 들어갈 배열 변수 정의
public Item[] items;
//생성자
public Inventory(int capacity) //허용치
{
//배열 인스턴스화
this.items = new Item[capacity];
Console.WriteLine("Inventory가 생성되었습니다.");
}
//아이템을 추가하는 기능
//매개변수로 아이템 인스턴스를 받아와
//배열에 추가
public void AddItem(Item item)
{
//배열에 추가
//인덱스 0 ~ 4 사이
if (this.items[i] != null)
{
++i;
}
this.items[i] = item;
}
//아이템을 가져오는 기능
//매개변수로 받아온 문자열(이름)을
//배열에서 검색해서 있따면 꺼내서 반환함
public void GetItem(string name)
{
//배열에 name이 있는지 검색
//배열의 요소들은 Item인스턴스
// name
for (int i = 0; i < this.items.Length; i++)
{
Item item = this.items[i];
if (item != null)
{
Console.WriteLine(item.name);
//찾았다
if (item.name == name)
{
Console.WriteLine("찾았다");
break;
}
}
}
}
}
'자료구조' 카테고리의 다른 글
2차원 배열 (0) | 2021.12.25 |
---|---|
배열 복습 - 아이템 배열, 값 뒤집기 (0) | 2021.12.25 |
배열에서 최소, 최대, 평균 계산하기 (0) | 2021.12.25 |
배열연습 빈공간이면 (0이면) 계속 이동 (0) | 2021.12.25 |
배열연습 + swap 한칸씩이동. [수정] (0) | 2021.12.25 |