Esempio n. 1
0
 /// <summary>
 /// LoadContent will be called once per game and is the place to load
 /// all of your content.
 /// </summary>
 protected override void LoadContent()
 {
     spriteBatch  = new SpriteBatch(GraphicsDevice);
     stateManager = new BoardStateManager();
     font         = Content.Load <SpriteFont>("font");
     board        = new Board(font);
 }
Esempio n. 2
0
        public void MouseClickedRegion0()
        {
            currentState = new MouseState(105, 105, 0, ButtonState.Pressed, ButtonState.Released,
                                          ButtonState.Released, ButtonState.Released, ButtonState.Released);

            Assert.That(BoardStateManager.ClickedRegion(gameBoard.regions, currentState, previousState), Is.EqualTo(0));
        }
Esempio n. 3
0
 public void ClickInSeparatorLinesRetunsNegative()
 {
     currentState = new MouseState(196, 101, 0, ButtonState.Pressed, ButtonState.Released,
                                   ButtonState.Released, ButtonState.Released, ButtonState.Released);
     Assert.That(BoardStateManager.ClickedRegion(gameBoard.regions, currentState,
                                                 previousState), Is.EqualTo(-1));
 }
Esempio n. 4
0
        static void Main(string[] args)
        {
            try
            {
                Mapper            mapper            = new Mapper();
                BoardStateManager boardStateManager = new BoardStateManager();
                SolverEngine      solverEngine      = new SolverEngine(boardStateManager, mapper);
                FileReader        fileReader        = new FileReader();
                BoardDisplayer    boardDisplayer    = new BoardDisplayer();

                Console.Write("Enter the filename containing the sudoku puzzle: ");
                var filename = Console.ReadLine();

                var sudokuBoard = fileReader.ReadFile(filename);
                boardDisplayer.Display("Initial State", sudokuBoard);
                bool isSudokuSolved = solverEngine.Solve(sudokuBoard);
                boardDisplayer.Display("Final State", sudokuBoard);

                Console.WriteLine(isSudokuSolved
                    ? "Successfully solved puzzle!"
                    : "Unfortunately, our algorithms couldn't solve the sudoku puzzle");
            }
            catch (Exception ex)
            {
                Console.WriteLine("{0} : {1}", "Sudoku puzzle cannot be solved because there was an error: ", ex.Message);
            }
        }
Esempio n. 5
0
        public void TestIfClickedRegionHasChangedState()
        {
            var idx = BoardStateManager.ClickedRegion(gameBoard.regions, currentState, previousState);

            BoardStateManager.UpdateClickedRegionState(gameBoard.regions, idx);
            Assert.That(gameBoard.regions[4].state, Is.EqualTo(1));
        }
    void Awake()
    {
        //Set this as the instance
        if (Instance == null)
        {
            Instance = this;
        }
        //If there is another, destroy this one
        else
        {
            Destroy(gameObject);
        }

        //CHANGE THIS WHEN IMPLEMENTING SAVED GAMES
        currentBoardState = DefaultBoardState;

        //Defines the strings associated with each piece
        PieceDictionary = new Dictionary <string, GameObject>
        {
            { "lp", lightPawn }, { "dp", darkPawn },
            { "lkn", lightKnight }, { "dkn", darkKnight },
            { "lb", lightBishop }, { "db", darkBishop },
            { "lr", lightRook }, { "dr", darkRook },
            { "lq", lightQueen }, { "dq", darkQueen },
            { "lki", lightKing }, { "dki", darkKing }
        };
    }
Esempio n. 7
0
        public void OutbreakCountStartsAtZero()
        {
            var testLocationManager = new TestSingleLocationManager();
            var boardManager        = new BoardStateManager(testLocationManager);

            Assert.AreEqual <int>(0, boardManager.OutbreakCount);
        }
