Jeu fini, manque encore le mode tricheur et l'affichage du temps
This commit is contained in:
parent
6e0d5af912
commit
776ade2daa
94
Jeu.h
94
Jeu.h
@ -4,7 +4,20 @@
|
|||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "ChargerMode.h"
|
#include "ChargerMode.h"
|
||||||
|
#include "ChargerMainMenu.h"
|
||||||
|
#define delta 1000000L
|
||||||
|
|
||||||
|
int GrilleComplete(int** grille, int l, int c) {
|
||||||
|
int i, f;
|
||||||
|
for (i=0; i<l; i++) {
|
||||||
|
for (f=0; f<c; f++) {
|
||||||
|
if (grille[i][f]!=0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
int ComparerCartes(int carte1, int carte2) {
|
int ComparerCartes(int carte1, int carte2) {
|
||||||
if (carte1==carte2) {
|
if (carte1==carte2) {
|
||||||
@ -15,34 +28,63 @@ int ComparerCartes(int carte1, int carte2) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int compteur(int seconde) {
|
||||||
|
unsigned long timer=Microsecondes()+delta;
|
||||||
|
if (Microsecondes()>=timer){
|
||||||
|
timer=Microsecondes()+delta;
|
||||||
|
seconde++;
|
||||||
|
char temps[4];
|
||||||
|
sprintf(temps,"%i",seconde);
|
||||||
|
ChoisirCouleurDessin(CouleurParNom("white"));
|
||||||
|
RemplirRectangle(1225,30,40,40);
|
||||||
|
ChoisirCouleurDessin(CouleurParNom("black"));
|
||||||
|
EcrireTexte(1230,70,temps, 2);
|
||||||
|
}
|
||||||
|
return seconde;
|
||||||
|
}
|
||||||
|
|
||||||
void DeuxiemeCarte(int carte,int f, int i) {
|
void DeuxiemeCarte(int carte,int f, int i) {
|
||||||
AfficherSprite(carte,432+(124*f),162+(124*i));
|
AfficherSprite(carte,432+(124*f),162+(124*i));
|
||||||
}
|
}
|
||||||
|
|
||||||
void PremiereCarte(int ** grille, int carte,int nomCarte, int f, int i) {
|
int** PremiereCarte(int ** grille, int carte,int nomCarte, int f, int i, int seconde) {
|
||||||
int ligne, colonne;
|
int ligne, colonne;
|
||||||
int carte1=nomCarte;
|
int carte1=nomCarte;
|
||||||
int carte2;
|
int carte2;
|
||||||
int visible=1;
|
|
||||||
time_t suivant;
|
|
||||||
int asec=1;
|
int asec=1;
|
||||||
char str[50];
|
int visible=1;
|
||||||
int deuxiemecarte=0;
|
int deuxiemecarte=0;
|
||||||
|
unsigned long suivant;
|
||||||
|
unsigned long timer=Microsecondes()+delta;
|
||||||
|
char str[50], temps[4];
|
||||||
AfficherSprite(carte,432+(124*f),162+(124*i));
|
AfficherSprite(carte,432+(124*f),162+(124*i));
|
||||||
while (!deuxiemecarte) {
|
while (!deuxiemecarte) {
|
||||||
|
if (Microsecondes()>=timer){
|
||||||
|
timer=Microsecondes()+delta;
|
||||||
|
seconde++;
|
||||||
|
sprintf(temps,"%i",seconde);
|
||||||
|
ChoisirCouleurDessin(CouleurParNom("white"));
|
||||||
|
RemplirRectangle(1225,30,40,40);
|
||||||
|
ChoisirCouleurDessin(CouleurParNom("black"));
|
||||||
|
EcrireTexte(1230,70,temps, 2);
|
||||||
|
}
|
||||||
if (SourisCliquee()) {
|
if (SourisCliquee()) {
|
||||||
SourisPosition();
|
SourisPosition();
|
||||||
for (ligne=0; ligne<4; ligne++) {
|
for (ligne=0; ligne<4; ligne++) {
|
||||||
for (colonne=0; colonne<4; colonne++) {
|
for (colonne=0; colonne<4; colonne++) {
|
||||||
if (_X>422+(124*colonne) && _X <422+(124*colonne)+84 && _Y>152+(124*ligne) && _Y < 152+(124*ligne)+84 &&(ligne!=i || colonne!=f)) {
|
if (_X>422+(124*colonne) && _X<422+(124*colonne)+84
|
||||||
|
&& _Y>152+(124*ligne) && _Y < 152+(124*ligne)+84
|
||||||
|
&&(ligne!=i || colonne!=f)
|
||||||
|
&& grille[ligne][colonne]!=0)
|
||||||
|
{
|
||||||
carte2=grille[ligne][colonne];
|
carte2=grille[ligne][colonne];
|
||||||
sprintf(str,"./images/%i.png",grille[ligne][colonne]);
|
sprintf(str,"./images/%i.png",grille[ligne][colonne]);
|
||||||
carte=ChargerSprite(str);
|
carte=ChargerSprite(str);
|
||||||
DeuxiemeCarte(carte,colonne,ligne);
|
DeuxiemeCarte(carte,colonne,ligne);
|
||||||
suivant=time(NULL);
|
suivant=Microsecondes()+delta;
|
||||||
if (!ComparerCartes(carte1,carte2)){
|
if (!ComparerCartes(carte1,carte2)){
|
||||||
while(asec){
|
while(asec){
|
||||||
if (time(NULL)==suivant+1) {
|
if (Microsecondes()>=suivant) {
|
||||||
carte=ChargerSprite("./images/wood2.png");
|
carte=ChargerSprite("./images/wood2.png");
|
||||||
AfficherSprite(carte,422+(124*f),152+(124*i));
|
AfficherSprite(carte,422+(124*f),152+(124*i));
|
||||||
AfficherSprite(carte,422+(124*colonne),152+(124*ligne));
|
AfficherSprite(carte,422+(124*colonne),152+(124*ligne));
|
||||||
@ -50,36 +92,64 @@ void PremiereCarte(int ** grille, int carte,int nomCarte, int f, int i) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
grille[ligne][colonne]=0;
|
||||||
|
grille[i][f]=0;
|
||||||
|
}
|
||||||
deuxiemecarte=1;
|
deuxiemecarte=1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return grille;
|
||||||
}
|
}
|
||||||
|
|
||||||
void jeu(int** grille, int difficulte) {
|
void jeu(int** grille, int difficulte) {
|
||||||
int tricheur=0;
|
int jeutourne=1;
|
||||||
int i, f;
|
int i, f, seconde=0;
|
||||||
int carte;
|
int carte;
|
||||||
|
char temps[4];
|
||||||
char str[50];
|
char str[50];
|
||||||
|
unsigned long timer=Microsecondes()+delta;
|
||||||
|
sprintf(temps,"%i",seconde);
|
||||||
|
ChoisirCouleurDessin(CouleurParNom("white"));
|
||||||
|
RemplirRectangle(1225,30,40,40);
|
||||||
|
ChoisirCouleurDessin(CouleurParNom("black"));
|
||||||
|
EcrireTexte(1230,70,temps, 2);
|
||||||
if (difficulte==1) {
|
if (difficulte==1) {
|
||||||
while(!tricheur) {
|
while(jeutourne) {
|
||||||
|
if (Microsecondes()>=timer){
|
||||||
|
timer=Microsecondes()+delta;
|
||||||
|
seconde++;
|
||||||
|
sprintf(temps,"%i",seconde);
|
||||||
|
ChoisirCouleurDessin(CouleurParNom("white"));
|
||||||
|
RemplirRectangle(1225,30,40,40);
|
||||||
|
ChoisirCouleurDessin(CouleurParNom("black"));
|
||||||
|
EcrireTexte(1230,70,temps, 2);
|
||||||
|
}
|
||||||
if (SourisCliquee()) {
|
if (SourisCliquee()) {
|
||||||
SourisPosition();
|
SourisPosition();
|
||||||
for (i=0; i<4; i++) {
|
for (i=0; i<4; i++) {
|
||||||
for (f=0; f<4; f++) {
|
for (f=0; f<4; f++) {
|
||||||
if (_X>422+(124*f) && _X <422+(124*f)+84 && _Y>152+(124*i) && _Y < 152+(124*i)+84) {
|
if (_X>422+(124*f) && _X <422+(124*f)+84
|
||||||
|
&& _Y>152+(124*i) && _Y < 152+(124*i)+84
|
||||||
|
&& grille[i][f]!=0)
|
||||||
|
{
|
||||||
sprintf(str,"./images/%i.png",grille[i][f]);
|
sprintf(str,"./images/%i.png",grille[i][f]);
|
||||||
carte=ChargerSprite(str);
|
carte=ChargerSprite(str);
|
||||||
AfficherSprite(carte,432+(124*f),162+(124*i));
|
AfficherSprite(carte,432+(124*f),162+(124*i));
|
||||||
PremiereCarte(grille, carte, grille[i][f], f,i);
|
grille=PremiereCarte(grille, carte, grille[i][f], f, i, seconde);
|
||||||
f=3;
|
f=3;
|
||||||
i=3;
|
i=3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (GrilleComplete(grille, 4, 4)) {
|
||||||
|
puts("Félicitation!");
|
||||||
|
jeutourne=0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user