mirror of https://github.com/bgiraudr/Adoranda.git
begin stats
This commit is contained in:
parent
9ef1c5daf8
commit
bb32aef7ad
|
@ -40,6 +40,8 @@ set(SOURCES
|
|||
src/player.c
|
||||
src/util.c
|
||||
src/animation.c
|
||||
src/battle.c
|
||||
src/stats.c
|
||||
)
|
||||
|
||||
set(ASSETS_cg
|
||||
|
|
|
@ -16,6 +16,7 @@ def convert_map(input, output, params, target):
|
|||
TILE_DOOR_OUT = 3
|
||||
TILE_TALKABLE = 4
|
||||
TILE_TELEPORTER = 5
|
||||
TILE_GRASS = 6
|
||||
|
||||
DIALOG_LAYOUT = "dialog"
|
||||
TELEPORTER_LAYOUT = "teleporter"
|
||||
|
@ -56,6 +57,8 @@ def convert_map(input, output, params, target):
|
|||
value = TILE_BRIDGE
|
||||
elif type == "teleporter":
|
||||
value = TILE_TELEPORTER
|
||||
elif type == "grass":
|
||||
value = TILE_GRASS
|
||||
else:
|
||||
value = TILE_AIR
|
||||
|
||||
|
|
|
@ -4,21 +4,6 @@
|
|||
<export target="tileset.json" format="json"/>
|
||||
</editorsettings>
|
||||
<image source="../tileset.png" width="464" height="256"/>
|
||||
<tile id="0"/>
|
||||
<tile id="1"/>
|
||||
<tile id="2"/>
|
||||
<tile id="3"/>
|
||||
<tile id="4"/>
|
||||
<tile id="5"/>
|
||||
<tile id="6"/>
|
||||
<tile id="7"/>
|
||||
<tile id="8"/>
|
||||
<tile id="9"/>
|
||||
<tile id="10"/>
|
||||
<tile id="11"/>
|
||||
<tile id="12"/>
|
||||
<tile id="13"/>
|
||||
<tile id="14"/>
|
||||
<tile id="15" type="solid"/>
|
||||
<tile id="16" type="solid"/>
|
||||
<tile id="17" type="solid"/>
|
||||
|
@ -30,211 +15,48 @@
|
|||
<tile id="23" type="solid"/>
|
||||
<tile id="24" type="solid"/>
|
||||
<tile id="25" type="solid"/>
|
||||
<tile id="26"/>
|
||||
<tile id="27"/>
|
||||
<tile id="28"/>
|
||||
<tile id="29"/>
|
||||
<tile id="30"/>
|
||||
<tile id="31"/>
|
||||
<tile id="32"/>
|
||||
<tile id="33"/>
|
||||
<tile id="34"/>
|
||||
<tile id="35"/>
|
||||
<tile id="36"/>
|
||||
<tile id="37"/>
|
||||
<tile id="38"/>
|
||||
<tile id="39"/>
|
||||
<tile id="40"/>
|
||||
<tile id="41"/>
|
||||
<tile id="42"/>
|
||||
<tile id="43"/>
|
||||
<tile id="44" type="solid"/>
|
||||
<tile id="45" type="solid"/>
|
||||
<tile id="46" type="solid"/>
|
||||
<tile id="47" type="solid"/>
|
||||
<tile id="48" type="talkable"/>
|
||||
<tile id="49" type="talkable"/>
|
||||
<tile id="50"/>
|
||||
<tile id="51"/>
|
||||
<tile id="52" type="solid"/>
|
||||
<tile id="53" type="solid"/>
|
||||
<tile id="54" type="solid"/>
|
||||
<tile id="55"/>
|
||||
<tile id="56" type="talkable"/>
|
||||
<tile id="57" type="talkable"/>
|
||||
<tile id="58"/>
|
||||
<tile id="59"/>
|
||||
<tile id="60"/>
|
||||
<tile id="61"/>
|
||||
<tile id="62"/>
|
||||
<tile id="63"/>
|
||||
<tile id="64"/>
|
||||
<tile id="65"/>
|
||||
<tile id="66"/>
|
||||
<tile id="67"/>
|
||||
<tile id="68"/>
|
||||
<tile id="69"/>
|
||||
<tile id="70"/>
|
||||
<tile id="71"/>
|
||||
<tile id="72"/>
|
||||
<tile id="73"/>
|
||||
<tile id="74"/>
|
||||
<tile id="75"/>
|
||||
<tile id="76"/>
|
||||
<tile id="77"/>
|
||||
<tile id="78" type="solid"/>
|
||||
<tile id="79" type="solid"/>
|
||||
<tile id="80" type="solid"/>
|
||||
<tile id="81" type="solid"/>
|
||||
<tile id="82" type="solid"/>
|
||||
<tile id="83" type="solid"/>
|
||||
<tile id="84"/>
|
||||
<tile id="85"/>
|
||||
<tile id="86"/>
|
||||
<tile id="87"/>
|
||||
<tile id="88"/>
|
||||
<tile id="89"/>
|
||||
<tile id="90"/>
|
||||
<tile id="91"/>
|
||||
<tile id="92"/>
|
||||
<tile id="93"/>
|
||||
<tile id="94"/>
|
||||
<tile id="95"/>
|
||||
<tile id="96"/>
|
||||
<tile id="97"/>
|
||||
<tile id="98"/>
|
||||
<tile id="99"/>
|
||||
<tile id="100"/>
|
||||
<tile id="101"/>
|
||||
<tile id="102"/>
|
||||
<tile id="103"/>
|
||||
<tile id="104"/>
|
||||
<tile id="105"/>
|
||||
<tile id="106"/>
|
||||
<tile id="107" type="solid"/>
|
||||
<tile id="108"/>
|
||||
<tile id="109" type="solid"/>
|
||||
<tile id="110" type="solid"/>
|
||||
<tile id="111"/>
|
||||
<tile id="112" type="solid"/>
|
||||
<tile id="113"/>
|
||||
<tile id="114"/>
|
||||
<tile id="115"/>
|
||||
<tile id="116"/>
|
||||
<tile id="117"/>
|
||||
<tile id="118"/>
|
||||
<tile id="119"/>
|
||||
<tile id="120"/>
|
||||
<tile id="121"/>
|
||||
<tile id="122"/>
|
||||
<tile id="123"/>
|
||||
<tile id="124"/>
|
||||
<tile id="125"/>
|
||||
<tile id="126"/>
|
||||
<tile id="127"/>
|
||||
<tile id="128"/>
|
||||
<tile id="129"/>
|
||||
<tile id="130"/>
|
||||
<tile id="131"/>
|
||||
<tile id="132"/>
|
||||
<tile id="133"/>
|
||||
<tile id="134"/>
|
||||
<tile id="135"/>
|
||||
<tile id="136" type="solid"/>
|
||||
<tile id="137" type="solid"/>
|
||||
<tile id="138" type="solid"/>
|
||||
<tile id="139" type="solid"/>
|
||||
<tile id="140" type="solid"/>
|
||||
<tile id="141" type="solid"/>
|
||||
<tile id="142"/>
|
||||
<tile id="143"/>
|
||||
<tile id="144"/>
|
||||
<tile id="145"/>
|
||||
<tile id="146"/>
|
||||
<tile id="147"/>
|
||||
<tile id="148"/>
|
||||
<tile id="149"/>
|
||||
<tile id="150"/>
|
||||
<tile id="151"/>
|
||||
<tile id="152"/>
|
||||
<tile id="153"/>
|
||||
<tile id="154"/>
|
||||
<tile id="155"/>
|
||||
<tile id="156"/>
|
||||
<tile id="157"/>
|
||||
<tile id="158"/>
|
||||
<tile id="159"/>
|
||||
<tile id="160"/>
|
||||
<tile id="161"/>
|
||||
<tile id="162"/>
|
||||
<tile id="163"/>
|
||||
<tile id="164"/>
|
||||
<tile id="165" type="solid"/>
|
||||
<tile id="166"/>
|
||||
<tile id="167" type="solid"/>
|
||||
<tile id="168" type="solid"/>
|
||||
<tile id="169" type="solid"/>
|
||||
<tile id="170" type="solid"/>
|
||||
<tile id="171"/>
|
||||
<tile id="172"/>
|
||||
<tile id="173"/>
|
||||
<tile id="174"/>
|
||||
<tile id="175"/>
|
||||
<tile id="176"/>
|
||||
<tile id="177"/>
|
||||
<tile id="178"/>
|
||||
<tile id="179"/>
|
||||
<tile id="180"/>
|
||||
<tile id="181"/>
|
||||
<tile id="182"/>
|
||||
<tile id="183"/>
|
||||
<tile id="184"/>
|
||||
<tile id="185"/>
|
||||
<tile id="186"/>
|
||||
<tile id="187"/>
|
||||
<tile id="188"/>
|
||||
<tile id="189"/>
|
||||
<tile id="190"/>
|
||||
<tile id="191"/>
|
||||
<tile id="192"/>
|
||||
<tile id="193"/>
|
||||
<tile id="194" type="solid"/>
|
||||
<tile id="195"/>
|
||||
<tile id="196" type="solid"/>
|
||||
<tile id="197" type="solid"/>
|
||||
<tile id="198"/>
|
||||
<tile id="199" type="solid"/>
|
||||
<tile id="200" type="bridge"/>
|
||||
<tile id="201" type="bridge"/>
|
||||
<tile id="202" type="bridge"/>
|
||||
<tile id="203"/>
|
||||
<tile id="204"/>
|
||||
<tile id="205"/>
|
||||
<tile id="206"/>
|
||||
<tile id="207"/>
|
||||
<tile id="208"/>
|
||||
<tile id="209"/>
|
||||
<tile id="210"/>
|
||||
<tile id="211"/>
|
||||
<tile id="212"/>
|
||||
<tile id="213"/>
|
||||
<tile id="214"/>
|
||||
<tile id="215"/>
|
||||
<tile id="216"/>
|
||||
<tile id="217"/>
|
||||
<tile id="218"/>
|
||||
<tile id="219"/>
|
||||
<tile id="220"/>
|
||||
<tile id="221"/>
|
||||
<tile id="222"/>
|
||||
<tile id="223" type="solid"/>
|
||||
<tile id="224" type="solid"/>
|
||||
<tile id="225" type="solid"/>
|
||||
<tile id="226"/>
|
||||
<tile id="227"/>
|
||||
<tile id="228"/>
|
||||
<tile id="229"/>
|
||||
<tile id="230"/>
|
||||
<tile id="231" type="bridge"/>
|
||||
<tile id="232" type="solid"/>
|
||||
<tile id="233" type="solid"/>
|
||||
|
@ -262,9 +84,6 @@
|
|||
<tile id="255" type="bridge"/>
|
||||
<tile id="256" type="bridge"/>
|
||||
<tile id="257" type="solid"/>
|
||||
<tile id="258"/>
|
||||
<tile id="259"/>
|
||||
<tile id="260"/>
|
||||
<tile id="261" type="solid"/>
|
||||
<tile id="262" type="solid"/>
|
||||
<tile id="263" type="solid"/>
|
||||
|
@ -276,7 +95,6 @@
|
|||
<property name="text" value=""/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="267"/>
|
||||
<tile id="268" type="solid"/>
|
||||
<tile id="269" type="solid"/>
|
||||
<tile id="270" type="solid"/>
|
||||
|
@ -296,27 +114,19 @@
|
|||
<tile id="284" type="bridge"/>
|
||||
<tile id="285" type="bridge"/>
|
||||
<tile id="286" type="solid"/>
|
||||
<tile id="287"/>
|
||||
<tile id="288"/>
|
||||
<tile id="289"/>
|
||||
<tile id="290" type="solid"/>
|
||||
<tile id="291" type="solid"/>
|
||||
<tile id="292" type="solid"/>
|
||||
<tile id="293"/>
|
||||
<tile id="294"/>
|
||||
<tile id="295"/>
|
||||
<tile id="296"/>
|
||||
<tile id="293" type="grass"/>
|
||||
<tile id="294" type="grass"/>
|
||||
<tile id="297" type="solid"/>
|
||||
<tile id="298" type="solid"/>
|
||||
<tile id="299" type="solid"/>
|
||||
<tile id="300"/>
|
||||
<tile id="301" type="solid"/>
|
||||
<tile id="302" type="solid"/>
|
||||
<tile id="303" type="solid"/>
|
||||
<tile id="304" type="solid"/>
|
||||
<tile id="305" type="solid"/>
|
||||
<tile id="306"/>
|
||||
<tile id="307"/>
|
||||
<tile id="308" type="solid"/>
|
||||
<tile id="309" type="bridge"/>
|
||||
<tile id="310" type="bridge"/>
|
||||
|
@ -325,9 +135,6 @@
|
|||
<tile id="313" type="bridge"/>
|
||||
<tile id="314" type="bridge"/>
|
||||
<tile id="315" type="solid"/>
|
||||
<tile id="316"/>
|
||||
<tile id="317"/>
|
||||
<tile id="318"/>
|
||||
<tile id="319" type="solid"/>
|
||||
<tile id="320" type="solid"/>
|
||||
<tile id="321" type="solid"/>
|
||||
|
@ -346,7 +153,6 @@
|
|||
<tile id="334" type="solid"/>
|
||||
<tile id="335" type="solid"/>
|
||||
<tile id="336" type="solid"/>
|
||||
<tile id="337"/>
|
||||
<tile id="338" type="solid"/>
|
||||
<tile id="339" type="solid"/>
|
||||
<tile id="340" type="solid"/>
|
||||
|
@ -354,9 +160,6 @@
|
|||
<tile id="342" type="bridge"/>
|
||||
<tile id="343" type="bridge"/>
|
||||
<tile id="344" type="solid"/>
|
||||
<tile id="345"/>
|
||||
<tile id="346"/>
|
||||
<tile id="347"/>
|
||||
<tile id="348" type="solid"/>
|
||||
<tile id="349" type="solid"/>
|
||||
<tile id="350" type="solid"/>
|
||||
|
@ -375,17 +178,6 @@
|
|||
<tile id="363" type="solid"/>
|
||||
<tile id="364" type="solid"/>
|
||||
<tile id="365" type="solid"/>
|
||||
<tile id="366"/>
|
||||
<tile id="367"/>
|
||||
<tile id="368"/>
|
||||
<tile id="369"/>
|
||||
<tile id="370"/>
|
||||
<tile id="371"/>
|
||||
<tile id="372"/>
|
||||
<tile id="373"/>
|
||||
<tile id="374"/>
|
||||
<tile id="375"/>
|
||||
<tile id="376"/>
|
||||
<tile id="377" type="solid"/>
|
||||
<tile id="378" type="solid"/>
|
||||
<tile id="379" type="solid"/>
|
||||
|
@ -404,75 +196,18 @@
|
|||
<tile id="392" type="solid"/>
|
||||
<tile id="393" type="solid"/>
|
||||
<tile id="394" type="solid"/>
|
||||
<tile id="395"/>
|
||||
<tile id="396"/>
|
||||
<tile id="397"/>
|
||||
<tile id="398"/>
|
||||
<tile id="399"/>
|
||||
<tile id="400"/>
|
||||
<tile id="401"/>
|
||||
<tile id="402"/>
|
||||
<tile id="403"/>
|
||||
<tile id="404"/>
|
||||
<tile id="405"/>
|
||||
<tile id="406"/>
|
||||
<tile id="407"/>
|
||||
<tile id="408"/>
|
||||
<tile id="409"/>
|
||||
<tile id="410"/>
|
||||
<tile id="411"/>
|
||||
<tile id="412" type="solid"/>
|
||||
<tile id="413" type="door_in"/>
|
||||
<tile id="414" type="solid"/>
|
||||
<tile id="415" type="solid"/>
|
||||
<tile id="416"/>
|
||||
<tile id="417"/>
|
||||
<tile id="418"/>
|
||||
<tile id="419"/>
|
||||
<tile id="420" type="solid"/>
|
||||
<tile id="421" type="solid"/>
|
||||
<tile id="422" type="solid"/>
|
||||
<tile id="423" type="solid"/>
|
||||
<tile id="424"/>
|
||||
<tile id="425"/>
|
||||
<tile id="426"/>
|
||||
<tile id="427"/>
|
||||
<tile id="428"/>
|
||||
<tile id="429"/>
|
||||
<tile id="430"/>
|
||||
<tile id="431"/>
|
||||
<tile id="432"/>
|
||||
<tile id="433"/>
|
||||
<tile id="434"/>
|
||||
<tile id="435"/>
|
||||
<tile id="436"/>
|
||||
<tile id="437"/>
|
||||
<tile id="438"/>
|
||||
<tile id="439"/>
|
||||
<tile id="440"/>
|
||||
<tile id="441"/>
|
||||
<tile id="442"/>
|
||||
<tile id="443"/>
|
||||
<tile id="444"/>
|
||||
<tile id="445"/>
|
||||
<tile id="446"/>
|
||||
<tile id="447"/>
|
||||
<tile id="448"/>
|
||||
<tile id="449" type="solid"/>
|
||||
<tile id="450" type="door_in"/>
|
||||
<tile id="451" type="solid"/>
|
||||
<tile id="452" type="solid"/>
|
||||
<tile id="453"/>
|
||||
<tile id="454"/>
|
||||
<tile id="455"/>
|
||||
<tile id="456"/>
|
||||
<tile id="457"/>
|
||||
<tile id="458"/>
|
||||
<tile id="459"/>
|
||||
<tile id="460"/>
|
||||
<tile id="461"/>
|
||||
<tile id="462"/>
|
||||
<tile id="463"/>
|
||||
<wangsets>
|
||||
<wangset name="Herbe" type="corner" tile="-1">
|
||||
<wangcolor name="Herbe" color="#ff0000" tile="0" probability="1"/>
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
#pragma once
|
||||
#include "player.h"
|
||||
|
||||
void create_battle(struct Player *player);
|
|
@ -19,7 +19,8 @@ enum action {
|
|||
DIR_RIGHT = 3,
|
||||
ACTION_SHIFT = 4,
|
||||
ACTION_ALPHA = 5,
|
||||
ACTION_F1 = 6
|
||||
ACTION_F1 = 6,
|
||||
ACTION_OPTN = 7
|
||||
};
|
||||
|
||||
/*get the input with a timeout*/
|
||||
|
|
|
@ -30,6 +30,7 @@ enum map_state {
|
|||
TILE_DOOR_OUT = 3,
|
||||
TILE_TALKABLE = 4,
|
||||
TILE_TELEPORTER = 5,
|
||||
TILE_GRASS = 6,
|
||||
};
|
||||
|
||||
/*check if a tile is walkable*/
|
||||
|
|
|
@ -2,12 +2,15 @@
|
|||
#include "animation.h"
|
||||
#include "engine.h"
|
||||
#include "vec2.h"
|
||||
#include "stats.h"
|
||||
|
||||
struct Player {
|
||||
/*current position of the player on the map - Tile*/
|
||||
struct Vec2 pos;
|
||||
/*current position of the player on the map - pixels */
|
||||
struct Vec2f pos_visual;
|
||||
|
||||
struct Stats stats;
|
||||
/*player mid - offset pixels*/
|
||||
int x_mid, y_mid;
|
||||
/*the direction the player facing to*/
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
#pragma once
|
||||
|
||||
struct Stats {
|
||||
int atk;
|
||||
int def;
|
||||
int pv;
|
||||
int level;
|
||||
int xp;
|
||||
};
|
||||
|
||||
void draw_stats(struct Stats stats);
|
|
@ -0,0 +1,10 @@
|
|||
#include <gint/display.h>
|
||||
#include <gint/keyboard.h>
|
||||
|
||||
#include "engine.h"
|
||||
#include "battle.h"
|
||||
#include "util.h"
|
||||
|
||||
void create_battle(struct Player *player) {
|
||||
player->stats.level++;
|
||||
}
|
|
@ -10,6 +10,7 @@
|
|||
#include "talkable.h"
|
||||
#include "camera.h"
|
||||
#include "vec2.h"
|
||||
#include "battle.h"
|
||||
|
||||
/*draw the current state of the game*/
|
||||
void engine_draw(struct Game const *game) {
|
||||
|
@ -125,6 +126,9 @@ void engine_action(struct Game const *game, int action) {
|
|||
if(action == ACTION_F1) {
|
||||
game->player->sprint = game->player->sprint ? 0 : 1;
|
||||
}
|
||||
if(action == ACTION_OPTN) {
|
||||
draw_stats(game->player->stats);
|
||||
}
|
||||
}
|
||||
|
||||
/*check the current position of the player. To perform action depends of his location*/
|
||||
|
@ -155,6 +159,9 @@ void engine_check_position(struct Game *game) {
|
|||
}
|
||||
engine_center_camera(game);
|
||||
}
|
||||
if(player_curr_tile == TILE_GRASS) {
|
||||
create_battle(game->player);
|
||||
}
|
||||
}
|
||||
|
||||
void engine_center_camera(struct Game *game) {
|
||||
|
|
|
@ -39,5 +39,6 @@ int get_inputs(void) {
|
|||
if(key == KEY_SHIFT) return ACTION_SHIFT;
|
||||
if(key == KEY_ALPHA) return ACTION_ALPHA;
|
||||
if(key == KEY_F1) return ACTION_F1;
|
||||
if(key == KEY_OPTN) return ACTION_OPTN;
|
||||
}
|
||||
}
|
||||
|
|
11
src/player.c
11
src/player.c
|
@ -1,11 +1,22 @@
|
|||
#include "player.h"
|
||||
#include "define.h"
|
||||
#include "map.h"
|
||||
#include "stats.h"
|
||||
|
||||
struct Player init_player(void) {
|
||||
|
||||
struct Stats stats = {
|
||||
.atk = 1,
|
||||
.def = 1,
|
||||
.level = 1,
|
||||
.pv = 10,
|
||||
.xp = 0
|
||||
};
|
||||
|
||||
struct Player player = {
|
||||
.pos = VEC2(32, 30),
|
||||
.pos_visual = VEC2F(32*TILE_SIZE, 30*TILE_SIZE),
|
||||
.stats = stats,
|
||||
.x_mid = 6,
|
||||
.y_mid = 1,
|
||||
.show_x = 12,
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
#include <gint/display.h>
|
||||
#include <gint/keyboard.h>
|
||||
|
||||
#include "stats.h"
|
||||
#include "util.h"
|
||||
|
||||
void draw_stats(struct Stats stats) {
|
||||
drect(DWIDTH-110,0,DWIDTH,DHEIGHT,C_WHITE);
|
||||
dprint(300,20,C_BLACK,"PV : %d",stats.pv);
|
||||
dprint(300,40,C_BLACK,"Level : %d",stats.level);
|
||||
dprint(300,60,C_BLACK,"XP : %d",stats.xp);
|
||||
dprint(300,80,C_BLACK,"ATK : %d",stats.atk);
|
||||
dprint(300,100,C_BLACK,"DEF : %d",stats.def);
|
||||
dupdate();
|
||||
wait_for_input(KEY_OPTN);
|
||||
}
|
Loading…
Reference in New Issue