mElite
1.0
An Elite clone based on TextElite by Jan-Philipp Kappmeier and Melanie Schmidt.
|
Represents a space ship. More...
#include <SpaceShip.h>
Public Member Functions | |
SpaceShip (float r, GLuint displayList) | |
Initializes the space ship. | |
SpaceShip (Vector3 position, float r, GLuint displayList) | |
Initializes the space ship. | |
SpaceShip (float x, float y, float z, float r, GLuint displayList) | |
Initializes the space ship. | |
~SpaceShip (void) | |
Destructor. | |
void | draw () |
Draws the object using the base class drawing method. | |
Vector3 | getOriginalView (void) |
Returns the original view vector. | |
Vector3 | getOriginalUp (void) |
Returns the original up vector. | |
bool | isDestroyed () |
Determines wheather a ship is destroyed or not. | |
virtual void | update (float t) |
float | getLaserHeat (void) |
Returns the current heat of the laser. | |
float | getMaxLaserHeat (void) |
float | getLaserPercentage (void) |
Returns the percentage of the heat of the maximal heat. | |
unsigned int | getMissileCount (void) |
Returns the current amount of missiles. | |
bool | isOverHeated (void) |
Returns true if the laser is overheated, otherwise false. | |
void | useMissile (void) |
Shoots a missile, if possible. | |
bool | isShooting () |
void | setShoot (bool status) |
float | getBackShieldPower (void) |
Returns the current back shield power. | |
float | getBackShieldPowerPercentage (void) |
Returns the current percentage of back shield power. | |
float | getFrontShieldPower (void) |
Returns the current front shield power. | |
float | getFrontShieldPowerPercentage (void) |
Returns the current percentage of front shield power. | |
void | setShieldRecovering (bool recovers) |
void | receiveHitBack (DWORD time) |
void | receiveHitFront (DWORD time) |
void | setShieldCapacity (float capacity) |
bool | shipWasHitOnce () |
Public Member Functions inherited from MovingObject | |
MovingObject () | |
Constructor, initializes to the origin. The line of vision is aligned to the z axis, the up vector is aligned to the y-axis. | |
MovingObject (Vector3 position) | |
Constructor initializing to a given position as Vector3. | |
MovingObject (float x, float y, float z) | |
Constructor, the startposition is (x,y,z). | |
~MovingObject (void) | |
Destructor. | |
void | pitch (float angle) |
Pitches the line of vision. | |
void | roll (float angle) |
Rolls the eye. | |
Vector3 | getRight (void) |
Returns the vector indiciating what is 'right' of the eye. | |
Vector3 | getUp (void) |
Returns the vector indication what is 'up'. | |
Vector3 | getView (void) |
Returns the current viewing vector. | |
void | setView (Vector3 v) |
Sets the current viewing vector. | |
void | accelerate (float step) |
Sets the speed. | |
void | advance (float t) |
Move the camera depending on the current speed and line of vision. | |
float | getMaxSpeed (void) |
Returns the maximal speed. | |
float | getMinSpeed (void) |
Returns the minimal speed. | |
float | getSpeed (void) |
Returns the vector indicating the direction 'right'. | |
void | setMaxSpeed (float speed) |
Sets the maximal speed. | |
void | setMinSpeed (float speed) |
Sets the minimal speed. | |
void | setSpeed (float speed) |
Sets the current speed. | |
void | setStep (float step) |
Sets the value that is advanced in one step. | |
Public Member Functions inherited from GameObject | |
GameObject (void) | |
The constructor creates the object. The position is set to zero by default. | |
GameObject (Vector3 position) | |
The constructor creates the object and gives it a position in the scene. | |
GameObject (float x, float y, float z) | |
The constructor creates the object and gives it a position in the scene. | |
~GameObject (void) | |
Destructor. Does nothing. | |
virtual Vector3 | getPos (void) |
Returns the current position as Vector3 triple. | |
void | setPos (float x, float y, float z) |
Sets the current position. | |
void | setPos (Vector3 position) |
Sets the current position. | |
Public Member Functions inherited from ModelObject | |
ModelObject (GLuint displayList) | |
Creates a model object and sets up the display List. | |
ModelObject (float r, GLuint displayList) | |
Creates a model object and sets up the display List. | |
ModelObject (Vector3 position, float r, GLuint displayList) | |
Creates a model object and sets up the display List. | |
ModelObject (float x, float y, float z, float r, GLuint displayList) | |
Creates a model object and sets up the display List. | |
~ModelObject (void) | |
The destructor has nothing to clean up. | |
Public Member Functions inherited from GraphicsObject | |
GraphicsObject (void) | |
The constructor creates the object. | |
GraphicsObject (GLfloat r) | |
The constructor creates the object. | |
GraphicsObject (Vector3 position, float r) | |
Creates an graphical object. | |
GraphicsObject (float x, float y, float z, float r) | |
Creates a graphical object. | |
~GraphicsObject (void) | |
Destructor. | |
float | getRadius (void) |
Returns the radius of the object, usable for view frustum culling. | |
float | getCollisionRadius (void) |
Returns the radius of the object, usable for collision detection. | |
Protected Member Functions | |
void | advance (float t) |
void | updateLaser (float t) |
void | setLaserHeat (float heat) |
virtual void | coolLaser (DWORD time) |
Cools the laser. | |
Represents a space ship.
Derived from the ModelObject class which means, the ship is drawable using the base draw() method. As a ship is movable, it inherits also from the MovingObject class. Besides that the class provides the propertys and the behavior of a space ship. It contains shooting, the shield.
Definition at line 20 of file SpaceShip.h.
SpaceShip::SpaceShip | ( | float | r, |
GLuint | displayList | ||
) |
Initializes the space ship.
The radius and the display list have to be submitted if an object is initialized. The starting position is set to the origin.
r | the radius |
displayList | the display list |
Definition at line 17 of file SpaceShip.cpp.
SpaceShip::SpaceShip | ( | Vector3 | position, |
float | r, | ||
GLuint | displayList | ||
) |
Initializes the space ship.
The radius and the display list have to be submitted if an object is initialized.
position | the position as Vector3 |
r | the radius |
displayList | the display list |
Definition at line 29 of file SpaceShip.cpp.
SpaceShip::SpaceShip | ( | float | x, |
float | y, | ||
float | z, | ||
float | r, | ||
GLuint | displayList | ||
) |
Initializes the space ship.
The radius and the display list have to be submitted if an object is initialized.
x | the x-position |
y | the y-position |
z | the z-position |
r | the radius |
displayList | the display list |
Definition at line 43 of file SpaceShip.cpp.
SpaceShip::~SpaceShip | ( | void | ) |
Destructor.
Definition at line 50 of file SpaceShip.cpp.
|
protected |
Definition at line 137 of file SpaceShip.cpp.
|
protectedvirtual |
Cools the laser.
If the laser is not used, this function is called. It cools the laser until its heat is zero. This is called in the SpaceShip::advance() method.
time | the time that has passed |
Reimplemented in PlayerObject.
Definition at line 127 of file SpaceShip.cpp.
|
virtual |
Draws the object using the base class drawing method.
Previously it is translated to the current position.
Reimplemented from ModelObject.
Definition at line 78 of file SpaceShip.cpp.
float SpaceShip::getBackShieldPower | ( | void | ) |
Returns the current back shield power.
Definition at line 230 of file SpaceShip.cpp.
float SpaceShip::getBackShieldPowerPercentage | ( | void | ) |
Returns the current percentage of back shield power.
Definition at line 237 of file SpaceShip.cpp.
float SpaceShip::getFrontShieldPower | ( | void | ) |
Returns the current front shield power.
Definition at line 244 of file SpaceShip.cpp.
float SpaceShip::getFrontShieldPowerPercentage | ( | void | ) |
Returns the current percentage of front shield power.
Definition at line 251 of file SpaceShip.cpp.
float SpaceShip::getLaserHeat | ( | void | ) |
Returns the current heat of the laser.
Definition at line 161 of file SpaceShip.cpp.
float SpaceShip::getLaserPercentage | ( | void | ) |
Returns the percentage of the heat of the maximal heat.
Definition at line 172 of file SpaceShip.cpp.
float SpaceShip::getMaxLaserHeat | ( | void | ) |
Definition at line 165 of file SpaceShip.cpp.
unsigned int SpaceShip::getMissileCount | ( | void | ) |
Returns the current amount of missiles.
Definition at line 179 of file SpaceShip.cpp.
Vector3 SpaceShip::getOriginalUp | ( | void | ) |
Returns the original up vector.
Definition at line 258 of file SpaceShip.cpp.
Vector3 SpaceShip::getOriginalView | ( | void | ) |
Returns the original view vector.
Definition at line 265 of file SpaceShip.cpp.
bool SpaceShip::isDestroyed | ( | ) |
Determines wheather a ship is destroyed or not.
If the current front or back shield power is less than zero, the ship is destroyed.
Definition at line 114 of file SpaceShip.cpp.
bool SpaceShip::isOverHeated | ( | void | ) |
Returns true if the laser is overheated, otherwise false.
Definition at line 186 of file SpaceShip.cpp.
bool SpaceShip::isShooting | ( | ) |
Definition at line 215 of file SpaceShip.cpp.
void SpaceShip::receiveHitBack | ( | DWORD | time | ) |
Definition at line 269 of file SpaceShip.cpp.
void SpaceShip::receiveHitFront | ( | DWORD | time | ) |
Definition at line 275 of file SpaceShip.cpp.
|
protected |
Definition at line 219 of file SpaceShip.cpp.
void SpaceShip::setShieldCapacity | ( | float | capacity | ) |
Definition at line 293 of file SpaceShip.cpp.
void SpaceShip::setShieldRecovering | ( | bool | recovers | ) |
Definition at line 303 of file SpaceShip.cpp.
void SpaceShip::setShoot | ( | bool | status | ) |
Definition at line 223 of file SpaceShip.cpp.
bool SpaceShip::shipWasHitOnce | ( | ) |
Definition at line 307 of file SpaceShip.cpp.
|
virtual |
Reimplemented in abstract.
Definition at line 149 of file SpaceShip.cpp.
|
protected |
Definition at line 142 of file SpaceShip.cpp.
void SpaceShip::useMissile | ( | void | ) |
Shoots a missile, if possible.
Reduces the missile count by one.
Definition at line 209 of file SpaceShip.cpp.