예제 #1
0
 public override void playCard()
 {
     CardOwner.increaseActionsCounter(extraActions);
     CardOwner.drawCardsFromDeck(extraCards);
     CardOwner.increaseBuysCounter(extraBuys);
     CardOwner.increaseMoneyCounter(extraMoney);
     specialEffect();
 }
예제 #2
0
        public void Some_monster_abilities_are_not_usable_from_hand(Phase phase, CardOwner owner, bool expected)
        {
            // Arrange
            var ability = new Ability(Phase.Spoils, "test", player => { }) { Card = new Card(_game) { Type = CardType.Monster, Owner = owner } };

            // Act
            var isUsable = ability.IsUsableByOwner();

            // Assert
            Assert.That(isUsable, Is.EqualTo(expected));
        }
예제 #3
0
    public void LoadDummyDeck()
    {
        // Add some cards to the deck
        for (int i = 0; i < 3; i++)
        {
            Board.Instance.player.drawPile.Add(database.cards[1].Clone());
            Board.Instance.player.drawPile.Add(database.cards[2].Clone());
            Board.Instance.player.drawPile.Add(database.cards[3].Clone());
        }

        // Search for the player CardOwner and assign it to all the deck cards
        CardOwner playerCardOwner = FindObjectsOfType <CardOwner>().Where(x => x.id == "player1").First();

        foreach (Card card in Board.Instance.player.drawPile.cards)
        {
            card.owner = playerCardOwner;
        }
    }
예제 #4
0
        //[Authorize(Users = @"gt\domain users")]
        public ActionResult Index(string usr = "", string userDate1 = "", string userDate2 = "")
        {
            string userLogin;

            HideAlert();
            if (string.IsNullOrEmpty(usr))
            {
                userLogin = System.Web.HttpContext.Current.User.Identity.Name;
            }
            else
            {
                userLogin = usr;
            }
            userLogin = userLogin.ToLower().Replace("gt\\", "");

            ViewBag.card = ""; //если карта не выдана, то строка не меняется
            HideMessage();     //скрываем информационное сообщение

            //если не определили пользователя
            //ViewBag.User = User;
            ViewBag.userLogin = userLogin;
            if (String.IsNullOrEmpty(userLogin))
            {
                ShowAlert("Пользователь не определен");
                return(View());
            }

            //получаем пользователя
            string EmplID = GetInfoFromAD(userLogin);
            string FIO    = GetInfoFromAD(userLogin, "sn");

            if (String.IsNullOrEmpty(FIO))
            {
                ShowAlert("Ошибка учетной записи");
                return(View());
            }
            //выводим ФИО
            ViewBag.FIO = FIO;
            //ищем карту и проверяем статус
            foodsalesEntities db   = new foodsalesEntities();
            CardOwner         card = db.CardOwners.Where(p => p.PersonID == EmplID).FirstOrDefault();

            if (card == null)
            {
                ShowAlert("Карта пользователя не найдена");
                return(View());
            }

            //if (card.CardStatus.ToLower() != "выдана")
            //{
            //    ShowAlert("Статус карты: " + card.CardStatus);
            //}
            ViewBag.CardStatus = "Статус карты: " + card.CardStatus;

            if (card.CardStatus.ToLower() == "выдана")     //если выдана карта, то включаем отображение
            {
                ViewBag.card = "<span class=\"glyphicon glyphicon-credit-card\" data-toggle=\"tooltip\" title=\"" + card.CardID + "\"></span>";
            }



            DateTime date1;
            DateTime date2;
            bool     dataFlag1 = false, dataFlag2 = false;
            DateTime now = DateTime.Now;
            DateTime dateAct;

            //определяем дату актуальных данных для вывода в сообщение
            if (now < new DateTime(now.Year, now.Month, now.Day, 10, 00, 00))
            {
                dateAct = now.AddDays(-2);
            }
            else
            {
                dateAct = now.AddDays(-1);
            }
            switch (now.DayOfWeek)// в понедельник никто не обновляет, поэтому:
            {
            case DayOfWeek.Monday:
                dateAct = dateAct.AddDays(-2);
                break;
            }
            ViewBag.dateAct = dateAct.ToShortDateString();
            //проверяем даты
            if (String.IsNullOrEmpty(userDate1))//ставим начало месяца, если нет даты начала
            {
                date1     = new DateTime(now.Year, now.Month, 1);
                dataFlag1 = true;
            }
            else //иначе проверяем правильность ввода
            {
                dataFlag1 = DateTime.TryParse(userDate1, out date1);
            }
            if (String.IsNullOrEmpty(userDate1))//ставим начало месяца, если нет даты конца
            {
                date2     = new DateTime(now.Year, now.Month, now.Day, 23, 59, 59);
                dataFlag2 = true;
            }
            else //иначе проверяем правильность ввода
            {
                dataFlag2 = DateTime.TryParse(userDate2, out date2);
                if (dataFlag2)//делаем конец дня
                {
                    date2 = new DateTime(date2.Year, date2.Month, date2.Day, 23, 59, 59);
                }
            }

            //Если неправильные даты, то выводим сообщение
            if (!dataFlag1 || !dataFlag2)
            {
                Console.WriteLine("Неверный формат даты");
                Console.WriteLine(userDate1);
                Console.WriteLine(userDate2);
                ShowAlert("Неверный формат даты");
                return(View());
            }
            if (date1 > date2)
            {
                ShowAlert("Период выбран неверно");
                return(View());
            }

            IEnumerable <Sale> sales = db.Sales.Where(s => ((s.CardID == card.CardID) && (s.Period.CompareTo(date1) >= 0) && (s.Period.CompareTo(date2) <= 0))).OrderBy(s => s.Period).AsEnumerable();

            //показываем информацию о недоступности данных
            if (sales.Count() <= 0)
            {
                ShowInfo("За выбранный период данные отсутствуют");
            }

            ViewBag.sales = sales;
            decimal salesSum = sales.Select(s => s.Summa).Sum();

            ViewBag.salesSum = salesSum;
            decimal moneyRest = 1890 - salesSum;

            ViewBag.moneyRest = moneyRest;

            ViewBag.date1 = date1.ToString("dd.MM.yyyy");
            ViewBag.date2 = date2.ToString("dd.MM.yyyy");

            return(View());
        }
 private void Awake()
 {
     animator           = GetComponentInChildren <Animator>();
     cardOwner          = GetComponent <CardOwner>();
     Card.OnCardPlayed += Card_OnCardPlayed;
 }
예제 #6
0
 public override void playCard()
 {
     CardOwner.increaseMoneyCounter(money);
     specialEffect();
 }