Lamthai/game/interface/combat_interface.cpp

43 lines
1.5 KiB
C++
Raw Normal View History

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 19:45:21 +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, Player_stats& player_stats_arg) {
player_stats_arg = create_player_stats(player_arg, screen_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 19:45:21 +02:00
void display_combat_interface(Player& player_arg, Player_stats& player_stats_arg, std::vector<Ennemy>& ennemies_arg, std::vector<Ennemy_stats>& ennemies_stats_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-16 19:45:21 +02:00
draw_player_stats(player_stats_arg, player_arg);
2025-07-12 23:31:14 +02:00
EndDrawing();
}