Class: GameEngine

TankGame.GameEngine(startingMode)

Class GameEngine that represents the tank game engine

Constructor

new GameEngine(startingMode)

Creates a new instance of GameEngine
Parameters:
Name Type Description
startingMode TankGame.Mode The game mode that the game engine will run at startup
Source:
See:

Methods

addPlayer(player)

Add new player to the game engine
Parameters:
Name Type Description
player TankGame.Player The new player
Source:
Throws:
param player should be instance of TankGame.Player
Type
Error

addProjectile(newProjectile)

Inserts a projectile into the game engine projectile list
Parameters:
Name Type Description
newProjectile TankGame.Projectile an instance of TankGame.Projectile
Source:
Throws:
param newProjectile should be instance of TankGame.Projectile
Type
Error

addTank(terrain)

Add new tank to the game engine.
Parameters:
Name Type Description
terrain TankGame.Tank the ground
Source:
Throws:
param newTank should be instance of TankGame.Tank
Type
Error

addTerrain(terrain)

Add the terrain to the game engine.
Parameters:
Name Type Description
terrain TankGame.World.Terrain the ground
Source:
Throws:
param terrain should be instance of TankGame.World.Terrain
Type
Error

currentPlayer() → {TankGame.Player}

Returns a reference to the current active player
Source:
Returns:
- The current player
Type
TankGame.Player

drawProjectiles()

Draws all the projectiles
Source:

drawTanks()

Draw the tanks
Source:

getCurrentWind() → {P5.Vector}

Passes the current global wind vector to the calling function.
Source:
Returns:
- The wind vector
Type
P5.Vector

handleKeyPress()

Handle key press
Source:

nextPlayer() → {Boolean}

Moves to the next player with a live tank.
Source:
Returns:
success of operation
Type
Boolean

pause()

Pause the game engine updates
Source:

projectileHitsTank(projectile, tank)

Determines if a projectile hits a tank and applies the correct damage based on how far away the tank is from the center of the explosion.
Parameters:
Name Type Description
projectile TankGame.Projectile The projectile
tank TankGame.Tank The tank
Source:

projectileHitsTerrain(projectile) → {Boolean}

Calculate if a given projectile hits the ground
Parameters:
Name Type Description
projectile TankGame.Projectile The projectile to test.
Source:
Returns:
- If projectile hits the ground
Type
Boolean

reset()

reset game engine data
Source:

setMode(newMode)

Set the mode of the game engine. Will return early and set the mode to debug empty if the mode is not a valid instance of TankGame.Mode.
Parameters:
Name Type Description
newMode TankGame.Mode the new mode
Source:

unpause()

Resume game engine updates
Source:

update()

Updates the game engine and all of the components. this includes running a rendering operation after all updates are complete.
Source:

updateFrameData()

update the current frame data
Source:

updateProjectiles()

Update the position of all the projectiles and delete them if they are off screen or collide with the ground
Source:

updateTanks()

Update the tanks according to the game physics
Source:

Documentation generated by JSDoc 4.0.2 on Wed Oct 29 2025 23:51:01 GMT-0700 (Pacific Daylight Time)