le menu avance

This commit is contained in:
2024-11-18 17:18:12 +01:00
parent 883aff1bec
commit 194076b002
5 changed files with 75 additions and 73 deletions

View File

@@ -1,7 +1,5 @@
#include <graph.h>
#include <stdio.h>
#include "definirMaxXY.h"
#include "initialisation.h"
@@ -11,7 +9,7 @@
int compJCJ(int taille){
int fin = 0, tabx = 0, taby = 0, tour = 0, initi = 0, SourisX = 0, SourisY = 0, x = 50, y = 100, initialiser = 0;
int fin = 0, tabx = 0, taby = 0, tour = 0, initi = 0, SourisX = 0, SourisY = 0, initialiser = 0;
int maxX = 0, maxY = 0, joueurx1 = 0, joueury1 = 0, joueurx2 = 0, joueury2 = 0, placer = 1;
int emplacementcooX1 = 0, emplacementcooX2 = 0, emplacementcooY1 = 0, emplacementcooY2 = 0;
int grille[taille+2][taille+2];
@@ -79,8 +77,12 @@ int compJCJ(int taille){
SourisY = _Y;
}
VerifBlock1(SourisX, SourisY, maxX, maxY, taille, empperso);
if(grille[joueury1+1 != 0 && joueury1-1 != 0 && joueurx1+1 != 0 && joueurx1-1 != 0){
printf("\n\nechec\n\n");
if(grille[joueury1+1][joueurx1] != 0 && grille[joueury1-1][joueurx1] != 0 && grille[joueury1+1][joueurx1+1] != 0 && grille[joueury1-1][joueurx1-1] != 0 && grille[joueury1][joueurx1+1] != 0 && grille[joueury1][joueurx1-1] != 0){
LibererSprite(1);
LibererSprite(2);
LibererSprite(3);
LibererSprite(4);
return 2;
}
if(empperso[0] != 0){
if(grille[empperso[1]][empperso[0]] == 0 && (empperso[1] <= joueury1+1 && empperso[1] >= joueury1-1) && (empperso[0] <= joueurx1+1 && empperso[0] >= joueurx1-1)){
@@ -97,13 +99,6 @@ int compJCJ(int taille){
emplacementcooX1 = empperso[2];
emplacementcooY1 = empperso[3];
placer = 0;
for(tabx = 0; tabx < taille + 2; tabx++){
for(taby = 0; taby < taille + 2; taby++){
printf("%d", grille[tabx][taby]);
}
printf("\n");
}
}
}
}
@@ -128,13 +123,6 @@ int compJCJ(int taille){
grille[empblock[1]][empblock[0]] = 3;
AfficherSprite(3, empblock[2], empblock[3]);
placer = 0;
for(tabx = 0; tabx < taille + 2; tabx++){
for(taby = 0; taby < taille + 2; taby++){
printf("%d", grille[tabx][taby]);
}
printf("\n");
}
}
}
}
@@ -152,6 +140,13 @@ int compJCJ(int taille){
SourisY = _Y;
}
VerifBlock1(SourisX, SourisY, maxX, maxY, taille, empperso);
if(grille[joueury2+1][joueurx2] != 0 && grille[joueury2-1][joueurx2] != 0 && grille[joueury2+1][joueurx2+1] != 0 && grille[joueury2-1][joueurx2-1] != 0 && grille[joueury2][joueurx2+1] != 0 && grille[joueury2][joueurx2-1] != 0){
LibererSprite(1);
LibererSprite(2);
LibererSprite(3);
LibererSprite(4);
return 1;
}
if(empperso[0] != 0){
if(grille[empperso[1]][empperso[0]] == 0 && (empperso[1] <= joueury2+1 && empperso[1] >= joueury2-1) && (empperso[0] <= joueurx2+1 && empperso[0] >= joueurx2-1)){
grille[joueury2][joueurx2] = 0;
@@ -167,13 +162,6 @@ int compJCJ(int taille){
emplacementcooX2 = empperso[2];
emplacementcooY2 = empperso[3];
placer = 0;
for(tabx = 0; tabx < taille + 2; tabx++){
for(taby = 0; taby < taille + 2; taby++){
printf("%d", grille[tabx][taby]);
}
printf("\n");
}
}
}
}
@@ -199,13 +187,6 @@ int compJCJ(int taille){
grille[empblock[1]][empblock[0]] = 4;
AfficherSprite(4, empblock[2], empblock[3]);
placer = 0;
for(tabx = 0; tabx < taille + 2; tabx++){
for(taby = 0; taby < taille + 2; taby++){
printf("%d", grille[tabx][taby]);
}
printf("\n");
}
}
}
}

2
jeu.h
View File

@@ -2,7 +2,7 @@
#define JEU_H
int GraphJeu();
int Jeu();
#endif

31
main.c
View File

