Jeu de Merlin Gennuso Tàzio  v1.7
 Tout Structures de données Fichiers Fonctions Variables Définitions de type
Fonctions
Référence du fichier calculs.c

fonctions pour les calculs Plus de détails...

#include <stdlib.h>
#include "calculs.h"
#include "modelisation.h"

Fonctions

void inverseCase (int **terrain, int x, int y)
 inverse la valeur de la case donnée Plus de détails...
 
void applique_clic (int **plateauActuel, coord *cellule)
 applique le clic sur le plateau aux coordonnées données Plus de détails...
 
void applique_partie (int **plateauInitial, Partie *partie)
 applique la partie au plateau Plus de détails...
 
void plateau_init_test (int **plateauVierge)
 initialise le plateau Plus de détails...
 
int plateau_gagnant (int **plateauActuel)
 test si le plateau est un plateau gagnant Plus de détails...
 
int partie_gagnante (int **plateauInitial, Partie *partie)
 test si la partie aboutie à un plateau gagnant Plus de détails...
 
int codagePlateau (int **plateau)
 associe un entier à la configuration du plateau Plus de détails...
 
coordint08ToCoord (int int08)
 décompose int08 en coordonnées comprises entre 0-2 et 0-2 Plus de détails...
 

Description détaillée

fonctions pour les calculs

Auteur
Tàzio Gennuso
Version
1.7
Date
05/01/2015

fonctions purement calculatoires nécessaires pour le moteur de jeu

Documentation des fonctions

void applique_clic ( int **  plateauActuel,
coord cellule 
)

applique le clic sur le plateau aux coordonnées données

Paramètres
int**plateauActuel le plateau dans l'état actuel dans lequel il se trouve à ce moment de la partie
coord*cellule coordonnées de la case

applique le clic sur le plateau aux coordonnées données en prenant en compte les différentes positions possibles

Renvoie
pas de valeur de retour
void applique_partie ( int **  plateauInitial,
Partie partie 
)

applique la partie au plateau

Paramètres
int**plateauInitial le plateau duquel on part pour appliquer la partie
Partie*partie la partie à appliquer au plateau

applique coup par coup la partie au plateau

Renvoie
pas de valeur de retour
int codagePlateau ( int **  plateau)

associe un entier à la configuration du plateau

Paramètres
int**plateau plateau à encoder

chaque case du plateau représente une puissance de 2 (entre 0 et 8), en additionnant celles dont la case est noire, on obtient un nombre unique compris entre 0 et 511

Renvoie
renvoie un entier compris entre 0 et 511 qui représente la configuration du plateau
coord * int08ToCoord ( int  int08)

décompose int08 en coordonnées comprises entre 0-2 et 0-2

Paramètres
intint08 entier compris entre 0 et 8

int08 représente la coordonnée d'un tableau de 9 cases d'une dimension, on transforme int08 en les coordonnées d'un tableau de 9 cases de deux dimensions

Renvoie
les coordonnées d'une case d'un tableau 3x3
void inverseCase ( int **  terrain,
int  x,
int  y 
)

inverse la valeur de la case donnée

Paramètres
int**terrain le plateau dans l'état actuel dans lequel il se trouve à ce moment de la partie
intx abscisse de la case
inty ordonnée de la case

met la case à 1 si elle est à 0 et inversement

Renvoie
pas de valeur de retour
int partie_gagnante ( int **  plateauInitial,
Partie partie 
)

test si la partie aboutie à un plateau gagnant

Paramètres
int**plateauInitial le plateau duquel on part pour appliquer la partie
Partie*partie la partie à appliquer au plateau

applique coup par coup la partie au plateau et determine si le plateau obtenu au final est gagnant

Renvoie
renvoie 1 si le plateau final est gagnant, 0 sinon
int plateau_gagnant ( int **  plateauActuel)

test si le plateau est un plateau gagnant

Paramètres
int**plateauActuel plateau à tester

test si toutes les cases du plateau valent 1 (sont noires)

Renvoie
renvoie 1 si toutes les cases du plateau sont noires, 0 sinon
void plateau_init_test ( int **  plateauVierge)

initialise le plateau

Paramètres
int**plateauVierge plateau à initialiser

initialise le plateau en fixant toutes les cases à 0 (blanc)

Renvoie
pas de valeur de retour