public CarPrototype(string symbol, IPositionalRenderer renderer, Directions direction, Coordinates position)
 {
     this.Symbol    = symbol;
     this.renderer  = renderer;
     this.Position  = position;
     this.Direction = direction;
 }
Esempio n. 2
0
        internal void Drawing(IPositionalRenderer renderer)
        {
            Coordinates drawLine = new Coordinates(Position.X, Position.Y);

            for (int i = 0; i < Console.BufferHeight; i++)
            {
                renderer.WriteAtPosition(new Coordinates(Constants.Playfieldsize, drawLine.Y++), '|');
            }
        }
Esempio n. 3
0
 public SnakeEngine(IPositionalRenderer renderer, IReader reader, IFoodGenerator foodGenerator)
 {
     this.reader        = reader;
     this.renderer      = renderer;
     this.foodGenerator = foodGenerator;
     currentFood        = foodGenerator.GenerateFood(renderer);
     this.snake         = SnakeFactory.CreateSnake(renderer);
     this.snake.Body.Reverse();
 }
Esempio n. 4
0
        public static Snake CreateSnake(IPositionalRenderer renderer)
        {
            var snake = new Snake();

            snake.Head = CreateSnakeHead(renderer);
            snake.Body = CreateSnakeBody(renderer, snake.Head);

            return(snake);
        }
Esempio n. 5
0
        private static List <BaseDot> CreateSnakeBody(IPositionalRenderer renderer)
        {
            var body = new List <BaseDot>();

            for (int i = 0; i < GlobalConstants.InitialSize; i++)
            {
                var position = new Coordinate(head.Position.X - i - 1, head.Position.Y);
                var bodyDot  = new BaseDot(renderer, GlobalConstants.Symbol, position);
                body.Add(bodyDot);
            }
            return(body);
        }
Esempio n. 6
0
 public Food GenerateFood(IPositionalRenderer renderer)
 {
     this.Food = new Food(renderer, GlobalConstants.FoodSymbol, Coordinate.GetRandomPosition(GlobalConstants.ConsoleWidth, GlobalConstants.ConsoleHeight));
     this.RenderFood();
     return(this.Food);
 }
Esempio n. 7
0
 internal DrawPlayfield(IPositionalRenderer renderer, Coordinates position)
 {
     this.Position = position;
 }
Esempio n. 8
0
 internal CarsEngine(IPositionalRenderer renderer)
 {
     this.renderer = renderer;
     this.myCar    = new Car(Constants.Symbol, renderer, new Directions(), Constants.StartingPosition);
 }
Esempio n. 9
0
 public BaseDot(IPositionalRenderer renderer, string symbol, Coordinate position)
 {
     this.renderer = renderer;
     this.Symbol   = symbol;
     this.Position = position;
 }
Esempio n. 10
0
 public Car(string symbol, IPositionalRenderer renderer, Coordinates position, ConsoleColor color = ConsoleColor.DarkMagenta)
     : base(symbol, renderer, position)
 {
 }
Esempio n. 11
0
 public Car(string symbol, IPositionalRenderer renderer, Directions direction, Coordinates position, ConsoleColor color = ConsoleColor.Blue)
     : base(symbol, renderer, direction, position)
 {
     this.Color = color;
 }
Esempio n. 12
0
 public Food(IPositionalRenderer renderer, string symbol, Coordinate position)
     : base(renderer, symbol, position)
 {
 }
Esempio n. 13
0
 public void EatFood(IPositionalRenderer renderer)
 {
     this.Body.Add(new BaseDot(renderer, GlobalConstants.Symbol, new Coordinate(Body[^ 1].Position)));
Esempio n. 14
0
 public SnakeEngine(IPositionalRenderer renderer)
 {
     this.renderer = renderer;
 }
Esempio n. 15
0
 public Dot(IPositionalRenderer renderer, IDirection direction, string symbol, Coordinate position)
     : base(renderer, symbol, position)
 {
     this.direction = direction;
 }
Esempio n. 16
0
 private static Dot(IPositionalRenderer renderer)
 {
     return(new Dot(renderer, new Direction(GlobalConstants, ConsoleWidth,
                                            GlobalConstants, ConsoleHeight), GlobalConstants.HeadSymbol, GlobalConstants.Center));
 }