예제 #1
0
파일: Survivor.cs 프로젝트: JMOatey/IT-4400
 public void CleanTrash(ActionDice dice)
 {
     if (dice.IsUsed == false)
     {
         var colony = (Colony)StateController.Instance.Locations.Find(l => l.GetType() == typeof(Colony));
         colony.Clean();
         dice.Use();
     }
     else
     {
         throw new InvalidActionException();
     }
 }
예제 #2
0
파일: Player.cs 프로젝트: JMOatey/IT-4400
        public void Search(Survivor survivor, ActionDice die)
        {
            Card card = survivor.Search(die);

            if (card != null)
            {
                Hand.Add(card);
            }
            else
            {
                throw new InvalidActionException();
            }
        }
예제 #3
0
파일: Survivor.cs 프로젝트: JMOatey/IT-4400
        public Card Search(ActionDice die)
        {
            var  canSearch = die.Value >= AttackAbility;
            Card card      = null;

            if (canSearch)
            {
                card = CurrentLocation.SearchCard();
                die.Use();
            }
            else
            {
                throw new InvalidActionException();
            }

            return(card);
        }
예제 #4
0
파일: Survivor.cs 프로젝트: JMOatey/IT-4400
        public void Attack(ActionDice die)
        {
            var canAttack = die.Value >= AttackAbility;

            if (canAttack && CurrentLocation.OutsideArea.Zombies > 0)
            {
                die.Use();
                CurrentLocation.RemoveImage(CurrentLocation.ZombieImage);
                StateController.Instance.RollExposureDice(this);
                if (Health <= 0)
                {
                    CanMove = true;
                    Move(StateController.Instance.Locations.Find(l => l.Name == "Graveyard"));
                }
            }
            else
            {
                throw new InvalidActionException();
            }
        }
예제 #5
0
파일: Player.cs 프로젝트: JMOatey/IT-4400
 public void Attack(Survivor survivor, ActionDice die)
 {
     survivor.Attack(die);
 }