/// <summary> /// Инициализация нового экземляра состояния логики игры. /// </summary> public State() { cardPackTable = new Dictionary <String, CardPack>(); disabledMoves = new HashSet <Tuple <CardPack, CardPack> >(); // Полная колода StoreCardPack deck = StoreCardPack.FullDeck(); Random rnd = new Random(); deck.Shuffle(rnd); cardPackTable.Add("deck", deck); // "Секретная" колода cardPackTable.Add("secret", CreateSecretPack()); // Базовые колоды cardPackTable.Add("base1", CreateBasePack()); cardPackTable.Add("base2", CreateBasePack()); cardPackTable.Add("base3", CreateBasePack()); cardPackTable.Add("base4", CreateBasePack()); // Игровые колоды cardPackTable.Add("game1", CreateGamePack()); cardPackTable.Add("game2", CreateGamePack()); cardPackTable.Add("game3", CreateGamePack()); cardPackTable.Add("game4", CreateGamePack()); // Закрытая колода cardPackTable.Add("closed", CreateClosedPack()); // Открытая рядом с закрытой cardPackTable.Add("openedClosed", CreateOpenedClosedPack()); // Расскидываем карты ScatterCards(); InitLimits(); // Количество совершенных пользователем шагов steps = 0; }
public override CardPack Copy() { StoreCardPack pack = new StoreCardPack(cards); return(pack); }