From 408a794689ae57dfdba611dbc2ad7841e10ad059 Mon Sep 17 00:00:00 2001 From: Anis BEKKOUCHE Date: Mon, 11 Nov 2024 17:11:17 +0100 Subject: [PATCH] =?UTF-8?q?Upload=20files=20to=20"SA=C3=A91.1"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SAé1.1/blocus_test.c | 244 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 244 insertions(+) create mode 100644 SAé1.1/blocus_test.c diff --git a/SAé1.1/blocus_test.c b/SAé1.1/blocus_test.c new file mode 100644 index 0000000..0005e9f --- /dev/null +++ b/SAé1.1/blocus_test.c @@ -0,0 +1,244 @@ + + +#include +#include +#include + + +#define posx 250 +#define posy 100 +#define taille_case 70 + +void EffacerAncienSprite(int x_ancien, int y_ancien, int largeur, int hauteur){ + ChoisirCouleurDessin(CouleurParNom("white")); + RemplirRectangle(x_ancien+1, y_ancien+1, largeur-1, hauteur-1); +} + +int main(void){ + + int case_click[9][9]; + + int x, y, i, j; + int solo, multi = 0; + int modegrille, grille = 0; + int touche; + int tx, ty = grille*taille_case; + int case_x, case_y; + int last_case_x_j1, last_case_y_j1, last_case_x_j2, last_case_y_j2; /*dernières positions des cases du joueur 1 et 2*/ + int game = 1; + int joueur = 1; + int sprite = 1; + int placement1=0; + int placement2=0; + int rouge; + int bleu; + int blocage; + /*int limite_tour = 50*/ /*Pour la limite de sprite à 50*/ + + FILE *spriteRouge = fopen("rouge.bmp","r"); + FILE *spriteBleu = fopen("bleu.bmp","r"); + FILE *spriteBlocage = fopen("blocage.bmp","r"); + if(spriteRouge == NULL){ + printf("Le fichier 'rouge.bmp' est introuvable.\n"); + } else{ + printf("Le fichier 'rouge.bmp' est trouvé.\n"); + fclose(spriteRouge); + } + if(spriteBleu == NULL){ + printf("Le fichier 'bleu.bmp' est introuvable.\n"); + } else{ + printf("Le fichier 'bleu.bmp' est trouvé.\n"); + fclose(spriteBleu); + } + if(spriteBlocage == NULL){ + printf("Le fichier 'blocage.bmp' est introuvable.\n"); + } else{ + printf("Le fichier 'blocage.bmp' est trouvé.\n"); + fclose(spriteBlocage); + } + + + /* creation fenetre et menu principal*/ + InitialiserGraphique(); + CreerFenetre(posx,posy,500,500); + EcrireTexte(200,200,"Blocus", 2); + sleep(1); + EffacerEcran(CouleurParNom("white")); + sleep(1); + + /* Dessin des rectangles du menu*/ + DessinerRectangle(75,75,350,100); /* rectangle 1 (1 joueur)*/ + DessinerRectangle(75,250,350,100);/*rectangle 2 (2 joueurs)*/ + + /*Texte du menu*/ + EcrireTexte(150,125, "1 Joueur",2); + EcrireTexte(150,300,"2 Joueurs", 2); + + /*Vérifier si un clic a été effectué*/ + while(game == 1){ + if(SourisCliquee()) { + SourisPosition(); + x= _X; + y= _Y; + /*Vérifier si les coordonnées sont dans le premier rectangle*/ + if (_X >= 75 && _X <= 425 && _Y >= 75 && _Y <= 175) { + EffacerEcran(CouleurParNom("white")); + solo = 1; + modegrille = 1; + + } + /* Vérifier si les coordonnées sont dans le deuxième rectangle*/ + else if (_X >= 75 && _X <= 425 && _Y >= 250 && _Y <= 350) { + EffacerEcran(CouleurParNom("white")); + multi = 1; + modegrille = 1; + + } + } + + /* Choix de la taille de la grille après avoir choisi le mode de jeu*/ + for(modegrille;modegrille==1;){ + EcrireTexte(125,100,"Taille de la grille", 2); + + while(grille==0){ /* choisir taille de la grille*/ + touche = Touche(); + if(touche == XK_KP_9){ + grille = 9; + } + if(touche == XK_KP_8){ + grille = 8; + } + if(touche == XK_KP_7){ + grille = 7; + } + if(touche == XK_KP_6){ + grille = 6; + } + if(touche == XK_KP_5){ + grille = 5; + } + if(touche == XK_KP_4){ + grille = 4; + } + if(touche == XK_KP_3){ + grille = 3; + } + } + + tx = grille * taille_case; + ty = grille * taille_case; + FermerGraphique(); /*Creation d'une fenetre aux dimensions de la grille choisie*/ + InitialiserGraphique(); + CreerFenetre(posx,posy,tx,ty); + + for(i=0;i