kill enemies for score
This commit is contained in:
26
main.cpp
26
main.cpp
@@ -1,3 +1,4 @@
|
||||
#include <iterator>
|
||||
#include <mutex>
|
||||
#include <print>
|
||||
#include <random>
|
||||
@@ -9,12 +10,14 @@
|
||||
auto screen_width = 800;
|
||||
auto screen_height = 600;
|
||||
Rectangle walls[] = {
|
||||
{.x = 100, .y = 100, .width = 5, .height = 100}
|
||||
// {.x = 100, .y = 100, .width = 5, .height = 100}
|
||||
};
|
||||
|
||||
Player player;
|
||||
auto player_speed = 5.0f;
|
||||
|
||||
uint32_t score;
|
||||
|
||||
Tear tears[100] = {};
|
||||
float tear_speed = 10;
|
||||
float tear_range = 500;
|
||||
@@ -26,8 +29,8 @@ std::random_device dev;
|
||||
std::mt19937 rng(dev());
|
||||
|
||||
std::mutex enemy_mutex;
|
||||
float enemy_max_speed = 5.0;
|
||||
float enemy_radius = 50.0;
|
||||
float enemy_max_speed = 2.0;
|
||||
float enemy_radius = 25.0;
|
||||
Enemy enemies[100] = {};
|
||||
|
||||
Vector2 Player::center() const noexcept {
|
||||
@@ -149,6 +152,15 @@ void update_tears() {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (auto& enemy: enemies) {
|
||||
if (CheckCollisionCircles(center, tear_radius, enemy.center, enemy.radius)) {
|
||||
active = false;
|
||||
enemy.alive = false;
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
switch (direction) {
|
||||
case UP:
|
||||
center.y -= tear_speed;
|
||||
@@ -182,6 +194,10 @@ int main() {
|
||||
player.width = 50;
|
||||
player.height = 50;
|
||||
|
||||
std::string score_text_buffer{64};
|
||||
score_text_buffer.reserve(64);
|
||||
score_text_buffer.clear();
|
||||
|
||||
while (!WindowShouldClose()) {
|
||||
if (IsWindowResized()) {
|
||||
screen_height = GetScreenHeight();
|
||||
@@ -240,6 +256,10 @@ int main() {
|
||||
}
|
||||
}
|
||||
|
||||
std::format_to(std::back_inserter(score_text_buffer), "Score: {}", score);
|
||||
DrawText(score_text_buffer.c_str(), 50, screen_height - 100, 20, BLACK);
|
||||
score_text_buffer.clear();
|
||||
|
||||
EndDrawing();
|
||||
}
|
||||
CloseWindow();
|
||||
|
||||
Reference in New Issue
Block a user