Esempio n. 8
0
        static void Main(string[] args)
        {
            try
            {
                SudokuMapper       sudokuMapper       = new SudokuMapper();
                BoardStateManager  boardStateManager  = new BoardStateManager();
                SudokuSolverEngine sudokuSolverEngine = new SudokuSolverEngine(boardStateManager, sudokuMapper);
                SudokuFileReader   sudokuFileReader   = new SudokuFileReader();
                BoardDisplayer     boardDisplayer     = new BoardDisplayer();

                Console.WriteLine("Please enter the FileName that contains the sudoku puzzle");
                var fileName = Console.ReadLine();

                var sudokuBoard = sudokuFileReader.ReadFile(fileName);
                boardDisplayer.Display("Initial State", sudokuBoard);

                bool isSudokuSolved = sudokuSolverEngine.Solve(sudokuBoard);
                boardDisplayer.Display("Final State", sudokuBoard);

                Console.WriteLine(isSudokuSolved ? "Puzzle was solved" : "Falied to solve the puzzle");
            }
            catch (Exception ex)
            {
                Console.WriteLine("Something went wrong, try again" + ex.Message);
            }
        }
Esempio n. 9
0
 public void TestIfPlayerStateUpdates()
 {
     BoardStateManager.playerState = 1;
     BoardStateManager.UpdatePlayerState();
     Assert.That(BoardStateManager.playerState, Is.EqualTo(-1));
     BoardStateManager.UpdatePlayerState();
     Assert.That(BoardStateManager.playerState, Is.EqualTo(1));
 }
Esempio n. 10
0
        public void TestIfClickIsOutsideRegions()
        {
            var current = new MouseState(50, 50, 0, ButtonState.Pressed, ButtonState.Released,
                                         ButtonState.Released, ButtonState.Released, ButtonState.Released);

            Assert.That(BoardStateManager.ClickedRegion(gameBoard.regions, current,
                                                        previousState), Is.EqualTo(-1));
        }
Esempio n. 11
0
 public void PlayerStateHasUpdated()
 {
     BoardStateManager.currentPlayer = 1;
     BoardStateManager.UpdatePlayerState();
     Assert.That(BoardStateManager.currentPlayer, Is.EqualTo(-1));
     BoardStateManager.UpdatePlayerState();
     Assert.That(BoardStateManager.currentPlayer, Is.EqualTo(1));
 }
Esempio n. 12
0
 public void  StateManagerSetUp()
 {
     gameBoard    = new Board(null);
     stateManager = new BoardStateManager();
     currentState = new MouseState(250, 250, 0, ButtonState.Pressed, ButtonState.Released,
                                   ButtonState.Released, ButtonState.Released, ButtonState.Released);
     previousState = new MouseState(250, 250, 0, ButtonState.Released, ButtonState.Released,
                                    ButtonState.Released, ButtonState.Released, ButtonState.Released);
 }
Esempio n. 13
0
        public void ClickedRegionHasChangedState()
        {
            currentState = new MouseState(250, 250, 0, ButtonState.Pressed, ButtonState.Released,
                                          ButtonState.Released, ButtonState.Released, ButtonState.Released);
            var idx = BoardStateManager.ClickedRegion(gameBoard.regions, currentState, previousState);

            BoardStateManager.UpdateClickedRegionState(gameBoard.regions, idx);
            Assert.That(gameBoard.regions[4].State, Is.EqualTo(1));
        }
Esempio n. 14
0
        public void StateManagerSetUp()
        {
            SpriteFont font = null;

            gameBoard     = new Board(font);
            stateManager  = new BoardStateManager();
            previousState = new MouseState(250, 250, 0, ButtonState.Released, ButtonState.Released,
                                           ButtonState.Released, ButtonState.Released, ButtonState.Released);
        }
Esempio n. 15
0
        public void SetCubesToThreeFromZero()
        {
            var testLocationManager = new TestSingleLocationManager();
            var loc          = testLocationManager.GetLocations().First();
            var boardManager = new BoardStateManager(testLocationManager);

            boardManager.SetCubes(loc, 3);
            Assert.AreEqual <int>(3, boardManager.totalCubes(loc.Colour), "Setting cubes to 3 doesn't result in correct number");
        }
Esempio n. 16
0
        public void AddCube()
        {
            var testLocationManager = new TestSingleLocationManager();
            var loc          = testLocationManager.GetLocations().First();
            var boardManager = new BoardStateManager(testLocationManager);

            boardManager.AddCubes(loc, 2);
            Assert.AreEqual <int>(2, boardManager.totalCubes(loc.Colour), "Adding cubes doesn't increase total cubes");
        }
