71 lines
2.1 KiB
C++
71 lines
2.1 KiB
C++
#include <iostream>
|
|
#include <raylib.h>
|
|
#include <vector>
|
|
#include "define.h"
|
|
#include "logic/player.h"
|
|
#include "logic/ennemy.h"
|
|
#include "logic/spells.h"
|
|
#include "interface/interfaces.h"
|
|
#include "logic/combat.h"
|
|
#include "interface/ui_elements.h"
|
|
|
|
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_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));
|
|
}
|
|
|
|
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 (CheckCollisionPointRec(GetMousePosition(), buttons_arg[0].rectangle)) {
|
|
buttons_arg = {};
|
|
init_combat(player_arg, ennemies_arg, screen_arg);
|
|
create_menu(buttons_arg, screen_arg);
|
|
} else if (CheckCollisionPointRec(GetMousePosition(), buttons_arg[2].rectangle)) {
|
|
game_loop_arg = 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
int main() {
|
|
InitWindow(1200, 600, "Combat Lamthaï");
|
|
//ToggleFullscreen();
|
|
std::vector<float> screen;
|
|
if(IsWindowFullscreen()) {
|
|
int monitor = GetCurrentMonitor();
|
|
screen = {(float)GetMonitorWidth(monitor), (float)GetMonitorHeight(monitor)};
|
|
} else {
|
|
screen = {(float)GetScreenWidth(), (float)GetScreenHeight()};
|
|
}
|
|
|
|
Player mage;
|
|
init_default_mage(mage);
|
|
std::vector<Ennemy> ennemies;
|
|
create_ennemies(ennemies);
|
|
|
|
SetTargetFPS(60);
|
|
|
|
std::vector<Button> buttons;
|
|
create_menu(buttons, screen);
|
|
|
|
int arg;
|
|
bool game_loop = 1;
|
|
while (game_loop && !WindowShouldClose()) {
|
|
// Gestion des actions
|
|
handle_menu(buttons, mage, ennemies, game_loop, screen);
|
|
|
|
//Dessin
|
|
BeginDrawing();
|
|
ClearBackground(BLACK);
|
|
|
|
draw_buttons(buttons);
|
|
|
|
EndDrawing();
|
|
|
|
}
|
|
// Libération des ressources
|
|
|
|
CloseWindow();
|
|
|
|
return 0;
|
|
} |