protected override void Execute(List <GameEntity> entities) { var gameBoard = _contexts.game.gameBoard; for (int column = 0; column < gameBoard.columns; column++) { var position = new IntVector2(column, gameBoard.rows); var nextRowPos = gameBoardService.GetNextEmptyRow(position); while (nextRowPos != gameBoard.rows) { entityService.CreateRandomPiece(column, nextRowPos); nextRowPos = gameBoardService.GetNextEmptyRow(position); } } }
protected override void Execute(List <GameEntity> entities) { var gameBoard = _contexts.game.gameBoard; for (int column = 0; column < gameBoard.columns; column++) { var position = new IntVector2(column, gameBoard.rows + 1); var rowPosMin = gameBoardService.GetNextEmptyRow(position); for (int i = rowPosMin; i < gameBoard.rows; i++) { var balls = _contexts.game.GetEntitiesWithMove(new IntVector2(position.x, i)).ToArray(); if (balls.Length == 0) { entityService.CreateRandomPiece(column, i); } } } }
public void Initialize() { var gameBoard = entityService.CreateGameBoard().gameBoard; for (int row = 0; row < gameBoard.rows; row++) { for (int column = 0; column < gameBoard.columns; column++) { if (randomService.Bool(0.1f)) { entityService.CreateBlocker(column, row); } else { entityService.CreateRandomPiece(column, row); } } } }