Plague-fx/Sources/src/main.c

139 lines
3.9 KiB
C
Raw Normal View History

2019-07-26 16:34:59 +02:00
/*
Nom : Plague
Version : - dev-
Dernière modification : 27 Juillet 2019
2019-07-26 20:25:41 +02:00
Liste des choses à faire :
2019-07-26 16:34:59 +02:00
*/
2019-07-24 17:41:52 +02:00
#include <gint/display.h>
#include <gint/keyboard.h>
2019-07-26 16:34:59 +02:00
#include <gint/std/stdio.h>
2019-07-26 20:25:41 +02:00
//display_barre : affiche les infos de la barre en dessous du monde
void display_barre(const int *adn, const int *recherche);
2019-07-26 20:25:41 +02:00
//display_menu : affiche les données sur l'écran menu du jeu à partir duquel on peut modifier la maladie
void display_menu(const int *adn, const int *contagion, const int *severite, const int *letalite);
2019-07-26 20:25:41 +02:00
//display_info : affiche les infos sur la maladie selectionnée
void display_info(void);
2019-07-26 16:34:59 +02:00
//floor : renvoie la partie entière d'une variable
double floor(double x);
2019-07-24 17:41:52 +02:00
2019-07-24 17:41:52 +02:00
int main(void)
{
2019-07-26 16:34:59 +02:00
extern const font_t font_plague;//déclaration de la police custom
extern const image_t img_titre;//déclaration de l'image-titre
extern const image_t img_fonds;//déclaration des différents fonds du jeu
/*
extern const image_t img_avions;//déclaration des avions
extern const image_t img_pieces;//déclaration des pièces pour les tableaux (selectionnées, cachées, …)
extern const image_t img_capa;//déclaration des capacités
extern const image_t img_symp;//déclaration des symptômes
extern const image_t img_trans;//déclaration des transmissions
*/
dfont(&font_plague);//On change la police pour la police custom
2019-07-26 20:25:41 +02:00
int fond = 1, fin = 0, key = 0;//variables diverses pour le jeu
int recherche = 25, adn = 0, contagion = 0, severite = 0, letalite = 0;//variables pour la maladie
2019-07-26 16:34:59 +02:00
2019-07-24 17:41:52 +02:00
dclear(C_WHITE);
2019-07-26 16:34:59 +02:00
dimage(0, 0, &img_titre);
dupdate();
getkey();
//Fin de l'écran d'accueil
while (fin == 0)
{
dclear(C_WHITE);
dsubimage(0, 0, &img_fonds, 0, 64 * (fond - 1) + (fond - 1), 128, 64, 0);
switch (fond)// affichage supplémentaires dépendant des fonds.
{
case 2:
display_barre(&adn, &recherche);// monde avec la barre en dessous
break;
case 3:
display_menu(&adn, &contagion, &severite, &letalite);//Menu de modification de la maladie
break;
case 4:
display_info();//Menu info
break;
}
dupdate();
2019-07-26 16:34:59 +02:00
key = getkey().key;
2019-07-26 16:34:59 +02:00
switch (key)
{
case KEY_OPTN:
if (fond == 1) fond = 2;
else if (fond == 2) fond = 1;
2019-07-26 16:34:59 +02:00
break;
case KEY_VARS:
fond = 3;
2019-07-26 16:34:59 +02:00
break;
case KEY_EXIT:
if (fond != 1) fond = 1;
else fin = 1;
2019-07-26 16:34:59 +02:00
break;
}
}
return 0;
}
2019-07-24 17:41:52 +02:00
void display_barre(const int *adn, const int *recherche)
2019-07-26 16:34:59 +02:00
{
//recherche (jauge = 74 pxl) donc : 74 * (recherche / 100) pour le pourcentage
2019-07-26 16:34:59 +02:00
int variable;
char string[100];
variable = 74 * *recherche / 100;
sprintf(string, "%d", *adn);
dtext(9, 58, string, C_BLACK, C_NONE);
dline(51, 60, 51 + variable, 60, C_BLACK);
dline(51, 59, 51 + variable, 59, C_BLACK);
}
void display_menu(const int *adn, const int *contagion, const int *severite, const int *letalite)
{
// toutes les jauges font 68 pxl de long.
int variable;
char string[100];
sprintf(string, "%d", *adn);
dtext(102, 37, string, C_BLACK, C_NONE);
2019-07-26 16:34:59 +02:00
variable = 68 * *contagion / 25;
dline(57, 48, 57 + variable, 48, C_BLACK);
dline(57, 49, 57 + variable, 49, C_BLACK);
variable = 68 * *severite / 20;
dline(57, 54, 57 + variable, 54, C_BLACK);
dline(57, 55, 57 + variable, 55, C_BLACK);
variable = 68 * *letalite / 25;
dline(57, 60, 57 + variable, 60, C_BLACK);
dline(57, 61, 57 + variable, 61, C_BLACK);
}
void display_info(void)
{
dtext(46, 25, "TOUX", C_BLACK, C_NONE);
dtext(73, 33, "0123", C_BLACK, C_NONE);
2019-07-26 16:34:59 +02:00
}
2019-07-26 16:34:59 +02:00
double floor(double x)
{
return (int)x;
2019-07-24 17:41:52 +02:00
}