Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

orxonox/truk/core: added support for different types of rockets, and implemented Side-Accelerators :) I think they really rock.

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