public Snake(ISnakeField field, IBodyFactory bodyFactory, IFoodFactory foodFactory, int step) { Step = step; Field = field; _bodyFactory = bodyFactory; _foodFactory = foodFactory; }
private void InitSnake(ISnakeField snakeField, IBodyFactory bodyFactory, IFoodFactory foodFactory) { Snake = new Snake(snakeField, bodyFactory, foodFactory, STEP); snakeField.Clear(); _field.Snake = Snake; Snake.OnCrashed += GameOver; Snake.OnEat += SnakeOnOnEat; Snake.InitSnake(new Position(5 * STEP, 5 * STEP), 3); }
public SnakeGame(ISnakeField field, IBodyFactory bodyFactory, IFoodFactory foodFactory, int countOfItemsInRow, int snakeSpeed) { _field = field; _bodyFactory = bodyFactory; _countOfItemsInRow = countOfItemsInRow; _snakeSpeed = snakeSpeed; _foodFactory = foodFactory; _snakeSpeed = snakeSpeed; InitGame(field, bodyFactory, foodFactory); }
protected Object CreateAndPopulateFrame(ByteBuffer input) { byte type = input.GetByte(); ushort channel = input.GetUInt16(); uint bodySize = input.GetUInt32(); IBodyFactory bodyFactory = (IBodyFactory)_supportedBodies[type]; if (bodyFactory == null) { throw new AMQFrameDecodingException("Unsupported body type: " + type); } AMQFrame frame = new AMQFrame(); frame.PopulateFromBuffer(input, channel, bodySize, bodyFactory); byte marker = input.GetByte(); if (marker != 0xCE) { throw new FormatException("marker is not 0xCE"); } return(frame); }
private void InitGame(ISnakeField snakeField, IBodyFactory componentFactory, IFoodFactory foodFactory) { STEP = AdjustGameField(); InitSnake(snakeField, componentFactory, foodFactory); }
/// <summary> /// Populates the frame instance data from the supplied buffer. /// </summary> /// <param name="buffer">The buffer.</param> /// <param name="channel">The channel.</param> /// <param name="bodySize">Size of the body in bytes</param> /// <param name="bodyFactory">The body factory.</param> /// <exception cref="AMQFrameDecodingException">Thrown if the buffer cannot be decoded</exception> public void PopulateFromBuffer(ByteBuffer buffer, ushort channel, uint bodySize, IBodyFactory bodyFactory) { _channel = channel; _bodyFrame = bodyFactory.CreateBody(buffer); _bodyFrame.PopulateFromBuffer(buffer, bodySize); }
/// <summary> /// Populates the frame instance data from the supplied buffer. /// </summary> /// <param name="buffer">The buffer.</param> /// <param name="channel">The channel.</param> /// <param name="bodySize">Size of the body in bytes</param> /// <param name="bodyFactory">The body factory.</param> /// <exception cref="AMQFrameDecodingException">Thrown if the buffer cannot be decoded</exception> public void PopulateFromBuffer(ByteBuffer buffer, ushort channel, uint bodySize, IBodyFactory bodyFactory) { _channel = channel; _bodyFrame = bodyFactory.CreateBody(buffer); _bodyFrame.PopulateFromBuffer(buffer, bodySize); }