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