Ejemplo n.º 1
0
        public virtual void Move(Ring ringToMove, Stake targetStake, Stake temporaryStake)
        {
            if (CanTake(ringToMove))
            {
                targetStake.Accept(this);
                return;
            }

            Move(ringToMove.Smaller(), temporaryStake, targetStake);

            targetStake.Accept(this);

            temporaryStake.Move(ringToMove.Smaller(), targetStake, this);
        }
Ejemplo n.º 2
0
 public void Solve()
 {
     _left.Move(_left.Biggest, _right, _center);
 }