44 lines
849 B
C
44 lines
849 B
C
//
|
|
// Created by Grant Horner on 11/30/25.
|
|
//
|
|
|
|
#pragma once
|
|
|
|
#include "raymath.h"
|
|
#include "raylib.h"
|
|
|
|
struct Player : Rectangle {
|
|
uint8_t lives;
|
|
double last_hit;
|
|
[[nodiscard]] Vector2 center() const noexcept;
|
|
[[nodiscard]] Rectangle rect() const noexcept;
|
|
[[nodiscard]] bool is_invulnerable(double now) const noexcept;
|
|
|
|
void move(float delta_x, float delta_y);
|
|
};
|
|
|
|
enum Direction {
|
|
UP, DOWN, LEFT, RIGHT
|
|
};
|
|
|
|
struct Tear {
|
|
Tear() noexcept = default;
|
|
|
|
Tear(const Vector2 center, const Direction direction) noexcept
|
|
: center(center), direction(direction),
|
|
active(true),
|
|
starting_center(center) {
|
|
};
|
|
Vector2 center;
|
|
Direction direction;
|
|
bool active;
|
|
Vector2 starting_center;
|
|
};
|
|
|
|
struct Enemy {
|
|
Vector2 center;
|
|
float radius;
|
|
float speed;
|
|
bool alive;
|
|
};
|