12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #pragma once
- #include "GameObject.h"
- #include "Spieler.h"
- class Spiel;
- #define PFEIL_DAMAGE 100
- #define KUGEL_DAMAGE 100
- class Geschoss : public GameObject
- {
- private:
- float speed;
- Richtung richtung;
- Spieler *besitzer;
- GeschossTyp typ;
- int tunnelBenutzt;
- int umgelenkt;
- int geschosseGetroffen;
- int schalter;
- int currentImage;
- double nextImage;
- bool intersectWithOwner;
- int id;
- ResourceRegistry *resources;
- public:
- Geschoss( ResourceRegistry *zResources, int id, float speed, GeschossTyp typ, Richtung r, int x, int y, Spieler *besitzer );
- ~Geschoss();
- void invertDirection();
- void addUmlenkung( Spiel *zSpiel );
- void addGeschossTreffer( Spiel *zSpiel );
- void addTunnel( Spiel *zSpiel );
- void addSchalter();
- void setSpeed( float speed );
- void setBesitzer( Spieler *besitzer );
- void setTyp( GeschossTyp typ );
- void setRichtung( Richtung r );
- void tick( double zeit );
- bool intersectsWith( GameObject *zObj ) override;
- GeschossTyp getTyp() const;
- Spieler *zBesitzer() const;
- Spieler *getBesitzer() const;
- Richtung getRichtung() const;
- };
- // size: 150x150
- class FeuerballTreffer : public GameObject
- {
- private:
- int id;
- Spieler *besitzer;
- int count;
- float timeLeft;
- Resource *animation;
- int currentImage;
- double nextImage;
- public:
- FeuerballTreffer( ResourceRegistry *zResources, int id, int x, int y, Spieler *besitzer, int maxZeit );
- ~FeuerballTreffer();
- void tick( double zeit );
- bool isOver() const;
- bool makeDamage() const;
- Spieler *zVerursacher() const;
- };
|