mirror of
https://github.com/thepigeongenerator/breakout_clone.git
synced 2025-12-16 22:05:45 +01:00
initialize ball and bouncer
This commit is contained in:
4
constants.h
Normal file
4
constants.h
Normal file
@@ -0,0 +1,4 @@
|
||||
#pragma once
|
||||
|
||||
#define SCREEN_WIDTH 960
|
||||
#define SCREEN_HEIGHT 640
|
||||
18
level.c
18
level.c
@@ -1,9 +1,21 @@
|
||||
#include <stdbool.h>
|
||||
#include <SDL2/SDL.h>
|
||||
#include "level.h"
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <SDL2/SDL.h>
|
||||
#include "constants.h"
|
||||
|
||||
//prepares the level to be in a playable state
|
||||
void level_init(Level* level) {}
|
||||
void level_init(Level* level) {
|
||||
// initialize ball
|
||||
level->ball.pos.x = SCREEN_WIDTH / 2;
|
||||
level->ball.pos.y = SCREEN_HEIGHT / 2;
|
||||
level->ball.radius = 1;
|
||||
|
||||
// initialize bouncer
|
||||
level->bouncer.pos.x = SCREEN_HEIGHT / 2;
|
||||
level->bouncer.pos.y = 5;
|
||||
level->bouncer.width = 20;
|
||||
}
|
||||
|
||||
//updates the level
|
||||
void level_update(Level* level, bool* keys) {}
|
||||
|
||||
11
level.h
11
level.h
@@ -8,8 +8,15 @@ typedef struct {
|
||||
} Position;
|
||||
|
||||
typedef struct {
|
||||
Position ball_pos;
|
||||
Position bouncer_pos;
|
||||
struct {
|
||||
unsigned radius;
|
||||
Position pos;
|
||||
} ball;
|
||||
|
||||
struct {
|
||||
unsigned width;
|
||||
Position pos;
|
||||
} bouncer;
|
||||
} Level;
|
||||
|
||||
|
||||
|
||||
20
renderer.c
20
renderer.c
@@ -2,12 +2,9 @@
|
||||
|
||||
#include <SDL2/SDL.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "error_codes.h"
|
||||
#include "level.h"
|
||||
|
||||
#define SCREEN_WIDTH 960
|
||||
#define SCREEN_HEIGHT 640
|
||||
#include "constants.h"
|
||||
|
||||
// initializes the window and renderer
|
||||
int renderer_init(SDL_Window** window, SDL_Renderer** renderer) {
|
||||
@@ -37,14 +34,15 @@ int renderer_init(SDL_Window** window, SDL_Renderer** renderer) {
|
||||
|
||||
// renders the screen
|
||||
void renderer_update(RenderData* render_data) {
|
||||
int success = 0x0;
|
||||
success | SDL_SetRenderDrawColor(render_data->renderer, 0x00, 0x00, 0x00, 0xFF);
|
||||
success | SDL_RenderClear(render_data->renderer);
|
||||
SDL_RenderPresent(render_data->renderer);
|
||||
// render background
|
||||
(void)SDL_SetRenderDrawColor(render_data->renderer, 0x00, 0x00, 0x00, 0xFF);
|
||||
(void)SDL_RenderClear(render_data->renderer);
|
||||
|
||||
if (success != 0) {
|
||||
printf("something went wrong during the render update! -> %d", success);
|
||||
}
|
||||
//TODO: render ball as a circle at render_data->level->ball.pos
|
||||
//TODO: render bouncer as a bar at render_data->level->bouncer.pos
|
||||
|
||||
// present the result to the renderer
|
||||
SDL_RenderPresent(render_data->renderer);
|
||||
}
|
||||
|
||||
void renderer_destroy(SDL_Window* window, SDL_Renderer* renderer) {
|
||||
|
||||
Reference in New Issue
Block a user