Exemple #1
0
 private void Move(Cup cup)
 {
     for (int i = 0; i < cup.LastValue; i++)
     {
         Step();
     }
     CurrentSquare.LandOn(this);
 }
        public void TakeTurn(IDice dice)
        {
            var roll = dice.Roll();

            for (int index = 0; index < roll.NumberRolled; index++)
            {
                CurrentSquare = CurrentSquare.Next;
                CurrentSquare.Pass(this);
            }
            CurrentSquare.Land(this);
        }
 public virtual bool MoveToLeft()
 {
     if (!CanMove("Left"))
     {
         return(false);
     }
     else
     {
         CurrentSquare.LeftSquare.AddPlayElement(this);
         CurrentSquare.RemovePlayElement();
         CurrentSquare = CurrentSquare.LeftSquare;
         return(true);
     }
 }
 public virtual bool MoveToBenath()
 {
     if (!CanMove("Down"))
     {
         return(false);
     }
     else
     {
         CurrentSquare.DownSquare.AddPlayElement(this);
         CurrentSquare.RemovePlayElement();
         CurrentSquare = CurrentSquare.DownSquare;
         return(true);
     }
 }
Exemple #5
0
 public IObservable <Tuple <SquareModel, int> > OnMoveAsObservable()
 {
     return(CurrentSquare.Zip(MoveCount, (square, count) => new Tuple <SquareModel, int>(square, count)));
 }
Exemple #6
0
 private void Step()
 {
     CurrentSquare = CurrentSquare.NextSquare;
     CurrentSquare.PassOver(this);
 }
 public virtual void Destroy()
 {
     CurrentSquare.RemovePlayElement();
     //CurrentSquare = null; // coment out
 }
Exemple #8
0
 public void Destroy()
 {
     CurrentSquare.RemovePlayElement();
 }