SnakeGame constructor

SnakeGame({
  1. required SnakeGameRenderer renderer,
  2. required int boardWidth,
  3. required int boardHeight,
  4. required int initialSnakeX,
  5. required int initialSnakeY,
  6. required SnakeDirection initialSnakeDirection,
  7. required int initialSnakeSize,
  8. required int maxTicksBeforeFood,
  9. int minTicksBeforeFood = 0,
  10. bool startWithFood = true,
})

Implementation

SnakeGame({
  required this.renderer,
  required int boardWidth,
  required int boardHeight,
  required int initialSnakeX,
  required int initialSnakeY,
  required SnakeDirection initialSnakeDirection,
  required int initialSnakeSize,
  required this.maxTicksBeforeFood,
  this.minTicksBeforeFood = 0,
  bool startWithFood = true,
})  : _snakelessBoard = _generateBoard(boardWidth, boardHeight),
      _snake = ListQueue(initialSnakeSize),
      _direction = initialSnakeDirection {
  _createInitialSnake(
    initialSnakeX: initialSnakeX,
    initialSnakeY: initialSnakeY,
    initialSnakeSize: initialSnakeSize,
  );
  if (startWithFood) {
    _addFood(_random, _snakelessBoard, _snake);
    _ticksSinceLastAte = -1;
  }
}