suppression de default source, <unistd.h>, ajout de la fonction attendre a la place
This commit is contained in:
@@ -1,10 +1,19 @@
|
||||
#define _DEFAULT_SOURCE /* Pour utiliser _X et _Y */
|
||||
#include <stdio.h> /* Pour utiliser printf */
|
||||
#include <stdlib.h> /* Pour utiliser malloc() */
|
||||
#include <graph.h> /* Pour utiliser les fonctions graphiques */
|
||||
#include <unistd.h> /* Pour utiliser usleep */
|
||||
#include "../include/jeu.h" /* Pour utiliser les structures et les fonctions du jeu */
|
||||
#include "../include/jeu_humain.h" /* Pour utiliser les fonctions de jeu_humain */
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <graph.h>
|
||||
#include <time.h>
|
||||
#include "../include/jeu.h"
|
||||
#include "../include/jeu_humain.h"
|
||||
|
||||
#define DELAI_MS 100
|
||||
|
||||
|
||||
void attendre(int delai_ms) {
|
||||
clock_t start_time = clock();
|
||||
while (((clock() - start_time) * 1000) / CLOCKS_PER_SEC < delai_ms) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void jouerModeHumain(struct EtatJeu *etatJeu) {
|
||||
while (1) {
|
||||
@@ -18,12 +27,12 @@ void jouerModeHumain(struct EtatJeu *etatJeu) {
|
||||
if (etatJeu->phase > 0 && !peutDeplacer(*etatJeu, etatJeu->tourJoueur)) {
|
||||
afficherVictoire(etatJeu->tourJoueur == 1 ? 2 : 1);
|
||||
while (!SourisCliquee()) {
|
||||
usleep(100000);
|
||||
attendre(DELAI_MS);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
usleep(100000);
|
||||
attendre(DELAI_MS);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,3 +143,5 @@ void gererTourJoueur(struct EtatJeu *etatJeu) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
10
src/jeu_ia.c
10
src/jeu_ia.c
@@ -1,10 +1,10 @@
|
||||
#define _DEFAULT_SOURCE
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <graph.h>
|
||||
#include <unistd.h>
|
||||
#include <time.h>
|
||||
#include "../include/jeu.h"
|
||||
#include "../include/jeu_ia.h"
|
||||
#include "../include/jeu_humain.h" /* Pour utiliser la fonction attendre */
|
||||
|
||||
/* Fonction qui permet de jouer avec l'IA */
|
||||
void jouerModeIA(struct EtatJeu *etatJeu) {
|
||||
@@ -21,7 +21,7 @@ void jouerModeIA(struct EtatJeu *etatJeu) {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
usleep(500000);
|
||||
attendre(1);
|
||||
if (etatJeu->phase == 0) {
|
||||
placementIA(etatJeu);
|
||||
} else if (etatJeu->phase == 1) {
|
||||
@@ -37,12 +37,12 @@ void jouerModeIA(struct EtatJeu *etatJeu) {
|
||||
if (gagnant != 0) {
|
||||
afficherVictoire(gagnant);
|
||||
while (!SourisCliquee()) {
|
||||
usleep(500000);
|
||||
attendre(1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
usleep(500000);
|
||||
attendre(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
31
src/main.c
31
src/main.c
@@ -1,8 +1,6 @@
|
||||
#define _DEFAULT_SOURCE /* Pour utiliser X et Y */
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <graph.h>
|
||||
#include <unistd.h>
|
||||
#include <time.h>
|
||||
#include "../include/jeu.h"
|
||||
#include "../include/jeu_humain.h"
|
||||
@@ -16,15 +14,16 @@ void menuPrincipale() {
|
||||
int besoinRedessiner = 1;
|
||||
struct EtatJeu etatJeu;
|
||||
|
||||
InitialiserGraphique(); /* Initialise la fenêtre graphique */
|
||||
CreerFenetre(100, 100, 800, 600); /* Crée la fenêtre graphique */
|
||||
ChoisirTitreFenetre("Blokus"); /* Change le titre de la fenêtre */
|
||||
InitialiserGraphique();
|
||||
CreerFenetre(100, 100, 800, 600);
|
||||
ChoisirTitreFenetre("Blocus");
|
||||
|
||||
|
||||
while (continuer) {
|
||||
if (besoinRedessiner) {
|
||||
EffacerEcran(CouleurParNom("white"));
|
||||
ChoisirCouleurDessin(CouleurParNom("black"));
|
||||
EcrireTexte(290, 50, "Jeu du Blokus", 2);
|
||||
EcrireTexte(290, 50, "Jeu du Blocus", 2);
|
||||
EcrireTexte(250, 130, "Taille de la grille:", 1);
|
||||
sprintf(tailleStr, "%d", tailleGrille);
|
||||
EcrireTexte(450, 130, tailleStr, 1);
|
||||
@@ -47,23 +46,23 @@ void menuPrincipale() {
|
||||
besoinRedessiner = 0;
|
||||
}
|
||||
|
||||
if (SourisCliquee()) { /* Si la souris est cliquée */
|
||||
if (SourisCliquee()) {
|
||||
int mouseX = _X;
|
||||
int mouseY = _Y;
|
||||
|
||||
if (mouseX >= 500 && mouseX <= 530 && mouseY >= 110 && mouseY <= 140) { /* Si la souris est sur la case + */
|
||||
if (mouseX >= 500 && mouseX <= 530 && mouseY >= 110 && mouseY <= 140) {
|
||||
if (tailleGrille < 9) {
|
||||
tailleGrille++;
|
||||
besoinRedessiner = 1;
|
||||
}
|
||||
} else if (mouseX >= 540 && mouseX <= 570 && mouseY >= 110 && mouseY <= 140) { /* Si la souris est sur la case - */
|
||||
} else if (mouseX >= 540 && mouseX <= 570 && mouseY >= 110 && mouseY <= 140) {
|
||||
if (tailleGrille > 3) {
|
||||
tailleGrille--;
|
||||
besoinRedessiner = 1;
|
||||
}
|
||||
} else if (mouseX >= 250 && mouseX <= 600) { /* Si la souris est sur la case 1 Joueur (contre IA) */
|
||||
} else if (mouseX >= 250 && mouseX <= 600) {
|
||||
if ((mouseY >= 180 && mouseY <= 230) || (mouseY >= 250 && mouseY <= 300)) {
|
||||
/* calcule le mode de jeu en fonction de où on clique (1 pour ia, 2 pour 2 joueurs) */
|
||||
|
||||
int mode = (mouseY >= 180 && mouseY <= 230) ? 1 : 2;
|
||||
etatJeu = initialiserJeu(tailleGrille, mode);
|
||||
EffacerEcran(CouleurParNom("white"));
|
||||
@@ -82,15 +81,15 @@ void menuPrincipale() {
|
||||
}
|
||||
}
|
||||
}
|
||||
usleep(10000);
|
||||
attendre(10);
|
||||
}
|
||||
|
||||
FermerGraphique();
|
||||
}
|
||||
|
||||
/* fonction principale qui lance le jeu */
|
||||
int main() {
|
||||
srand(time(NULL)); /* initialise le générateur de nombres aléatoires */
|
||||
|
||||
int main(void) {
|
||||
srand((unsigned int)time(NULL));
|
||||
menuPrincipale();
|
||||
return 0;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user