90 lines
2.5 KiB
C
90 lines
2.5 KiB
C
#pragma once
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
#include "../Headers/structures.h"
|
|
|
|
#include "tinyFileDialogsCalls.h"
|
|
|
|
|
|
/**
|
|
* @brief Initialise une instance de structure Carte.
|
|
*
|
|
* --> Les valeurs affectées sont impossibles, sauf pour le type, ou c'est celle par défaut.
|
|
*
|
|
* @param carte Pointeur sur la carte à initialiser !
|
|
* @return Procédure.
|
|
*/
|
|
void initialiserCarte(Carte *const carte);
|
|
|
|
/**
|
|
* @brief Calcul les coordonnées centrales d'une carte à partir de ses deux extrema.
|
|
*
|
|
* @param carte Pointeur sur la carte dans laquelle on va calculer le point central.
|
|
* @return Procédure.
|
|
*/
|
|
void calculPointCentral(Carte *const carte);
|
|
|
|
/**
|
|
* @brief Supprime une carte en libérant les pointeurs la contenant.
|
|
*
|
|
* /!\ Ne désalloue pas la mémoire de la carte en elle-même !
|
|
*
|
|
* @param carte Pointeur sur la carte à libérer !
|
|
* @return Procédure.
|
|
*/
|
|
void detruireCarte(Carte *const carte);
|
|
|
|
/**
|
|
* @brief Alloue dynamiquement une carte, et renvoie un pointeur dessus.
|
|
*
|
|
* /!\ Si l'argument `oldCarte` n'est pas NULL, la carte créée et renvoyée sera une copie de `oldCarte`.
|
|
*
|
|
* @param oldCarte La carte copiée, si NULL: nouvelle carte vierge.
|
|
* @return Pointer sur la carte créée.
|
|
*/
|
|
Carte* creerCarte(const Carte *const oldCarte);
|
|
|
|
/**
|
|
* @brief Initialise une pile de carte.
|
|
*
|
|
* @param pileCartes La pile de carte à initialiser.
|
|
* @return Procédure.
|
|
*/
|
|
void initialiserPileCartes(PileCartes *const pileCartes);
|
|
|
|
/**
|
|
* @brief Supprime une pile de cartes en libérant tous les pointeurs.
|
|
*
|
|
* @param pileCartes La pile de cartes à détruire.
|
|
* @return Procédure.
|
|
*/
|
|
void detruirePileCartes(PileCartes *const pileCartes);
|
|
|
|
/**
|
|
* @brief Empile une carte dans une pile de cartes (ça se tient non ?).
|
|
*
|
|
* @param pileCartes La pile de cartes dans laquelle on empile la carte.
|
|
* @param carte Carte à empiler.
|
|
* @return Un booléen qui indique si l'empilement a été possible ou non...
|
|
*/
|
|
bool empilerPileCartes(PileCartes *const pileCartes, Carte *const carte);
|
|
|
|
/**
|
|
* @brief Dépile une carte d'une pile de cartes (ça se tient aussi...).
|
|
*
|
|
* @param pileCartes La pile de cartes à dépiler !
|
|
* @return Procédure.
|
|
*/
|
|
Carte* depilerPilesCartes(PileCartes *const pileCartes);
|
|
|
|
/**
|
|
* @brief Afficher un simple warning de pile pleine...
|
|
*
|
|
* @param window Paramètre obligatoire pour l'affichage...
|
|
* @param renderSprite Paramètre obligatoire pour l'affichage...
|
|
* @return Procédure.
|
|
*/
|
|
void afficherWarningPile(sfRenderWindow *const window, const sfSprite *const renderSprite);
|