List of battleship files - Nibor99/PassTask3.1Battleship GitHub Wiki
build.sh - Script that builds all the necessary files to run Battleship
clean.sh - Resets build (deletes all generated files)
run.sh - Script that runs the Battleship application
contributors.txt - Names of contributors
out.log - Output of build process
README.md - Basic info about requirements and how to run
bin
Files generated during the build process to run game
Resources
All different resources (animations, fonts, images, panels, sounds, icons…) and location of higscore.txt
lib
Location of external libraries used in the project
tmp
Temporary files generated during the build process
src
DeploymentController.vb - Shows deployment screen and allows the player to position ships on the grid
DiscoveryController.vb - Handles battle phase (the main part of the game), draws game board and allows the player to attack
EndingGameController.vb - Manages interactions after the game finishes, shows win/lose
GameController.vb - Central controller, manages all things during the game, holds human and ai player, handles result for every action, transaction between different screens/states
GameLogic.vb - Runs/starts up the whole game
GameResource.vb - Loads and manages resources (sounds, images, music..) and presents them
GameState.vb - Manages current game state (menu, discovering…)
HighScoreController.vb - Manages Highscores, loads from/writes to txt file
MenuController.vb - Handles drawing of and input on all menus
UtilityFunctions.vb - Holds a number of functions used in multiple other places (mainly UI presentation and mouse interactions)
Models
AIHardPlayer.vb - Handles actions and states of AIHardPlayer (most difficult)
AIMediumPlayer.vb - Handles actions and states of AIMediumPlayer
AIPlayer.vb - Handles action and states of AIPlayer (random deployment…)
AIOption.vb - Enum of different AI levels
AttackResult.vb - Returns result of attack (hit, miss, which ship…)
BattleShipsGame.vb - Adds players, checks deployment of ships, checks if players are destroyed and swaps turns
Direction.vb - Enum of possible ship orientations (left/right, up/down)
ISeaGrid.vb - Read-only interface of the grid, allows access to tiles
Player.vb - has PlayerGrid and EnemyGrid, holds info about shots, ships, etc…
ResultOfAttatck.vb - Enum of possible results for a shot
SeaGrid.vb - Grid which is viewable vis ISeaGrid
SeaGridAdapter.vb - Allows for changes in sea grid view (masks ships)
Ship.vb - Stores all info about a ship (name, size, hits, location…)
ShipName.vb - Enum of possible ship names
Tile.vb - Stores all info about a tile (location, if ship, if shot)
TileView.vb - Potential visible states of a tile
Unused Files
Code
All the code files seem to be in use and called in other files.
Resources
Fonts: maven_pro_regular.tff
Images: fdFIle.png, fdFolder.png, FileDialog_Active.png, FileDialog_Background.png, FileDialog_Inactive.png, FileDialog_Scroll.png, FileDialog_ScrollSmall.png, Swinburne.jpg, SwinGameAni.png
Panels: FileDialog.txt Sounds: SwinGameStart.wav