Code:
int main(){
int done = 0;
Game game;
game.score = 0;
game.bbhold = 2;
game.f1hold = 0;
Bat bat;
bat.x = 16;
bat.y = 16;
Ball balla;
balla.x = 100;
balla.y = 300;
balla.conx = 7;
balla.cony = 7;
Ball ballb;
ballb.x = 100;
ballb.y = 10;
ballb.conx = 2;
ballb.cony = 3;
Ball f1;
f1.x = 0;
f1.y = 100;
f1.conx = 4;
f1.cony = 4;
Ball f2;
f2.x = 800;
f2.y = 100;
f2.conx = 4;
f2.cony = 4;
//setup
SDL_Window *window;
SDL_Renderer *renderer;
SDL_Init(SDL_INIT_VIDEO);
TTF_Init();
window = SDL_CreateWindow( "Keep It UP!",
SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
800,
600,
0
);
renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
//TTF setup
TTF_Font *times;
times = TTF_OpenFont("font.ttf", 20);
SDL_Color white = {255, 255, 255};
//end of setup
//main game loop
while (!done) {
done = events(window, &bat);
//screen setup
SDL_SetRenderDrawColor(renderer, 0, 0,255, 255);
SDL_RenderClear(renderer);
// ball b drop zone
SDL_SetRenderDrawColor(renderer, 255, 0, 50, 255);
SDL_Rect rect = {350, 0, 100, 7};
SDL_RenderFillRect(renderer, &rect);
// fire ball drop zones
SDL_SetRenderDrawColor(renderer, 255, 217, 0, 255);
SDL_Rect rectf1 = {0, 100, 7, 80};
SDL_RenderFillRect(renderer, &rectf1);
SDL_Rect rectf2 = {793, 100, 7, 80};
SDL_RenderFillRect(renderer, &rectf2);
//set new life zones
SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255);
SDL_Rect rectg1 = {0, 250, 7, 50};
SDL_RenderFillRect(renderer, &rectg1);
SDL_Rect rectg2 = {793, 250, 7, 50};
SDL_RenderFillRect(renderer, &rectg2);
//main function calls
bat_ren(renderer, &bat);
mball(renderer, &balla, &bat, &game, &ballb, &f1, &f2);
// ball b logic
if (game.bbhold < 2) {
bball(renderer, &ballb, &bat, &game);
}
//f ball logic
if (game.f1hold > 0) {
ballf1(renderer, &f1, &bat, &game);
ballf2(renderer, &f2, &bat, &game);
}
//ttf text
SDL_Surface *message = TTF_RenderText_Solid(times, "test text", white);
//render objects
SDL_RenderPresent(renderer);
SDL_Delay(10);
SDL_FreeSurface(message);
}
SDL_DestroyWindow(window);
SDL_DestroyRenderer(renderer);
TTF_Quit();
SDL_Quit();
return 0;
The TTF code is all written in main and is not interacting with any of my other functions so I left them out.