2025-07-12 23:31:14 +02:00
|
|
|
#include <iostream>
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
#include <raylib.h>
|
|
|
|
#include "../define.h"
|
|
|
|
#include "../logic/player.h"
|
2025-07-16 18:31:15 +02:00
|
|
|
#include "../logic/ennemy.h"
|
2025-07-12 23:31:14 +02:00
|
|
|
#include "ui_elements.h"
|
|
|
|
#include "combat_interface.h"
|
|
|
|
|
2025-07-16 18:31:15 +02:00
|
|
|
std::vector<std::vector<float>> generate_enemies_positions(int ennemies_size_arg) {
|
|
|
|
std::vector<std::vector<float>> positions;
|
|
|
|
float spacing = 0.5f / ennemies_size_arg;
|
|
|
|
for (int i = 0; i < ennemies_size_arg; i++) {
|
|
|
|
if (i%2 == 0) {
|
|
|
|
positions.push_back({0.5f + spacing * i, 0.5f});
|
|
|
|
} else {
|
|
|
|
positions.push_back({0.5f + spacing * i, 0.25f});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return positions;
|
|
|
|
}
|
2025-07-14 14:38:08 +02:00
|
|
|
|
2025-07-16 18:31:15 +02:00
|
|
|
void create_combat_interface(Player& player_arg, std::vector<Ennemy>& ennemies_arg, const std::vector<float>& screen_arg, std::vector<Ennemy_stats>& ennemies_stats_arg) {
|
2025-07-14 14:38:08 +02:00
|
|
|
Ennemy ennemy = ennemies_arg[0];
|
2025-07-16 18:31:15 +02:00
|
|
|
std::vector<std::vector<float>> positions = generate_enemies_positions(ennemies_arg.size());
|
|
|
|
for (int i = 0; i < ennemies_arg.size(); i++) {
|
|
|
|
ennemies_stats_arg.push_back(create_ennemy_stats(ennemies_arg[i], positions[i], screen_arg));
|
|
|
|
}
|
|
|
|
}
|
2025-07-12 23:31:14 +02:00
|
|
|
|
2025-07-16 18:31:15 +02:00
|
|
|
void display_combat_interface(Player& player_arg, std::vector<Ennemy_stats>& ennemies_stats_arg, std::vector<Ennemy>& ennemies_arg) {
|
2025-07-12 23:31:14 +02:00
|
|
|
//Dessin
|
|
|
|
BeginDrawing();
|
|
|
|
ClearBackground(BLACK);
|
2025-07-16 18:31:15 +02:00
|
|
|
for (int i = 0; i < ennemies_arg.size(); i++) {
|
|
|
|
draw_ennemy_stats(ennemies_stats_arg[i], ennemies_arg[i]);
|
|
|
|
}
|
2025-07-12 23:31:14 +02:00
|
|
|
EndDrawing();
|
|
|
|
}
|