List of files - nilfalen/BattleShip GitHub Wiki

  • DeploymentController.vb (handle users action during deployment session, like choosing ships)

  • DiscoveryController.vb (handle users action during battle session, like do the attack)

  • EndingGameController.vb (The EndingGameController is responsible for managing the interactions at the end of a game)

  • GameController.vb (The GameController is responsible for controlling the game, managing user input, and displaying the current state of the game.)

  • GameLogic.vb (declare and define "Main")

  • GameResource.vb (provide functions that load all resources that game will use)

  • GameState.vb (represent the state of the Battleships game play. This is used to control the actions and view displayed to the player.)

  • HighScoreController.vb (Controls displaying and collecting high score data.)

  • MenuController.vb (handles the drawing and user interactions from the menus in the game. These include the main menu, game menu and the settings menu.)

  • UtilityFunctions.vb (This includes a number of utility methods for drawing and interacting with the Mouse.)

  • AIHardPlayer.vb (Declare the hard-level AI actions and controls.)

  • AIMediumPlayer.vb (Declare the medium-level AI actions and controls.)

  • AIOption.vb (Enumeration of AI levels)

  • AIPlayer.vb (Declare AI player's functionality to generate coordinates and shoot at tiles.)

  • AttackResult.vb (Handle Attack results)

  • BattleShipGame.vb (The BattleShipsGame controls a big part of the game. It will add the two players to the game and make sure that both players ships are all deployed before starting the game. It also allows players to shoot and swap turns between player. It will also check if players are destroyed.)

  • Direction.vb (Declare the direction the ship can be oriented.)

  • ISeaGrid.vb (The ISeaGrid defines the read only interface of a Grid. This allows each player to see and attack their opponents grid.)

  • Player.vb (Player has its own _PlayerGrid, and can see an _EnemyGrid, it can also check if all ships are deployed and if all ships are detroyed. A Player can also attach.)

  • ResultOfAttack (Show result of attacks)

  • SeaGrid.vb (The SeaGrid is the grid upon which the ships are deployed.)

  • SeaGridAdapter.vb (The SeaGridAdapter allows for the change in a sea grid view. Whenever a ship is presented it changes the view into a sea tile instead of a ship tile.)

  • Ship.vb ( A Ship has all the details about itself. For example the shipname, size, number of hits taken and the location. Its able to add tiles, remove, hits taken and if its deployed and destroyed.)

  • ShipName.vb (The names of all of the ships in the game)

  • Tile.vb (Tile knows its location on the grid, if it is a ship and if it has been shot before.)

  • TileView.vb (The values that are visable for a given tile.)