private static LifeBoard GetToroidLifeBoard() { Console.Clear(); int width = GetInt32("Enter width: "); int height = GetInt32("Enter height: "); IEnumerable <Position> alivePositions = GetAlivePositions(); return(ToroidLifeBoard.Create(width, height, alivePositions)); }
private static async Task CreateGameFromParameters(Options options) { if (options.GameFilePath != null) { await LoadGame(options.GameFilePath).ConfigureAwait(false); } else { List <Position> alivePositions = new List <Position>(); for (int i = 0; i < (options.AlivePositions.Length - 1); i += 2) { alivePositions.Add(new Position(options.AlivePositions[i], options.AlivePositions[i + 1])); } if (Rules.IsValid(options.Rules)) { Rules rules = new Rules(options.Rules); LifeBoard lifeBoard = null; switch (options.Board) { case Options.BoardType.Toroid: lifeBoard = ToroidLifeBoard.Create(options.Width, options.Height, alivePositions); break; case Options.BoardType.Cuboid: lifeBoard = CuboidLifeBoard.Create(options.Width, options.Height, options.Depth, alivePositions); break; } if (lifeBoard != null) { await CreateGame(rules, lifeBoard); } } } }
/// <summary> /// Creates a new instance of the <see cref="ToroidLifeBoard" /> class. /// </summary> /// <returns></returns> public LifeBoard Create() { return(ToroidLifeBoard.Create(Width, Height)); }