Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/core/shoot_rocket.h @ 1932

Last change on this file since 1932 was 1926, checked in by bensch, 20 years ago

orxonox/trunk/core: added modulated phase variance-shot

File size: 1.0 KB
Line 
1
2#ifndef SHOOT_ROCKET_H
3#define SHOOT_ROCKET_H
4
5/* openGL Headers */
6#include <GL/glut.h>
7#include <math.h>
8
9#include "stdincl.h"
10#include "data_tank.h"
11#include "npc.h"
12
13enum RocketType { HOMING, SIDEACC, BACKPARABLE, ROTATER};
14enum RocketDirection {LEFT, RIGHT, UP, DOWN};
15
16class ShootRocket {
17
18
19 public:
20 
21  /* a list of all shoot-amental objects */
22  struct shoot {
23    enum RocketType type;
24    shoot *next;
25    float xCor;
26    float yCor;
27    float zCor;   
28    float xVel;
29    float yVel;
30    float zVel;
31    float xAcc;
32    float yAcc;
33    float zAcc;
34    float age;
35    float collisionRadius;
36  };
37  shoot* lastShoot;
38 
39  ShootRocket ();
40  ~ShootRocket ();
41 
42  int inhibitor;
43  float rotateAngle;
44
45  void drawShoot(void);
46  void addShoot(shoot* sh);
47  void addBackParable(float x, float y, float z);
48  void addSideAcc(float x, float y, float z, enum RocketDirection direction);
49  void addRotater(float x, float y, float z);
50
51  void setShootStep(float step);
52  void removeShoot(shoot* sh);
53
54
55 private:
56
57  float step;
58
59};
60
61#endif
Note: See TracBrowser for help on using the repository browser.