Example #1
0
        //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();
 }
Example #4
0
    /// <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();
    }
Example #5
0
        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);
        }
Example #6
0
        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();
        }
Example #7
0
        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");
            }
        }
Example #8
0
        //--------------------------------------------------
        // 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();
            }
        }
Example #9
0
 public RandomlyGeneratedStateSpace(IGenerationAlgorithm dungeonGeneration, int worldMin, int worldMax)
 {
     stateSpaceComponents = new StateSpaceComponents();
     dungeonAlgorithm     = dungeonGeneration;
     dungeonDimensions    = dungeonGeneration.GenerateDungeon(ref dungeonGrid, worldMin, worldMax, random);
 }
 public RandomlyGeneratedStateSpace(IGenerationAlgorithm dungeonGeneration, int worldMin, int worldMax)
 {
     stateSpaceComponents = new StateSpaceComponents();
     dungeonAlgorithm = dungeonGeneration;
     dungeonDimensions = dungeonGeneration.GenerateDungeon(ref dungeonGrid, worldMin, worldMax, random);
 }