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