@@ -1,11 +1,36 @@
#include <graph.h>
#include <stdlib.h>
#include <stdio.h>
#include "jeu.h"
int main (void){
int victoire = 0;
int victoire = 0, choix = 0;
InitialiserGraphique();
CreerFenetre(50, 50, 700, 500); /* Initialise la fenetre puis lance le programme jeu.c qui lancera d'autre programme */
EffacerEcran(CouleurParNom("white"));
victoire = Jeu();
while(1){
EffacerEcran(CouleurParNom("white"));
victoire = Jeu();
printf("victoire : %d\n", victoire);
FermerGraphique();
InitialiserGraphique();
CreerFenetre(50, 50, 700, 500);
while(choix == 0){
ChoisirCouleurDessin(CouleurParNom("black"));
DessinerRectangle(100, 100, 200, 50);
EcrireTexte(120, 135, "Rejouer ?", 2);
DessinerRectangle(400, 100, 200, 50);
EcrireTexte(420, 135, "Quitter ?", 2);
if(victoire == 1){
EcrireTexte(300, 235, "Joueur 1 a gagner !", 2);
}else if (victoire == 2){
EcrireTexte(300, 235, "Joueur 2 a gagner !", 2);
}
if(choix == 5){
return EXIT_SUCCESS;
}
}
}
}

View File

@@ -1,41 +1,6 @@
#include <graph.h>
/* Code permettant de choisir la taille de la grille en fonction du chiffre que l'utilisateur a entrer qui est compris entre 3 et 9 */
int GererChoixTaille(){
int taille = 0, SourisX = 0, SourisY = 0;
while(taille == 0){
AfficherSelectionBoutton();
if(SourisCliquee()){
SourisX = _X; /* Met les coordonés de la souris si le joueur a cliquer dans SourisX et SourisY */
SourisY = _Y;
}
/* Vérifi si le joueur a cliquer dans la zone d'un des choix de taille de grille */
if(SourisX >= 100 && SourisX <= 150 && SourisY >= 100 && SourisY <= 200){
taille = 3;
}else if(SourisX >= 200 && SourisX <= 250 && SourisY >= 100 && SourisY <= 200){
taille = 4;
}else if(SourisX >= 300 && SourisX <= 350 && SourisY >= 100 && SourisY <= 200){
taille = 5;
}else if(SourisX >= 400 && SourisX <= 450 && SourisY >= 100 && SourisY <= 200){
taille = 6;
}else if(SourisX >= 500 && SourisX <= 550 && SourisY >= 100 && SourisY <= 200){
taille = 7;
}else if(SourisX >= 100 && SourisX <= 150 && SourisY >= 250 && SourisY <= 350){
taille = 8;
}else if(SourisX >= 200 && SourisX <= 250 && SourisY >= 250 && SourisY <= 350){
taille = 9;
}
}
if(taille != 0){
return taille;
}
}
/* Fonction qui affiche le cadre des bouttons et affiche une image représentant la taille du tableau disponible */
void AfficherSelectionBoutton(){
DessinerSegment(100, 100, 150, 100);
@@ -90,3 +55,34 @@ void AfficherSelectionBoutton(){
/* Code permettant de choisir la taille de la grille en fonction du chiffre que l'utilisateur a entrer qui est compris entre 3 et 9 */
int GererChoixTaille(){
int taille = 0, SourisX = 0, SourisY = 0;
while(taille == 0){
AfficherSelectionBoutton();
if(SourisCliquee()){
SourisX = _X; /* Met les coordonés de la souris si le joueur a cliquer dans SourisX et SourisY */
SourisY = _Y;
}
/* Vérifi si le joueur a cliquer dans la zone d'un des choix de taille de grille */
if(SourisX >= 100 && SourisX <= 150 && SourisY >= 100 && SourisY <= 200){
taille = 3;
}else if(SourisX >= 200 && SourisX <= 250 && SourisY >= 100 && SourisY <= 200){
taille = 4;
}else if(SourisX >= 300 && SourisX <= 350 && SourisY >= 100 && SourisY <= 200){
taille = 5;
}else if(SourisX >= 400 && SourisX <= 450 && SourisY >= 100 && SourisY <= 200){
taille = 6;
}else if(SourisX >= 500 && SourisX <= 550 && SourisY >= 100 && SourisY <= 200){
taille = 7;
}else if(SourisX >= 100 && SourisX <= 150 && SourisY >= 250 && SourisY <= 350){
taille = 8;
}else if(SourisX >= 200 && SourisX <= 250 && SourisY >= 250 && SourisY <= 350){
taille = 9;
}
}
if(taille != 0){
return taille;
}
}

View File

@@ -4,7 +4,7 @@
int VerifBlock1(int SourisX, int SourisY, int maxX, int maxY, int taille, int* coordoner){
int placement = 1, placementX = 0, placementY = 0;
int placementX = 0, placementY = 0;
if(SourisX >= 50 && SourisX <= maxX && SourisY >= 100 && SourisY <= maxY){
placementX = initialisationXbox(SourisX, maxX, taille);
placementY = initialisationYbox(SourisY, maxY, taille);