반응형
SMALL
App Class
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study10
{
class App
{
//생성자
public App()
{
//"히어로"가 "보물상자"를 열어 "아이템"을 얻는다.
Hero hero = new Hero("링크"); //히어로 클래스 생성
Chest chest = new Chest();
hero.open = (link) => {
Console.WriteLine("히어로({0})가 상자를 오픈 했습니다.", hero.Name);
};
Item item = chest.IsOpen();
//출력
//히어로가 상자를 열었습니다.
//상자에서 아이템 루피가 나왔습니다.
//아이템을 얻었습니다. 루피
}
}
}
Hero Class
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study10
{
class Hero
{
Action<Chest> open;
string Name
{
get; set;
}
public Hero(string name)
{
this.Name = name;
}
}
}
Chest Class
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study10
{
class Hero
{
Action<Chest> open;
string Name
{
get; set;
}
public Hero(string name)
{
this.Name = name;
}
}
}
Item Class
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study10
{
class Item
{
public string Name
{
get;
private set;
}
//생성자
public Item(string name)
{
this.Name = name;
Console.WriteLine("아이템 {0}을 얻었습니다.", this.Name);
}
}
}
미완성, Action 사용에 대해 좀더 이해할 필요가 있어보인다.
목표는 히어로 생성 -> 상자생성 -> 히어로가 상자를 열고 상자의 IsOpen 메서드를 호출 -> 상자의 IsOpne 메서드에서 Item Class생성 -> Item Class를 히어로 에게 반환
좀더 목표를 명확히 할 필요도 있어보인다.
반응형
LIST
'C# > 문제 해결' 카테고리의 다른 글
배열 안의 최대값 구하기 (0) | 2023.01.09 |
---|---|
학생들 관리하는 방법(클래스 배열 사용) (0) | 2023.01.09 |
class 연습 (0) | 2023.01.04 |
고블릭 죽이기 (계속 체력이 -로 가는 문제) (0) | 2023.01.03 |