//private static Time END_TIME_OF_ST = new Time(11, 0); #endregion #region Constructors /// <summary> /// Initializes a new instance of the <see cref="FormTimetables"/> class. /// </summary> /// <param name="generationAlgorithm">The generation algorithm.</param> public FormTimetables(IGenerationAlgorithm generationAlgorithm) { InitializeComponent(); // initialize generation algorithm this.CurrentGenerationAlgorithm = generationAlgorithm; tabUtil = new TabUtil(tabControlGeneratingTimetables); }
public RandomlyGeneratedStateSpace(IGenerationAlgorithm dungeonGeneration, int worldMin, int worldMax) { stateSpaceComponents = new StateSpaceComponents(); freeTiles = new List<Vector2>(); waterTiles = new List<Vector2>(); dungeonDimensions = dungeonGeneration.GenerateDungeon(ref dungeonGrid, worldMin, worldMax, stateSpaceComponents.random, freeTiles); dungeonSpriteFile = dungeonGeneration.GetDungeonSpritesheetFileName(); dungeonColorInfo = dungeonGeneration.GetColorInfo(); }
public RandomlyGeneratedStateSpace(IGenerationAlgorithm dungeonGeneration, int worldMin, int worldMax) { stateSpaceComponents = new StateSpaceComponents(); freeTiles = new List <Vector2>(); waterTiles = new List <Vector2>(); dungeonDimensions = dungeonGeneration.GenerateDungeon(ref dungeonGrid, worldMin, worldMax, stateSpaceComponents.random, freeTiles); dungeonSpriteFile = dungeonGeneration.GetDungeonSpritesheetFileName(); dungeonColorInfo = dungeonGeneration.GetColorInfo(); }
/// <summary> /// Initialise a voxel grid /// </summary> /// <param name="size">The number of voxels in x,y,z</param> public Grid3D(Vector3Int size) { gen = new GenerationAlgorithm(Controller.GoTarget.transform.position.ToVector3Int()); Size = size; Corner = Vector3Int.zero; MakeVoxels(); MakeCorners(); MakeFaces(); MakeEdges(); }
private void algorithmProgressChanged(object sender, ProgressChangedEventArgs e) { IGenerationAlgorithm algorithm = (IGenerationAlgorithm)e.UserState; if (this.backgroundWorkerTG.CancellationPending) { algorithm.IsCancelled = true; } this.backgroundWorkerTG.ReportProgress(e.ProgressPercentage, e.UserState); }
protected override void Initialize() { _generationAlgorithm = new PrimGenerationAlgorithm(); _mazeService = new MazeService(); _spriteService = new DogeService(); _finishLineService = new MoonRocketSpriteService(); _gameObjects = new List <List <GameObject> >(); _mazes = new List <Maze>(); for (int i = 0; i < 4; i++) { _mazes.Add(_generationAlgorithm.GenerateMaze(5 * i + 5)); } _inputService = new KeyboardInputService(); base.Initialize(); }
public void ViewMaze() { _generationAlgorithm = new PrimGenerationAlgorithm(); _maze = _generationAlgorithm.GenerateMaze(5); Console.WriteLine("Generating Maze"); foreach (List <GridItem> gridItems in _maze.Grid) { foreach (GridItem gridItem in gridItems) { if (gridItem.Left) { Console.Write("L"); } else { Console.Write("-"); } if (gridItem.Top) { Console.Write("T"); } else { Console.Write("-"); } if (gridItem.Bottom) { Console.Write("B"); } else { Console.Write("-"); } if (gridItem.Right) { Console.Write("R"); } else { Console.Write("-"); } Console.Write(" "); } Console.Write("\n"); } }
//-------------------------------------------------- // BACKGROUND WORKER methods //-------------------------------------------------- private void backgroundWorkerTG_DoWork(object sender, DoWorkEventArgs e) { try { // get the worker, who call this method BackgroundWorker worker = sender as BackgroundWorker; IGenerationAlgorithm algorithm = (IGenerationAlgorithm)e.Argument; this.workingThread = Thread.CurrentThread; algorithm.OnProgressChanged += algorithmProgressChanged; // int number = (int)numericUpDownTimetables.Value; // do generation of timetables algorithm.generateTimetables(number); e.Cancel = algorithm.IsCancelled; } catch (ThreadAbortException) { this.workingThread = null; Thread.ResetAbort(); } }
public RandomlyGeneratedStateSpace(IGenerationAlgorithm dungeonGeneration, int worldMin, int worldMax) { stateSpaceComponents = new StateSpaceComponents(); dungeonAlgorithm = dungeonGeneration; dungeonDimensions = dungeonGeneration.GenerateDungeon(ref dungeonGrid, worldMin, worldMax, random); }