示例#1
0
        public IAction Do(Control.IController engine)
        {
            IAction action = engine.Table.LuckyCards[0].Action;

            engine.Table.LuckyCards.RemoveAt(0);
            return(action);
        }
示例#2
0
 public bool Cond(Control.IController engine)
 {
     if (cond != null)
     {
         return(cond.Invoke(engine));
     }
     return(true);
 }
示例#3
0
        public IAction Do(Control.IController engine)
        {
            if (Cond(engine))
            {
                engine.CurrentPlayer.Money -= amount;
            }

            return(new Nothing());
        }
示例#4
0
        public IAction Do(Control.IController engine)
        {
            if (Cond(engine))
            {
                engine.CurrentPlayer.BookToken += price;
            }

            return(new Nothing());
        }
示例#5
0
 public IAction Do(Control.IController engine)
 {
     if (Cond(engine))
     {
         House house = new House(price, loan);
         engine.CurrentPlayer.Home = house;
         return(new Nothing());
     }
     else
     {
         return(new Nothing());
     }
 }
示例#6
0
        public IAction Do(Control.IController engine)
        {
            if (untilRoll == null)
            {
                engine.CurrentPlayer.RollsLeft -= rounds;
            }
            else
            {
                engine.CurrentPlayer.BanUntilRoll = untilRoll;
            }

            return(new Nothing());
        }
示例#7
0
 public IAction Do(Control.IController engine)
 {
     return(engine.Step(fields));
 }
示例#8
0
        public IAction Do(Control.IController engine)
        {
            int step = field - engine.CurrentPlayer.CurrentField < 0 ? (engine.Table.Fields.Length - engine.CurrentPlayer.CurrentField + field) : (field - engine.CurrentPlayer.CurrentField);

            return(engine.Step(step));
        }
示例#9
0
 public IAction Do(Control.IController engine)
 {
     throw new NothingToDoException();
 }
示例#10
0
 public bool Cond(Control.IController engine)
 {
     return(true);
 }
 public IAction Do(Control.IController engine)
 {
     return(new Nothing());
 }
示例#12
0
 public IAction Do(Control.IController engine)
 {
     return(new Fee((int)((double)engine.CurrentPlayer.SavingsBook * (double)percent / 100.0)).Do(engine));
 }
示例#13
0
 public void Do(Control.IController engine)
 {
 }
 public bool Cond(Control.IController engine)
 {
     throw new NotImplementedException();
 }
示例#15
0
 public IAction Do(Control.IController engine)
 {
     return(fee.Do(engine));
 }
示例#16
0
 public bool Cond(Control.IController engine)
 {
     return(fee.Cond(engine));
 }
示例#17
0
 public bool Cond(Control.IController engine)
 {
     return(engine.CurrentPlayer.Money >= price);
 }
 public void Do(Control.IController engine)
 {
     throw new NotImplementedException();
 }
示例#19
0
 public IAction Do(Control.IController engine)
 {
     engine.CurrentPlayer.RollsLeft += rolls;
     return(new Nothing());
 }