update ennemy_stats
This commit is contained in:
parent
444b08c72f
commit
4bdb661051
|
@ -7,7 +7,7 @@
|
||||||
#include "ui_elements.h"
|
#include "ui_elements.h"
|
||||||
#include "combat_interface.h"
|
#include "combat_interface.h"
|
||||||
|
|
||||||
void display_combat_interface(Player& player_arg, std::vector<Ennemy>& ennemies_arg, const std::vector<int>& screen_arg) {
|
void display_combat_interface(Player& player_arg, std::vector<Ennemy>& ennemies_arg, const std::vector<float>& screen_arg) {
|
||||||
|
|
||||||
Ennemy ennemy = ennemies_arg[0];
|
Ennemy ennemy = ennemies_arg[0];
|
||||||
std::vector<float> position = {0.5f, 0.5f};
|
std::vector<float> position = {0.5f, 0.5f};
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
|
|
||||||
void display_combat_interface(Player& player_arg, std::vector<Ennemy>& ennemies_arg, const std::vector<int>& screen_arg);
|
void display_combat_interface(Player& player_arg, std::vector<Ennemy>& ennemies_arg, const std::vector<float>& screen_arg);
|
|
@ -5,7 +5,7 @@
|
||||||
#include "../define.h"
|
#include "../define.h"
|
||||||
#include "ui_elements.h"
|
#include "ui_elements.h"
|
||||||
|
|
||||||
Button create_button(Button_types type_arg, Button_sizes size_arg, const std::vector<float>& position_arg, std::string text_arg, const std::vector<int>& screen_arg) {
|
Button create_button(Button_types type_arg, Button_sizes size_arg, const std::vector<float>& position_arg, std::string text_arg, const std::vector<float>& screen_arg) {
|
||||||
std::vector<float> size = button_size(size_arg, screen_arg);
|
std::vector<float> size = button_size(size_arg, screen_arg);
|
||||||
float position_x = screen_arg[0] * position_arg[0] - size[0] / 2;
|
float position_x = screen_arg[0] * position_arg[0] - size[0] / 2;
|
||||||
float position_y = screen_arg[1] * position_arg[1] - size[1] / 2;
|
float position_y = screen_arg[1] * position_arg[1] - size[1] / 2;
|
||||||
|
@ -55,7 +55,7 @@ void draw_buttons(const std::vector<Button>& buttons_arg) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<float> button_size(Button_sizes size_arg, const std::vector<int>& screen_arg) {
|
std::vector<float> button_size(Button_sizes size_arg, const std::vector<float>& screen_arg) {
|
||||||
std::vector<float> size;
|
std::vector<float> size;
|
||||||
switch(size_arg) {
|
switch(size_arg) {
|
||||||
case BUTTON_BIG:
|
case BUTTON_BIG:
|
||||||
|
@ -113,11 +113,11 @@ Color type_color(Stats type_arg) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Bar create_bar(Stats type_arg, int& max_arg, int& actual_arg, const std::vector<float>& position_arg, const std::vector<int>& container_arg) {
|
Bar create_bar(Stats type_arg, int& max_arg, int& actual_arg, const std::vector<float>& position_arg, const Rectangle& container_arg) {
|
||||||
float width = 150.0f;
|
float width = container_arg.width * 0.9f;
|
||||||
float height = 15.0f;
|
float height = container_arg.height * 0.15f;
|
||||||
float position_x = container_arg[0] * position_arg[0] - width / 2;
|
float position_x = container_arg.width * position_arg[0] + container_arg.x - width / 2;
|
||||||
float position_y = container_arg[1] * position_arg[1] - height / 2;
|
float position_y = container_arg.height * position_arg[1] + container_arg.y - height / 2;
|
||||||
Rectangle complete = {position_x, position_y, width, height};
|
Rectangle complete = {position_x, position_y, width, height};
|
||||||
|
|
||||||
float progression_width = (width - 2.0f) * ((float)actual_arg / max_arg);
|
float progression_width = (width - 2.0f) * ((float)actual_arg / max_arg);
|
||||||
|
@ -125,10 +125,10 @@ Bar create_bar(Stats type_arg, int& max_arg, int& actual_arg, const std::vector<
|
||||||
Rectangle progression = {position_x+1, position_y+1, progression_width, progression_heigth};
|
Rectangle progression = {position_x+1, position_y+1, progression_width, progression_heigth};
|
||||||
|
|
||||||
Font font = GetFontDefault();
|
Font font = GetFontDefault();
|
||||||
float font_size = 10.0f;
|
float font_size = container_arg.height * 0.12f;
|
||||||
std::string value = std::to_string(actual_arg) + "/" + std::to_string(max_arg);
|
std::string value = std::to_string(actual_arg) + "/" + std::to_string(max_arg);
|
||||||
float text_x = container_arg[0] * position_arg[0] - MeasureText(value.c_str(), font_size) / 2;
|
float text_x = container_arg.width * position_arg[0] + container_arg.x - MeasureText(value.c_str(), font_size) / 2;
|
||||||
float text_y = container_arg[1] * position_arg[1] - font_size / 2;
|
float text_y = container_arg.height * position_arg[1] + container_arg.y - font_size / 2;
|
||||||
Text text = {font, value, Vector2{text_x, text_y}, font_size, 2.0f, WHITE};
|
Text text = {font, value, Vector2{text_x, text_y}, font_size, 2.0f, WHITE};
|
||||||
Color color = type_color(type_arg);
|
Color color = type_color(type_arg);
|
||||||
|
|
||||||
|
@ -141,8 +141,8 @@ void draw_bar(const Bar& bar_arg) {
|
||||||
draw_text(bar_arg.text);
|
draw_text(bar_arg.text);
|
||||||
}
|
}
|
||||||
|
|
||||||
Ennemy_stats create_ennemy_stats(Ennemy& ennemy_arg, const std::vector<float>& position_arg, const std::vector<int>& container_arg) {
|
Ennemy_stats create_ennemy_stats(Ennemy& ennemy_arg, const std::vector<float>& position_arg, const std::vector<float>& container_arg) {
|
||||||
std::vector<float> size = {container_arg[0] * 0.2f, container_arg[1] * 0.1f};
|
std::vector<float> size = {container_arg[0] * 0.1f, container_arg[1] * 0.15f};
|
||||||
float position_x = container_arg[0] * position_arg[0] - size[0] / 2;
|
float position_x = container_arg[0] * position_arg[0] - size[0] / 2;
|
||||||
float position_y = container_arg[1] * position_arg[1] - size[1] / 2;
|
float position_y = container_arg[1] * position_arg[1] - size[1] / 2;
|
||||||
Rectangle card = {position_x, position_y, size[0], size[1]};
|
Rectangle card = {position_x, position_y, size[0], size[1]};
|
||||||
|
@ -150,7 +150,9 @@ Ennemy_stats create_ennemy_stats(Ennemy& ennemy_arg, const std::vector<float>& p
|
||||||
Font font = GetFontDefault();
|
Font font = GetFontDefault();
|
||||||
float font_size = 15.0f;
|
float font_size = 15.0f;
|
||||||
std::string value = ennemy_arg.name;
|
std::string value = ennemy_arg.name;
|
||||||
Vector2 text_position = {50.f, 0.0f};
|
float text_x = size[0] * 0.5f + position_x - MeasureText(value.c_str(), font_size) / 2;
|
||||||
|
float text_y = size[1] * 0.1f + position_y - font_size / 2;
|
||||||
|
Vector2 text_position = {text_x, text_y};
|
||||||
Text name = {font, value, text_position, font_size, 2.0f, YELLOW};
|
Text name = {font, value, text_position, font_size, 2.0f, YELLOW};
|
||||||
|
|
||||||
text_position.x += MeasureText(value.c_str(), font_size) + value.size() * 2;
|
text_position.x += MeasureText(value.c_str(), font_size) + value.size() * 2;
|
||||||
|
@ -163,10 +165,10 @@ Ennemy_stats create_ennemy_stats(Ennemy& ennemy_arg, const std::vector<float>& p
|
||||||
std::vector<float> speed_position = {0.5f, 0.7f};
|
std::vector<float> speed_position = {0.5f, 0.7f};
|
||||||
std::vector<float> tame_position = {0.5f, 0.9f};
|
std::vector<float> tame_position = {0.5f, 0.9f};
|
||||||
|
|
||||||
Bar health = create_bar(HEALTH, ennemy_arg.max_health, ennemy_arg.health, health_position, container_arg);
|
Bar health = create_bar(HEALTH, ennemy_arg.max_health, ennemy_arg.health, health_position, card);
|
||||||
Bar shield = create_bar(SHIELD, ennemy_arg.max_shield, ennemy_arg.shield, shield_position, container_arg);
|
Bar shield = create_bar(SHIELD, ennemy_arg.max_shield, ennemy_arg.shield, shield_position, card);
|
||||||
Bar speed = create_bar(SPEED, ennemy_arg.max_speed, ennemy_arg.speed, speed_position, container_arg);
|
Bar speed = create_bar(SPEED, ennemy_arg.max_speed, ennemy_arg.speed, speed_position, card);
|
||||||
Bar tame = create_bar(TAME, ennemy_arg.max_tame, ennemy_arg.tame, tame_position, container_arg);
|
Bar tame = create_bar(TAME, ennemy_arg.max_tame, ennemy_arg.tame, tame_position, card);
|
||||||
|
|
||||||
return Ennemy_stats{card, name, level, health, shield, speed, tame};
|
return Ennemy_stats{card, name, level, health, shield, speed, tame};
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,16 +26,16 @@ struct Ennemy_stats {
|
||||||
Bar health, shield, speed, tame;
|
Bar health, shield, speed, tame;
|
||||||
};
|
};
|
||||||
|
|
||||||
Button create_button(Button_types type_arg, Button_sizes size_arg, const std::vector<float>& position_arg, std::string text_arg, const std::vector<int>& screen_arg);
|
Button create_button(Button_types type_arg, Button_sizes size_arg, const std::vector<float>& position_arg, std::string text_arg, const std::vector<float>& screen_arg);
|
||||||
void draw_buttons(const std::vector<Button>& buttons_arg);
|
void draw_buttons(const std::vector<Button>& buttons_arg);
|
||||||
std::vector<float> button_size(Button_sizes size_arg, const std::vector<int>& screen_arg);
|
std::vector<float> button_size(Button_sizes size_arg, const std::vector<float>& screen_arg);
|
||||||
float text_size(Button_sizes size_arg);
|
float text_size(Button_sizes size_arg);
|
||||||
Color type_color(Stats type_arg);
|
Color type_color(Stats type_arg);
|
||||||
|
|
||||||
Bar create_bar(Stats type_arg, int& max_arg, int& actual_arg, const std::vector<float>& position_arg, const std::vector<int>& container_arg);
|
Bar create_bar(Stats type_arg, int& max_arg, int& actual_arg, const std::vector<float>& position_arg, const std::vector<float>& container_arg);
|
||||||
void draw_bar(const Bar& bar_arg);
|
void draw_bar(const Bar& bar_arg);
|
||||||
|
|
||||||
Ennemy_stats create_ennemy_stats(Ennemy& ennemy_arg, const std::vector<float>& position_arg, const std::vector<int>& container_arg);
|
Ennemy_stats create_ennemy_stats(Ennemy& ennemy_arg, const std::vector<float>& position_arg, const std::vector<float>& container_arg);
|
||||||
void draw_ennemy_stats(const Ennemy_stats& ennemy_stats_arg);
|
void draw_ennemy_stats(const Ennemy_stats& ennemy_stats_arg);
|
||||||
|
|
||||||
void draw_text(const Text& text_arg);
|
void draw_text(const Text& text_arg);
|
|
@ -9,7 +9,7 @@
|
||||||
#include "../interface/combat_interface.h"
|
#include "../interface/combat_interface.h"
|
||||||
#include "combat.h"
|
#include "combat.h"
|
||||||
|
|
||||||
void init_combat(Player& player_arg, std::vector<Ennemy> ennemies_arg, const std::vector<int>& screen_arg) {
|
void init_combat(Player& player_arg, std::vector<Ennemy> ennemies_arg, const std::vector<float>& screen_arg) {
|
||||||
std::vector<Ennemy> ennemies;
|
std::vector<Ennemy> ennemies;
|
||||||
ennemies.push_back(ennemies_arg[1]);
|
ennemies.push_back(ennemies_arg[1]);
|
||||||
ennemies.push_back(ennemies_arg[2]);
|
ennemies.push_back(ennemies_arg[2]);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
void init_combat(Player& player_arg, std::vector<Ennemy> ennemies_arg, const std::vector<int>& screen_arg);
|
void init_combat(Player& player_arg, std::vector<Ennemy> ennemies_arg, const std::vector<float>& screen_arg);
|
||||||
void combat(Player& player_arg, std::vector<Ennemy>& ennemies_arg);
|
void combat(Player& player_arg, std::vector<Ennemy>& ennemies_arg);
|
||||||
|
|
||||||
void check_deads(Player& player_arg, std::vector<Ennemy>& ennemies_arg, bool& combat_loop);
|
void check_deads(Player& player_arg, std::vector<Ennemy>& ennemies_arg, bool& combat_loop);
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
#include "logic/combat.h"
|
#include "logic/combat.h"
|
||||||
#include "interface/ui_elements.h"
|
#include "interface/ui_elements.h"
|
||||||
|
|
||||||
void create_menu(std::vector<Button>& buttons_arg, const std::vector<int>& screen_arg) {
|
void create_menu(std::vector<Button>& buttons_arg, const std::vector<float>& screen_arg) {
|
||||||
buttons_arg.push_back(create_button(BUTTON_BASIC, BUTTON_BIG, std::vector<float>{0.5, 0.5}, "Play", screen_arg));
|
buttons_arg.push_back(create_button(BUTTON_BASIC, BUTTON_BIG, std::vector<float>{0.5, 0.5}, "Play", screen_arg));
|
||||||
buttons_arg.push_back(create_button(BUTTON_INACTIVE, BUTTON_MEDIUM, std::vector<float>{0.5, 0.6}, "Options", screen_arg));
|
buttons_arg.push_back(create_button(BUTTON_INACTIVE, BUTTON_MEDIUM, std::vector<float>{0.5, 0.6}, "Options", screen_arg));
|
||||||
buttons_arg.push_back(create_button(BUTTON_DANGER, BUTTON_MEDIUM, std::vector<float>{0.5, 0.7}, "Quit", screen_arg));
|
buttons_arg.push_back(create_button(BUTTON_DANGER, BUTTON_MEDIUM, std::vector<float>{0.5, 0.7}, "Quit", screen_arg));
|
||||||
}
|
}
|
||||||
|
|
||||||
void handle_menu(std::vector<Button>& buttons_arg, Player& player_arg, std::vector<Ennemy>& ennemies_arg, bool& game_loop_arg, const std::vector<int>& screen_arg) {
|
void handle_menu(std::vector<Button>& buttons_arg, Player& player_arg, std::vector<Ennemy>& ennemies_arg, bool& game_loop_arg, const std::vector<float>& screen_arg) {
|
||||||
if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) {
|
if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) {
|
||||||
if (CheckCollisionPointRec(GetMousePosition(), buttons_arg[0].rectangle)) {
|
if (CheckCollisionPointRec(GetMousePosition(), buttons_arg[0].rectangle)) {
|
||||||
buttons_arg = {};
|
buttons_arg = {};
|
||||||
|
@ -28,14 +28,14 @@ void handle_menu(std::vector<Button>& buttons_arg, Player& player_arg, std::vect
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
InitWindow(300, 233, "Combat Lamthaï");
|
InitWindow(1200, 600, "Combat Lamthaï");
|
||||||
ToggleFullscreen();
|
ToggleFullscreen();
|
||||||
std::vector<int> screen;
|
std::vector<float> screen;
|
||||||
if(IsWindowFullscreen()) {
|
if(IsWindowFullscreen()) {
|
||||||
int monitor = GetCurrentMonitor();
|
int monitor = GetCurrentMonitor();
|
||||||
screen = {GetMonitorWidth(monitor), GetMonitorHeight(monitor)};
|
screen = {(float)GetMonitorWidth(monitor), (float)GetMonitorHeight(monitor)};
|
||||||
} else {
|
} else {
|
||||||
screen = {GetScreenWidth(), GetScreenHeight()};
|
screen = {(float)GetScreenWidth(), (float)GetScreenHeight()};
|
||||||
}
|
}
|
||||||
|
|
||||||
Player mage;
|
Player mage;
|
||||||
|
|
Loading…
Reference in New Issue