Пример #1
0
        /// <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;
        }
Пример #2
0
        public override CardPack Copy()
        {
            StoreCardPack pack = new StoreCardPack(cards);

            return(pack);
        }