Codingame minimax exercise
Loading...
Searching...
No Matches
Macros | Functions | Variables
fake_io.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <stdbool.h>

Macros

#define scanf   fake_scanf
 Remplace scanf par fake_scanf.
 
#define printf   fake_printf
 Remplace printf par fake_printf.
 
#define main   real_main
 Remplace la fonction main par real_main pour pouvoir l'appeler depuis main_wrapper.
 

Functions

int real_main ()
 
void f_revealAroundPos ()
 Cette fonction révèle les cases autour de la position du joueur.
 
void f_readGridFromFile (char filename[])
 Cette fonction lit la grille depuis un fichier et initialise les variables globales.
 
void f_clear ()
 Libère la mémoire allouée pour les variables globales.
 
int fake_scanf (const char *format,...)
 Wrapper de la fonction scanf.
 
int fake_printf (const char *text,...)
 Wrapper de la fonction printf.
 
int main (int argc, char **argv)
 wrapper pour la fonction main
 

Variables

char ** f_grid
 La grille du jeu complètement révélée.
 
char ** f_grid2
 La grille du jeu partiellement révélée (elle sera révélée au fur et à mesure)
 
int f_player_x
 La position en x du joueur.
 
int f_player_y
 La position en y du joueur.
 
int f_nb_lines
 Le nombre de lignes de la grille.
 
int f_nb_columns
 Le nombre de colonnes de la grille.
 
int f_nb_round
 Le nombre de deplacement pour aller de la salle de commande à la sortie.
 
int f_round = 0
 Le nombre de déplacements effectués par le joueurs depuis qu'il a quitté la salle de commande.
 
bool f_command_found = 0
 Indique si la salle de commande a été trouvée.
 
int f_c = 0
 Quelle ligne de la grille est lue par scanf.
 

Macro Definition Documentation

◆ main

#define main   real_main

Remplace la fonction main par real_main pour pouvoir l'appeler depuis main_wrapper.

◆ printf

#define printf   fake_printf

Remplace printf par fake_printf.

◆ scanf

#define scanf   fake_scanf

Remplace scanf par fake_scanf.

Function Documentation

◆ f_clear()

void f_clear ( )

Libère la mémoire allouée pour les variables globales.

Cette fonction est appelée à la fin du programme. Elle libère la mémoire allouée pour les variables globales (f_grid et f_grid2) dans la fonction f_readGridFromFile

◆ f_readGridFromFile()

void f_readGridFromFile ( char  filename[])

Cette fonction lit la grille depuis un fichier et initialise les variables globales.

Cette fonction est appelée au début du programme. Elle lit la grille depuis un fichier et initialise les variables globales. Elle révèle aussi les cases autour de la position de départ du joueur.

Parameters
filenameLe nom du fichier à lire
Warning
Cette fonction arrête le programme si le fichier n'est pas trouvé

◆ f_revealAroundPos()

void f_revealAroundPos ( )

Cette fonction révèle les cases autour de la position du joueur.

Cette fonction est appelée à chaque fois que le joueur se déplace. Elle révèle les cases autour de la position du joueur (5x5 cases) dans la grille partiellement révélée (f_grid2)

◆ fake_printf()

int fake_printf ( const char *  text,
  ... 
)

Wrapper de la fonction printf.

Cette fonction est appelée à chaque fois que la fonction printf est appelée

/!\ Cette fonction ne supporte que les chaînes de caractères suivantes :

  • "LEFT\n"
  • "RIGHT\n"
  • "UP\n"
  • "DOWN\n"

/!\ Le \n est obligatoire

Parameters
textLe texte à afficher
...Les arguments à afficher
Returns
Le nombre de caractères affichés
Warning
Cette fonction arrête le programme si le format n'est pas supporté

◆ fake_scanf()

int fake_scanf ( const char *  format,
  ... 
)

Wrapper de la fonction scanf.

Cette fonction est appelée à chaque fois que la fonction scanf est appelée

/!\ Cette fonction ne supporte que les formats suivants :

  • ddd : lit 3 entiers : le nombre de lignes, le nombre de colonnes et le nombre de tours
  • dd : lit 2 entiers : la position du joueur
  • s : lit une chaîne de caractères : une ligne de la grille
Parameters
formatLe format de la chaîne à lire
...Les arguments à lire
Returns
Le nombre d'arguments lus
Warning
Cette fonction arrête le programme si le format n'est pas supporté

◆ main()

int main ( int  argc,
char **  argv 
)

wrapper pour la fonction main

Parameters
argcle nombre d'arguments
argvles arguments

Prend en charge la lecture du fichier d'entrée, l'appel de la fonction main originale et la libération de la mémoire Argument 1 : le nom d'un fichier d'entrée (ex : "tests/grid1.txt")

Returns
le code de retour de la fonction main originale
Warning
Cette fonction arrête le programme si il n'est pas appelé avec au moins un argument (le nom du fichier d'entrée)

◆ real_main()

int real_main ( )

Variable Documentation

◆ f_c

int f_c = 0

Quelle ligne de la grille est lue par scanf.

◆ f_command_found

bool f_command_found = 0

Indique si la salle de commande a été trouvée.

◆ f_grid

char** f_grid

La grille du jeu complètement révélée.

◆ f_grid2

char** f_grid2

La grille du jeu partiellement révélée (elle sera révélée au fur et à mesure)

◆ f_nb_columns

int f_nb_columns

Le nombre de colonnes de la grille.

◆ f_nb_lines

int f_nb_lines

Le nombre de lignes de la grille.

◆ f_nb_round

int f_nb_round

Le nombre de deplacement pour aller de la salle de commande à la sortie.

◆ f_player_x

int f_player_x

La position en x du joueur.

◆ f_player_y

int f_player_y

La position en y du joueur.

◆ f_round

int f_round = 0

Le nombre de déplacements effectués par le joueurs depuis qu'il a quitté la salle de commande.