2025-11-30 16:16:27 +01:00
|
|
|
#include <stdio.h>
|
2025-11-30 19:40:22 +01:00
|
|
|
#include <stdlib.h>
|
2025-11-29 20:25:05 +01:00
|
|
|
#include "affichage.h"
|
|
|
|
|
#include <graph.h>
|
2025-11-30 16:16:27 +01:00
|
|
|
#include "config.h"
|
|
|
|
|
#include "partie.h"
|
2025-11-30 19:40:22 +01:00
|
|
|
|
2025-11-29 20:25:05 +01:00
|
|
|
int main(void){
|
2025-11-30 19:40:22 +01:00
|
|
|
int grille[NB_LIGNES][NB_COLS], touche;
|
2025-12-02 00:38:32 +01:00
|
|
|
char *nom_image = NULL;
|
2025-12-02 23:05:23 +01:00
|
|
|
int choix_fait = 0,jeu_fini = 0;
|
2025-11-30 19:40:22 +01:00
|
|
|
|
2025-12-02 00:38:32 +01:00
|
|
|
init_affichage();
|
|
|
|
|
|
|
|
|
|
EffacerEcran(CouleurParNom("white"));
|
|
|
|
|
ChoisirCouleurDessin(CouleurParNom("black"));
|
|
|
|
|
|
|
|
|
|
EcrireTexte(50, 50, "MENU TAQUIN", 2);
|
|
|
|
|
EcrireTexte(50, 100, "Choisissez votre image :", 1);
|
|
|
|
|
EcrireTexte(50, 150, "Touche 1 : Image 1", 1);
|
|
|
|
|
EcrireTexte(50, 180, "Touche 2 : Image 2", 1);
|
|
|
|
|
EcrireTexte(50, 210, "Touche 3 : Image 3", 1);
|
|
|
|
|
EcrireTexte(50, 300, "(Appuyez sur q pour quitter)", 1);
|
|
|
|
|
|
|
|
|
|
while(choix_fait == 0) {
|
|
|
|
|
if(ToucheEnAttente()) {
|
|
|
|
|
touche = Touche();
|
|
|
|
|
|
|
|
|
|
|
2025-12-02 23:05:23 +01:00
|
|
|
if(touche == XK_1 || touche == XK_KP_1) {
|
2025-12-02 00:38:32 +01:00
|
|
|
nom_image = "image1.png";
|
|
|
|
|
choix_fait = 1;
|
|
|
|
|
}
|
2025-12-02 23:05:23 +01:00
|
|
|
else if(touche == XK_2 || touche == XK_KP_2) {
|
2025-12-02 00:38:32 +01:00
|
|
|
nom_image = "image2.png";
|
|
|
|
|
choix_fait = 2;
|
|
|
|
|
}
|
2025-12-02 23:05:23 +01:00
|
|
|
else if(touche == XK_3 || touche == XK_KP_3) {
|
2025-12-02 00:38:32 +01:00
|
|
|
nom_image = "image3.png";
|
|
|
|
|
choix_fait = 3;
|
|
|
|
|
}
|
2025-12-02 23:05:23 +01:00
|
|
|
else if(touche == XK_q || touche == XK_Q) {
|
2025-12-02 00:38:32 +01:00
|
|
|
fermer_affichage();
|
|
|
|
|
return EXIT_SUCCESS;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
charger_image_source(nom_image);
|
|
|
|
|
|
2025-11-30 16:16:27 +01:00
|
|
|
initialiser_plateau(grille);
|
2025-11-30 19:40:22 +01:00
|
|
|
|
|
|
|
|
melanger_plateau(grille);
|
|
|
|
|
|
2025-11-30 16:16:27 +01:00
|
|
|
afficher_plateau(grille);
|
2025-11-29 20:25:05 +01:00
|
|
|
|
2025-12-02 23:05:23 +01:00
|
|
|
while(jeu_fini == 0){
|
2025-11-29 20:25:05 +01:00
|
|
|
|
|
|
|
|
if (ToucheEnAttente()){
|
2025-11-30 16:16:27 +01:00
|
|
|
touche = Touche();
|
2025-11-29 20:25:05 +01:00
|
|
|
|
2025-12-02 23:05:23 +01:00
|
|
|
/* Pour quitter on clique sur q */
|
|
|
|
|
if (touche == XK_q || touche == XK_Q) break;
|
2025-11-30 19:40:22 +01:00
|
|
|
|
|
|
|
|
|
2025-12-02 23:05:23 +01:00
|
|
|
/* Déplacement +on affiche la nouvelle grille */
|
2025-11-30 19:40:22 +01:00
|
|
|
deplacer(grille, touche);
|
|
|
|
|
afficher_plateau(grille);
|
2025-12-02 23:05:23 +01:00
|
|
|
/*On vérifie si on a gagner */
|
|
|
|
|
if(verifier_victoire(grille) == 1 ){
|
|
|
|
|
jeu_fini = 1;
|
|
|
|
|
}
|
2025-11-29 20:25:05 +01:00
|
|
|
}
|
2025-12-02 23:05:23 +01:00
|
|
|
|
2025-11-29 20:25:05 +01:00
|
|
|
}
|
2025-12-02 23:05:23 +01:00
|
|
|
|
|
|
|
|
if (jeu_fini == 1){
|
|
|
|
|
ChoisirCouleurDessin(CouleurParNom("white"));
|
|
|
|
|
RemplirRectangle(50,150,300,100);
|
|
|
|
|
|
|
|
|
|
ChoisirCouleurDessin(CouleurParNom("red"));
|
|
|
|
|
EcrireTexte(60,200,"Bravo",2);
|
|
|
|
|
EcrireTexte(60,230,"Appuyer pour quitter...",1);
|
|
|
|
|
|
|
|
|
|
Touche();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2025-11-30 19:40:22 +01:00
|
|
|
|
2025-11-29 20:25:05 +01:00
|
|
|
fermer_affichage();
|
2025-11-30 19:40:22 +01:00
|
|
|
return EXIT_SUCCESS;
|
2025-11-29 20:25:05 +01:00
|
|
|
}
|