Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Copy Source | Copy HTML
- type Mana =
- |Red of int
- |Green of int
- |Blue of int
- |White of int
- |Black of int
- |Colorless of int
Copy Source | Copy HTML
- type ManaCost = class
- ...
- val Cost : Mana list
- ...
- end
public static class ManaColorDescriptor
{
public IManaColorDescription GetDescription(int manaColor)
{
//Можно в XML задезть, можно в базу, а можно и у сервиса спросить. Что душе угодно.
//А умные дяди и тёти используют provider oriented design для этого.
switch(manaColor)
{
сase 2:
return new DefaultColorDescription { Color = "Red", Description = "Red Mana" };
default:
return new DefaultColorDescription { Color = "Новыя мана", Description = "А кто будет конфиги править или ещё чего делать? Чё это за мана вообще?" };
}
}
}
Программирование Magic: the Gathering — §1 Мана