now can change capacities

This commit is contained in:
bgiraudr 2022-01-24 23:57:07 +01:00
parent a36803f8d6
commit f922b3839a
5 changed files with 40 additions and 3 deletions

View File

@ -1,2 +1,3 @@
Test capacité;5;2
Deuxième;10;3
Charge;25;2

View File

@ -33,4 +33,5 @@ struct Player {
int player_facing(struct Game const *game);
struct Player init_player(void);
void add_move(struct Player *player, struct Move move);
void draw_player_moves(struct Player *player);
void draw_player_moves(struct Player *player);
void replace_capacities(struct Player *player, struct Move move);

View File

@ -25,5 +25,5 @@ void draw_move(int x, int y, int x2, int y2, struct Move move) {
}
void draw_classic_move(int x, int y, struct Move move) {
draw_move(x, y, x+200, y+60, move);
draw_move(x, y, x+170, y+60, move);
}

View File

@ -127,6 +127,7 @@ void engine_action(struct Game const *game, int action) {
}
if(action == ACTION_F1) {
game->player->sprint = game->player->sprint ? 0 : 1;
add_move(game->player, get_move_id(2));
}
if(action == ACTION_OPTN) {
draw_stats(game->player->stats);

View File

@ -1,8 +1,11 @@
#include <gint/keyboard.h>
#include "player.h"
#include "define.h"
#include "map.h"
#include "stats.h"
#include "capacite.h"
#include "util.h"
struct Player init_player(void) {
@ -55,7 +58,7 @@ void add_move(struct Player *player, struct Move move) {
if(player->moves[1].name == NULL) {
player->moves[1] = move;
} else {
//TODO remplacer une capacité
replace_capacities(player, move);
}
}
@ -66,3 +69,34 @@ void draw_player_moves(struct Player *player) {
}
}
void replace_capacities(struct Player *player, struct Move move) {
int selection = 0;
int buffer = keydown(KEY_SHIFT);
while(1) {
clearevents();
selection += keydown(KEY_RIGHT) - keydown(KEY_LEFT);
if(selection > 1) selection = 1;
if(selection < 0) selection = 0;
draw_classic_move(115,DHEIGHT/2-65, move);
draw_classic_move(20,DHEIGHT/2+5, player->moves[0]);
draw_classic_move(210,DHEIGHT/2+5, player->moves[1]);
dtext(95 + (selection * 190), DHEIGHT/2+50 , C_RED, "[X]");
dupdate();
if(keydown(KEY_SHIFT)) {
if(buffer) buffer = 0;
else break;
}
if(keydown(KEY_EXIT)) {
selection = -1;
break;
}
while(keydown(KEY_SHIFT)) clearevents();
}
if(selection >= 0) {
player->moves[selection] = move;
}
}