Advertisement
Guest User

Untitled

a guest
Feb 1st, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 0.98 KB | None | 0 0
  1. abstract class Command
  2.     {
  3.         public virtual void Execute();
  4.     }
  5.     abstract class MarsRoverCommand : Command
  6.     {
  7.         protected MarsRover Rover { get; private set; }
  8.  
  9.         public MarsRoverCommand(MarsRover rover)
  10.         {
  11.             this.Rover = rover;
  12.         }
  13.     }
  14.     class BreakCommand : MarsRoverCommand
  15.     {
  16.         public BreakCommand(MarsRover rover)
  17.             : base(rover)
  18.         {
  19.         } 
  20.         public override void Execute()
  21.         {
  22.             Rover.Rotate(-5.0);
  23.         }
  24.     }
  25.  class TurnLeftCommand : MarsRoverCommand
  26.     {
  27.         public TurnLeftCommand(MarsRover rover)
  28.             : base(rover)
  29.         {
  30.         }
  31.         public override void Execute()
  32.         {
  33.             Rover.Rotate(-5.0);
  34.         }
  35.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement