ArnieBoids  1.0.0
JOINT AI PROJECT
Player Class Reference

Controllable player class. Has no AI behaviour. Controlled through keyboard input in Game::handleEvents() More...

#include <Player.hpp>

Inheritance diagram for Player:
Collaboration diagram for Player:

Public Member Functions

 Player (thor::ParticleSystem &particleSystem, sf::Vector2f const &position, unsigned int maxHealth=10u)
 
 ~Player ()
 
void update () override
 Moves by velocity and cools gun. More...
 
void onCollide (Ship *other) override
 Causes ship take damage if an asteroid was hit. More...
 
- Public Member Functions inherited from Ship
 Ship (thor::ParticleSystem &particleSystem, sf::Vector2f const &position, float maxSpeed, unsigned int health=1u)
 
 ~Ship ()
 
void takeDamage (unsigned int amount=1u)
 Reduces health by the specified amount. More...
 
bool isDead () const
 Returns true if health is zero. More...
 
void thrust ()
 Apply acceleration in direction of forward vector. More...
 
void brake ()
 Apply deceleration if thrust is present. More...
 
void turnLeft ()
 Turn ship left. More...
 
void turnRight ()
 Turn ship right. More...
 
bool trigger ()
 Attempt to fire, returns success. More...
 
void turnToward (sf::Vector2f const &direction)
 
sf::Vector2f getForward () const
 Returns forward direction of ship. More...
 
sf::Vector2f getVelocity () const
 Returns velocity. More...
 
void setRadarRange (float range)
 Radar radius accessors. More...
 
float getRadarRange () const
 
int getHealth () const
 Health accessors. More...
 
void addHealth (unsigned int health)
 
unsigned int getMaxHealth () const
 

Additional Inherited Members

- Public Attributes inherited from Ship
sf::RectangleShape debug_rect_
 
- Protected Member Functions inherited from Ship
void clampToMaxSpeed ()
 Clamps the length of the velocity_ vector to MAX_SPEED_. More...
 
float tickToSec (unsigned int ticks) const
 Ticks to seconds. More...
 
virtual void updateParticleEmitter ()
 
- Protected Attributes inherited from Ship
const float MAX_SPEED_
 Maximum length of velocity vector. More...
 
const unsigned int MAX_HEALTH_
 
float refireTime_
 
float coolDown_
 
unsigned int ticks_
 
sf::Vector2f velocity_
 Delta position per update. More...
 
sf::Vector2f accel_
 Delta velocity after update !velocity_ += accel_ in update! More...
 
int health_
 Current health. More...
 
sf::Vector2f forward_
 Unit vector for ship's heading. More...
 
float thrust_
 How fast the ship accelerates. More...
 
float turnSpeed_
 How fast (in degrees) the ship can turn. More...
 
float radarRange_
 Ship's radar radius. More...
 
thor::UniversalEmitter particleEmitter_
 Does nothing on it's own. Derived classes should play with this. More...
 
float particleAngleVariance_
 

Detailed Description

Controllable player class. Has no AI behaviour. Controlled through keyboard input in Game::handleEvents()

Constructor & Destructor Documentation

Player::Player ( thor::ParticleSystem &  particleSystem,
sf::Vector2f const &  position,
unsigned int  maxHealth = 10u 
)
Player::~Player ( )

Member Function Documentation

void Player::onCollide ( Ship other)
overridevirtual

Causes ship take damage if an asteroid was hit.

Implements Ship.

Here is the call graph for this function:

void Player::update ( )
overridevirtual

Moves by velocity and cools gun.

Reimplemented from Ship.

Here is the call graph for this function:


The documentation for this class was generated from the following files: