Esempio n. 1
0
        public IEnumerator TestInversionCount()
        {
            yield return(null);

            initBoard = GameObject.Find("Board").GetComponent <InitBoard>();
            Assert.AreEqual(initBoard.InversionCount(new ArrayList(new int[] { 6, 3, 2, 4, 7, 5, 1, 0 })), 19);
        }
Esempio n. 2
0
        public IEnumerator TestScriptWithEnumeratorPasses()
        {
            // Use the Assert class to test conditions.
            // Use yield to skip a frame.
            yield return(null);

            initBoard = GameObject.Find("Board").GetComponent <InitBoard>();
            //initBoard.Init();
            foreach (var tp in initBoard.tilePositions)
            {
                Debug.Log("row: " + tp.row + " col: " + tp.col + " pos: " + tp.tilePivot.ToString());
            }

            var activeScene = SceneManager.GetActiveScene();

            Assert.IsTrue(activeScene.isLoaded);
            var rootGameObjects = activeScene.GetRootGameObjects();

            Assert.IsNotNull(rootGameObjects, "Missing rootGameObjects ");
            Assert.Greater(initBoard.tilePivot.Length, 0, "tilePivot[] is initialized");


            initBoard.ShuffleTiles();
            Assert.IsTrue(true);
            yield return(new WaitForSeconds(10));
        }
Esempio n. 3
0
        public IEnumerator TestCheckGameEndPosition()
        {
            yield return(null);

            initBoard = GameObject.Find("Board").GetComponent <InitBoard>();
            Assert.AreEqual(initBoard.tilePositions[3, 3].tileNumber, 16, "The last tile is not 16");
            Assert.IsTrue(initBoard.CheckGameEndPosition());
        }
Esempio n. 4
0
        private void PlaceShipsRandomly()
        {
            InitBoard.InitializeBoard(MyGame);
            ShipPlacement.RandomPlacement(MyGame, false);
            var optionsBuilder = new DbContextOptionsBuilder();

            optionsBuilder.UseMySQL(
                "server=localhost;database=battleship;user=root;password=toor");
            Ctx = new AppDbContext(optionsBuilder.Options);
            Ctx.Add(MyGame);
            ActionMenu.BombingMenu(MyGame, Ctx);
        }
Esempio n. 5
0
        public static void PlacePlayerShipsOnBoard(Game game)
        {
            InitBoard.InitializeBoard(game);
            var count = 1;

            foreach (var ship in game.GameShips)
            {
                Console.Clear();
                Console.WriteLine(PrintBoard(game));
                string input;
                do
                {
                    Console.WriteLine($"Ships remaining: {game.NumberOfShips - count + 1}");
                    do
                    {
                        Console.WriteLine($"Current ship length: {ship.ShipLength}");
                        Console.WriteLine("Set layout: V vertical(|) or H horizontal(-)");
                        input = Console.ReadLine()?.Trim().ToUpper();
                        if (input == "H" || input == "V")
                        {
                            break;
                        }
                        Console.WriteLine("Invalid input!");
                    } while (true);

                    ship.ShipLayout = ShipLayout.Horizontal;
                    if (input == "V")
                    {
                        ship.ShipLayout = ShipLayout.Vertical;
                    }
                    Console.WriteLine("Set coordinates for this ship" +
                                      $" (size: {ship.ShipLength}, layout: {ship.ShipLayout}):");
                    Console.WriteLine("Coordinate row (left side number): ");
                    var x = IntegerInputHelper("x", ship.ShipLength, ship.ShipLayout, game);
                    Console.WriteLine("Coordinate column (top number): ");
                    var y = IntegerInputHelper("y", ship.ShipLength, ship.ShipLayout, game);
                    if (!ShipPlacement.CanPlaceShip(game, ship, x, y))
                    {
                        Console.WriteLine("Other ship at coordinates!");
                        continue;
                    }

                    InitBoard.PlaceShip(game, ship, x, y);
                    Console.WriteLine("Ship placed successfully!");
                    break;
                } while (true);

                count++;
            }
        }
Esempio n. 6
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            InitBoard.InitializeBoard(Game);
            _context.Games.Add(Game);
            await _context.SaveChangesAsync();

            if (!StandardShips)
            {
                return(RedirectToPage("CustomShips", new { id = _context.Games.Last().GameId }));
            }

            return(RedirectToPage("ShipPlacement", new { id = _context.Games.Last().GameId }));
        }
Esempio n. 7
0
 private void Awake()
 {
     Ins = this;
 }