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 "level.h"
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <SDL2/SDL.h>
|
||||||
|
#include "constants.h"
|
||||||
|
|
||||||
//prepares the level to be in a playable state
|
//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
|
//updates the level
|
||||||
void level_update(Level* level, bool* keys) {}
|
void level_update(Level* level, bool* keys) {}
|
||||||
|
|||||||
11
level.h
11
level.h
@@ -8,8 +8,15 @@ typedef struct {
|
|||||||
} Position;
|
} Position;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
Position ball_pos;
|
struct {
|
||||||
Position bouncer_pos;
|
unsigned radius;
|
||||||
|
Position pos;
|
||||||
|
} ball;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
unsigned width;
|
||||||
|
Position pos;
|
||||||
|
} bouncer;
|
||||||
} Level;
|
} Level;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
20
renderer.c
20
renderer.c
@@ -2,12 +2,9 @@
|
|||||||
|
|
||||||
#include <SDL2/SDL.h>
|
#include <SDL2/SDL.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "error_codes.h"
|
#include "error_codes.h"
|
||||||
#include "level.h"
|
#include "level.h"
|
||||||
|
#include "constants.h"
|
||||||
#define SCREEN_WIDTH 960
|
|
||||||
#define SCREEN_HEIGHT 640
|
|
||||||
|
|
||||||
// initializes the window and renderer
|
// initializes the window and renderer
|
||||||
int renderer_init(SDL_Window** window, SDL_Renderer** 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
|
// renders the screen
|
||||||
void renderer_update(RenderData* render_data) {
|
void renderer_update(RenderData* render_data) {
|
||||||
int success = 0x0;
|
// render background
|
||||||
success | SDL_SetRenderDrawColor(render_data->renderer, 0x00, 0x00, 0x00, 0xFF);
|
(void)SDL_SetRenderDrawColor(render_data->renderer, 0x00, 0x00, 0x00, 0xFF);
|
||||||
success | SDL_RenderClear(render_data->renderer);
|
(void)SDL_RenderClear(render_data->renderer);
|
||||||
SDL_RenderPresent(render_data->renderer);
|
|
||||||
|
|
||||||
if (success != 0) {
|
//TODO: render ball as a circle at render_data->level->ball.pos
|
||||||
printf("something went wrong during the render update! -> %d", success);
|
//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) {
|
void renderer_destroy(SDL_Window* window, SDL_Renderer* renderer) {
|
||||||
|
|||||||
Reference in New Issue
Block a user