#ifndef __breakout_h__ #define __breakout_h__ #include #include #include #include #include #include #include "vector.h" // Structs typedef struct ballStruct { Vector Location, Momentum; SDL_Rect TargetRect; double Size, Rotation, RotationValue; int TextureIndex; } Ball; // Objekt für die Eigenschaften des Balls typedef struct paddleStruct { SDL_Rect TargetRect; int TextureIndex; } Paddle; // Objekt für die Eigenschaften des Paddles typedef struct blockStruct { Vector Location; SDL_Rect TargetRect; int XSize, YSize, TextureIndex; } Block; // Objekt für die Eigenschaften des Paddles // End Structs // Prototypes void BREAKOUT_INITIALIZE(SDL_Renderer * renderer, int width, int height); void BREAKOUT_Update(Uint8 * keystate); void BREAKOUT_Draw(SDL_Renderer * renderer); void BREAKOUT_DEINITIALIZE(); void BALL_Initialize(SDL_Renderer * renderer); Ball BALL_CreateDefault(); void BALL_Draw(SDL_Renderer * renderer, Ball * obj); bool BALL_CollideWithRect(Ball * obj, SDL_Rect * rect); bool RECT_Collide(SDL_Rect * rect1, SDL_Rect * rect2); void BALL_Update(Ball * obj, Paddle * paddle); void BALL_DestroyObject(Ball * obj); void BALL_Deinitialize(); void PADDLE_Initialize(SDL_Renderer * renderer); Paddle PADDLE_CreateDefault(); void PADDLE_Draw(SDL_Renderer * renderer, Paddle * obj); bool KeyPressed(Uint8 * keystate, Uint8 * keyArray); void constrain(int * variable, int min, int max); void PADDLE_Update(Paddle * obj, Uint8 * keystate); void PADDLE_DestroyObject(Paddle * obj); void PADDLE_Deinitialize(); // End Prototypes #endif // __breakout_h__