public void RunTurn() { if (!Snakes.Any()) { HasEnded = true; } else { TurnsCount++; GrassBoard.UpdateGrass(); MoveSnakes(); } }
public RunManager(Params currParams, int rowLength, int columnLength, Random random) { Params = currParams; _random = random; Snakes = new List <Snake>(); GrassBoard = new GrassBoard(Params, rowLength, columnLength); var snake = new Snake(Params); var grassCell = GrassBoard.GrassCells[_random.Next(rowLength)][_random.Next(columnLength)]; snake.AddNewCell(grassCell); for (int i = 0; i < 3; i++) { grassCell = GetRandomGrassCell(grassCell); snake.AddNewCell(grassCell); } Snakes.Add(snake); }
private GrassCell GetRandomGrassCell(GrassCell headLocation) { var grassCells = GrassBoard.GetOptionalCells(headLocation).ToArray(); return(grassCells[_random.Next(grassCells.Length)]); }