Ajout du timer et finalisation du code + Ajout des commentaires
This commit is contained in:
parent
2f7125ca22
commit
9613b590c4
24
affichage.c
24
affichage.c
@ -1,9 +1,9 @@
|
|||||||
#include "timer.h"
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <graph.h>
|
#include <graph.h>
|
||||||
|
|
||||||
int Trouvee(int* found, int carte){
|
int Trouvee(int* found, int carte){
|
||||||
|
//Cette fonction vérifie si la carte est présente dans le tableau found, qui contient toutes les paires trouvées
|
||||||
int i;
|
int i;
|
||||||
for (i=0;i<10;i++){
|
for (i=0;i<10;i++){
|
||||||
if (found[i] == carte) return 1;
|
if (found[i] == carte) return 1;
|
||||||
@ -76,6 +76,7 @@ void DessinerGrille(int x_g, int y_g, int x_fen, int y_fen, int triche, int* fou
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Jeu(int x_g, int y_g, int x_fen, int y_fen, int* carte, int tab[4][5]){
|
void Jeu(int x_g, int y_g, int x_fen, int y_fen, int* carte, int tab[4][5]){
|
||||||
|
//Fonction principale du jeu (Vérifie lors d'un clic si la souris a cliqué sur une carte, et vérifie l'emplacement de cette carte et son numéro de paire dans le tableau de la grille
|
||||||
int l_case = (x_fen-((10*x_g)+10))/x_g;
|
int l_case = (x_fen-((10*x_g)+10))/x_g;
|
||||||
int h_case = (y_fen-((10*y_g)+10))/y_g;
|
int h_case = (y_fen-((10*y_g)+10))/y_g;
|
||||||
int x = 0;
|
int x = 0;
|
||||||
@ -100,7 +101,8 @@ void Jeu(int x_g, int y_g, int x_fen, int y_fen, int* carte, int tab[4][5]){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GenererGrille(int x_grille, int y_grille, int tab[4][5]){
|
void GenererGrille(int x_grille, int y_grille, int tab[4][5]){i
|
||||||
|
//Cette fonction génère la grille aléatoirement en fonction de la taille de la grille et l'insère sous forme de paires d'int de 1 à 10 dans le tableau tab
|
||||||
srand(Microsecondes());
|
srand(Microsecondes());
|
||||||
int i,j;
|
int i,j;
|
||||||
int coos[2];
|
int coos[2];
|
||||||
@ -125,10 +127,12 @@ void GenererGrille(int x_grille, int y_grille, int tab[4][5]){
|
|||||||
|
|
||||||
|
|
||||||
void Triche(int* triche){
|
void Triche(int* triche){
|
||||||
|
//Cette fonction active ou désactive le mode de triche via une variable pour que dans n'importe quel partie du programme le mode de triche puisse être vérifié facilement
|
||||||
*triche = -(*triche);
|
*triche = -(*triche);
|
||||||
}
|
}
|
||||||
|
|
||||||
int Victoire(int* found, int x_grille, int y_grille){
|
int Victoire(int* found, int x_grille, int y_grille){
|
||||||
|
//Cette fonction vérifie les conditions de victoire en fonction de la taille de la grille, en vérifiant la liste des paires trouvées
|
||||||
int i,j;
|
int i,j;
|
||||||
for (i=0;i<(x_grille*y_grille)/2;i++){
|
for (i=0;i<(x_grille*y_grille)/2;i++){
|
||||||
if (found[i] == 0) return 0;
|
if (found[i] == 0) return 0;
|
||||||
@ -138,6 +142,7 @@ int Victoire(int* found, int x_grille, int y_grille){
|
|||||||
|
|
||||||
|
|
||||||
void InsereTableau(int val, int* tab){
|
void InsereTableau(int val, int* tab){
|
||||||
|
//Cette fonction insère dans un tableau (Dans l'utilisation ici le tableau des paires trouvées) une valeur à la suite des valeurs différentes de 0
|
||||||
int i;
|
int i;
|
||||||
for (i=0;i<10;i++){
|
for (i=0;i<10;i++){
|
||||||
if (tab[i] == 0){
|
if (tab[i] == 0){
|
||||||
@ -148,12 +153,17 @@ void InsereTableau(int val, int* tab){
|
|||||||
}
|
}
|
||||||
|
|
||||||
int essay(int grille_x){
|
int essay(int grille_x){
|
||||||
|
//Ancienne fonction main avant l'implémentation des menus, permet de jouer en fonction de la taille x de la grille
|
||||||
|
//Les tailles prévues dans le jeu ont un y fixe, faisant que seul le x est nécessaire en paramètre.
|
||||||
|
//Peu importe le grille_x en paramètre, le jeu s'adaptera dans une taille de fenêtre fixe.
|
||||||
|
//La fonction ne renvoie rien puisque la fin du jeu signifie la fin du programme.
|
||||||
char afficher_temps[20];
|
char afficher_temps[20];
|
||||||
int tab[4][5] = {{},{},{},{}};
|
int tab[4][5] = {{},{},{},{}};
|
||||||
int o;
|
int o;
|
||||||
unsigned long temps_microsec = Microsecondes();
|
unsigned long temps_microsec = Microsecondes();
|
||||||
unsigned long temps_ecoule = 0;
|
unsigned long temps_ecoule = 0;
|
||||||
unsigned long temps_ancien = -1;
|
unsigned long temps_ancien = -1;
|
||||||
|
unsigned long temps_actuel = 0;
|
||||||
int i,j;
|
int i,j;
|
||||||
int x=1;
|
int x=1;
|
||||||
int temps;
|
int temps;
|
||||||
@ -169,9 +179,14 @@ int essay(int grille_x){
|
|||||||
DessinerGrille(grille_x,4,1500,844,0,found,tab);
|
DessinerGrille(grille_x,4,1500,844,0,found,tab);
|
||||||
while(1){
|
while(1){
|
||||||
if (x==1){
|
if (x==1){
|
||||||
timer(&temps_ecoule, temps_microsec);
|
temps_actuel = Microsecondes();
|
||||||
|
if(temps_actuel > temps_microsec + 1000000){
|
||||||
|
temps_microsec = temps_actuel;
|
||||||
|
temps_ecoule = temps_ecoule + 1;
|
||||||
|
printf("%d\n", temps_ecoule);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (temps_ecoule = temps_ancien+1){
|
if (temps_ecoule == temps_ancien+1){
|
||||||
temps_ancien = temps_ecoule;
|
temps_ancien = temps_ecoule;
|
||||||
ChoisirCouleurDessin(CouleurParNom("black"));
|
ChoisirCouleurDessin(CouleurParNom("black"));
|
||||||
RemplirRectangle(675,25,160,30);
|
RemplirRectangle(675,25,160,30);
|
||||||
@ -223,6 +238,7 @@ int essay(int grille_x){
|
|||||||
temps = Microsecondes();
|
temps = Microsecondes();
|
||||||
retourne_time = Microsecondes()+1000000;
|
retourne_time = Microsecondes()+1000000;
|
||||||
while (temps < retourne_time){
|
while (temps < retourne_time){
|
||||||
|
|
||||||
temps = Microsecondes();
|
temps = Microsecondes();
|
||||||
}
|
}
|
||||||
DessinerGrille(grille_x,4,1500,844,0,found,tab);
|
DessinerGrille(grille_x,4,1500,844,0,found,tab);
|
||||||
|
Loading…
Reference in New Issue
Block a user