#pragma once #include "PongView.h" #include "Racket.h" class PongView; class Racket; //Für Zufallsgenerator (Ballrichtung) #include #include #ifndef __GAMEAREA__ #define __GAMEAREA__ typedef struct { short xMin; short xMax; short yMin; short yMax; } GAMEAREA; #endif //Liegt die Bewegungsrichtung fest N=1...O=5...S=9...W=13 //Kann aber nicht als int-Wert verwendet werden! //spezieller Datentyp: Enumeration = Aufzählung enum direction{N=1,NNO,NO,NOO,O,SOO,SO,SSO,S,SSW,SW,SWW,W,NWW,NW,NNW}; class Ball { private: //Symbol für Ball unsigned char symbol; //Aktuelle Position short xPos; short yPos; //Bewegungsrichtung, enum-Typ direction dir; //Verzögerung in ms in move() int delay; //Der Ball kennt seine View PongView* pv; //die beiden Schläger Racket* racket1; Racket* racket2; void checkHitBorder(); bool checkHitRacket(); public: Ball(short x, short y, int d, Racket* r1, Racket* r2, PongView* p); void move(void); short getXPos(void); short getYPos(void); unsigned char getSymbol(void); };