blob: 31266a456f4f8cb1b936c94e3f6e31c3112918db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
/*
game/ship.h
This file is part of the Osirion project and is distributed under
the terms and conditions of the GNU General Public License version 2
*/
#ifndef __INCLUDED_SHIP_H__
#define __INCLUDED_SHIP_H__
// project headers
#include "common/vector3f.h"
namespace game {
class Ship
{
public:
Ship();
~Ship();
/// update the ship state
void update(float elapsed);
/// location of the ship in space
common::Vector3f location;
/// speed vector in units/second
float speed;
/// turn left, increase yaw_offset
void turn_left();
/// turn right, decrease yaw_offset
void turn_right();
/// yaw, angle in the x/z plane
float yaw;
/// increase thrust
void thrust_increase();
/// decrease thrust
void thrust_decrease();
/// forward thruster in % [0-1]
float thrust;
/* -- Ship SPECS --*/
/// acceleration
float acceleration;
/// maximum speed
float max_speed;
/// maximum yaw_offset
float max_yaw_offset;
/// yaw turn speed
float yaw_speed;
private:
float yaw_offset;
};
} // namespace game
#endif // __INCLUDED_SHIP_H__
|