public void InitializeStep() { //seed grains int grainsToGenerate = _simulationEngine.Configuration.NumberOfGrains; while (grainsToGenerate > 0) { var grain = _simulationEngine.GetRandomGrain(); _simulationEngine.Grains.Add(grain); AddGrainToRandomPosition(grain); _simulationEngine.MapController.Commit(); _simulationEngine.MapController.CopyMap(); grainsToGenerate--; } _simulationEngine.GenerateListOfGrains(); }
public void InitializeStep() { _simulationEngine.MapController.CopyMap(); _simulationEngine.Grains = new List <Grain>(); int grainsToGenerate = _simulationEngine.Configuration.NumberOfGrains; while (grainsToGenerate > 0) { var grain = _simulationEngine.GetRandomGrain(); _simulationEngine.Grains.Add(grain); grainsToGenerate--; } for (int x = 1; x <= _simulationEngine.Configuration.Width; x++) { for (int y = 1; y <= _simulationEngine.Configuration.Height; y++) { var oldNode = _simulationEngine.MapController.GetNode(x, y); if (oldNode.Type == TypeEnum.Empty) { var grain = _simulationEngine.Grains[_random.Next(_simulationEngine.Grains.Count)]; var node = new Node() { X = x, Y = y, Id = grain.Id, Color = grain.Color, Type = TypeEnum.Grain }; _simulationEngine.MapController.SetNode(x, y, node); } } } _simulationEngine.MapController.Commit(); _currentMCIteration = _simulationEngine.Configuration.MCIterations - 1; _simulationEngine.GenerateListOfGrains(); }