Esempio n. 17
0
        public void OutputCubesForOnlyTwoPlaces()
        {
            var testLocationManager = new TestLocationManager();
            var boardManager        = new BoardStateManager(testLocationManager);

            foreach (Location loc in testLocationManager.GetLocations().Take(2))
            {
                boardManager.AddCubes(loc, 2);
            }
            Assert.AreEqual(2, boardManager.OutputLocationsAndDiseaseCounts().Count);
        }
Esempio n. 18
0
        public void TotalCubesStartAtZero()
        {
            var testLocationManager = new TestLocationManager();
            var boardManager        = new BoardStateManager(testLocationManager);
            var totalCubes          = 0;

            foreach (DiseaseColour colour in Enum.GetValues(typeof(DiseaseColour)))
            {
                totalCubes += boardManager.totalCubes(colour);
            }
            Assert.AreEqual <int>(0, totalCubes, "Initial count for Cubes is non-zero");
        }
Esempio n. 19
0
        public static void Main()
        {
            try {
                var sudokuMapper      = new SudokuMapper();
                var boardStateManager = new BoardStateManager();
                var solverEngine      = new SudokuSolverEngine(boardStateManager, sudokuMapper);
                var boardDisplayer    = new BoardDisplayer();

                Console.WriteLine("Please enter the filename containing the sudoku puzzle");
                var fileName    = Console.ReadLine();
                var sudokuBoard = SudokuFileReader.ReadBoardFromFile(fileName);
                boardDisplayer.Display("Initial State", sudokuBoard);
                bool isSolved = solverEngine.Solve(sudokuBoard);
                boardDisplayer.Display("Final State", sudokuBoard);
                Console.WriteLine(isSolved ? "Sudoku puzzle was solved successfully" : "Current algorithms can " +
                                  "not solve this puzzle");
            }
            catch (Exception e) {
                Console.WriteLine("An error occured trying to solve sudoku puzzle : {0}", e.Message);
                Console.WriteLine(e.StackTrace);
            }
        }
Esempio n. 20
0
        public void Solve(int[,] sudokuBoard)
        {
            try
            {
                // Init mapper
                Mapper mapper = new Mapper();
                // Init boardStateManager
                BoardStateManager boardStateManager = new BoardStateManager();
                // Init solver Engine
                SolverEngine solverEngine = new SolverEngine(boardStateManager, mapper);
                // Init sudokuBoard
                int[,] sudokuBord = sudokuBoard;

                // Check if the sudoku is solved
                IsSolved = solverEngine.Solve(sudokuBord);
            }
            // Throw an error
            catch (Exception ex)
            {
                Console.WriteLine($"Sudoku kan niet worden opgelost omdat: {ex.Message}");
            }
        }
Esempio n. 21
0
 public SolverEngine(BoardStateManager boardStateManager, Mapper mapper)
 {
     _boardStateManager = boardStateManager;
     _mapper            = mapper;
 }
Esempio n. 22
0
 public Game(Mapper _mapper, BoardStateManager _boardStateManager, SolverEngine _solverEngine)
 {
     mapper            = _mapper;
     boardStateManager = _boardStateManager;
     solverEngine      = _solverEngine;
 }
Esempio n. 23
0
 public void TestIfTheRegionIsClicked()
 {
     Assert.That(BoardStateManager.ClickedRegion(gameBoard.regions, currentState,
                                                 previousState), Is.EqualTo(4));
 }
Esempio n. 24
0
 public SudokuSolverEngine(BoardStateManager boardStateManager, SudokuMapper sudokuMapper)
 {
     this.boardStateManager = boardStateManager;
     this.sudokuMapper      = sudokuMapper;
 }
 // instances of classes are passed in as dependant argumnets of the solver engine
 public SudokuSolverEngine(BoardStateManager boardStateManager, SudokuMapper sudokuMapper)
 {
     // set the instances as private variables inside this class
     _boardStateManager = boardStateManager;
     _sudokuMapper      = sudokuMapper;
 }