l'IA fonctionne maintenant de manière instantanée
This commit is contained in:
@@ -9,10 +9,10 @@
|
|||||||
void attendre(int secondes) {
|
void attendre(int secondes) {
|
||||||
time_t start_time = time(NULL);
|
time_t start_time = time(NULL);
|
||||||
|
|
||||||
while(difftime(time(NULL), start_time) >= secondes) {
|
while(difftime(time(NULL), start_time) < secondes) {
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void jouerModeHumain(struct EtatJeu *etatJeu) {
|
void jouerModeHumain(struct EtatJeu *etatJeu) {
|
||||||
while (1) {
|
while (1) {
|
||||||
|
|||||||
50
jeu_ia.c
50
jeu_ia.c
@@ -4,44 +4,46 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include "jeu.h"
|
#include "jeu.h"
|
||||||
#include "jeu_ia.h"
|
#include "jeu_ia.h"
|
||||||
|
#include "jeu_humain.h"
|
||||||
|
|
||||||
/* Fonction qui permet de jouer avec l'IA */
|
/* Fonction qui permet de jouer avec l'IA */
|
||||||
void jouerModeIA(struct EtatJeu *etatJeu) {
|
void jouerModeIA(struct EtatJeu *etatJeu) {
|
||||||
int gagnant;
|
int compteurIA = 0;
|
||||||
|
|
||||||
/* Boucle qui permet de jouer avec l'IA */
|
|
||||||
while (1) {
|
while (1) {
|
||||||
if (etatJeu->tourJoueur == 1) {
|
if (etatJeu->tourJoueur == 1) {
|
||||||
|
compteurIA = 0;
|
||||||
if (SourisCliquee()) {
|
if (SourisCliquee()) {
|
||||||
if (etatJeu->phase == 0) {
|
if (etatJeu->phase == 0) {
|
||||||
gererPlacementInitialIA(etatJeu);
|
gererPlacementInitialIA(etatJeu);
|
||||||
} else {
|
} else {
|
||||||
gererTourJoueurIA(etatJeu);
|
gererTourJoueurIA(etatJeu);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} else {
|
if (etatJeu->phase > 0 && !peutDeplacer(*etatJeu, etatJeu->tourJoueur)) {
|
||||||
sleep(500000);
|
afficherVictoire(etatJeu->tourJoueur == 1 ? 2 : 1);
|
||||||
if (etatJeu->phase == 0) {
|
while (!SourisCliquee()) {}
|
||||||
placementIA(etatJeu);
|
break;
|
||||||
} else if (etatJeu->phase == 1) {
|
}
|
||||||
deplacementIA(etatJeu);
|
}
|
||||||
} else {
|
} else {
|
||||||
blocageIA(etatJeu);
|
compteurIA++;
|
||||||
}
|
if (compteurIA > 50) {
|
||||||
}
|
if (etatJeu->phase == 0) {
|
||||||
|
placementIA(etatJeu);
|
||||||
/* Vérifie si le joueur a gagné la partie */
|
} else if (etatJeu->phase == 1) {
|
||||||
if (etatJeu->phase > 0) {
|
deplacementIA(etatJeu);
|
||||||
gagnant = verifierVictoire(*etatJeu);
|
} else {
|
||||||
if (gagnant != 0) {
|
blocageIA(etatJeu);
|
||||||
afficherVictoire(gagnant);
|
}
|
||||||
while (!SourisCliquee()) {
|
|
||||||
sleep(500000);
|
if (etatJeu->phase > 0 && !peutDeplacer(*etatJeu, etatJeu->tourJoueur)) {
|
||||||
|
afficherVictoire(etatJeu->tourJoueur == 1 ? 2 : 1);
|
||||||
|
while (!SourisCliquee()) {}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sleep(500000);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user