Correction d'un beug et ajout de commentaire plus organisation de code
@@ -1,6 +1,7 @@
|
||||
#include <graph.h>
|
||||
#include <time.h>
|
||||
|
||||
|
||||
#include "definirMaxXY.h"
|
||||
#include "initialisation.h"
|
||||
#include "coordoner.h"
|
||||
@@ -13,49 +14,51 @@ int compJCIA(int taille){
|
||||
int grille[taille+2][taille+2];
|
||||
int empblock[4] = {0, 0, 0, 0}, empperso[4] = {0, 0, 0, 0};
|
||||
srand(time(NULL));
|
||||
maxX = DefMaxX(taille);
|
||||
maxX = DefMaxX(taille); /* Définie les positions maximum de la grille */
|
||||
maxY = DefMaxY(taille);
|
||||
for(tabx = 0; tabx < taille + 2; tabx++){
|
||||
for(taby = 0; taby < taille + 2; taby++){
|
||||
grille[tabx][taby] = 0;
|
||||
grille[tabx][taby] = 0; /* Initialise le tableau a double dimension */
|
||||
if(taby == 0 || taby == taille + 1 || tabx == 0 || tabx == taille + 1){
|
||||
grille[tabx][taby] = 9;
|
||||
}
|
||||
}
|
||||
}
|
||||
EcrireTexte(30, 40, "Joueur 1 choisissez l'emplacement de base du pion 1", 1);
|
||||
while(initi == 0){
|
||||
while(initi == 0){ /* Initialise l'emplacement du joueur 1 */
|
||||
if(SourisCliquee()){
|
||||
SourisX = _X;
|
||||
SourisY = _Y;
|
||||
}
|
||||
if(initialiser == 0){
|
||||
if(SourisX >= 50 && SourisX <= maxX && SourisY >= 100 && SourisY <= maxY){
|
||||
ChargerSprite("pion1.png");
|
||||
joueurx1 = initialisationX(SourisX, maxX, taille);
|
||||
/* Change a l'index du tableau une valeur pour colision et affiche le sprote sur la case correspondante */
|
||||
ChargerSprite("./image/pion1.png");
|
||||
joueurx1 = initialisationX(SourisX, maxX, taille); /* renvoie l'index de la case cliquee */
|
||||
joueury1 = initialisationY(SourisY, maxY, taille);
|
||||
emplacementcooX1 = coordonerX(SourisX);
|
||||
emplacementcooX1 = coordonerX(SourisX); /* renvoie les coordoner qui a été cliquee dans la grille */
|
||||
emplacementcooY1 = coordonerY(SourisY);
|
||||
AfficherSprite(1, emplacementcooX1, emplacementcooY1);
|
||||
grille[joueury1][joueurx1] = 1;
|
||||
grille[joueury1][joueurx1] = 1; /* Permet de changer a l'index cliquee la valeur pour la detection de colision */
|
||||
initialiser++;
|
||||
SourisX = 0;
|
||||
SourisY = 0;
|
||||
EffaceIA();
|
||||
EffaceIA(); /* Clear l'affichage du haut */
|
||||
EcrireTexte(30, 40, "Joueur 2 choisissez l'emplacement de base du pion 2", 1);
|
||||
}
|
||||
}else if (initialiser == 1){
|
||||
/* Change a l'index du tableau une valeur pour colision et affiche le sprite sur la case correspondante */
|
||||
SourisX = rand() % maxX;
|
||||
SourisY = rand() % maxY;
|
||||
SourisY = rand() % maxY; /* Voici l'IA */
|
||||
if(SourisX >= 50 && SourisX <= maxX && SourisY >= 100 && SourisY <= maxY){
|
||||
ChargerSprite("pion2.png");
|
||||
joueurx2 = initialisationX(SourisX, maxX, taille);
|
||||
ChargerSprite("./image/pion2.png");
|
||||
joueurx2 = initialisationX(SourisX, maxX, taille); /* renvoi l'index de la case de la grille choisie pa l'IA */
|
||||
joueury2 = initialisationY(SourisY, maxY, taille);
|
||||
if(grille[joueury2][joueurx2] != 1){
|
||||
emplacementcooX2 = coordonerX(SourisX);
|
||||
emplacementcooX2 = coordonerX(SourisX); /* renvoie les coordonées de l'emplacement choisie par l'IA */
|
||||
emplacementcooY2 = coordonerY(SourisY);
|
||||
AfficherSprite(2, emplacementcooX2, emplacementcooY2);
|
||||
grille[joueury2][joueurx2] = 2;
|
||||
grille[joueury2][joueurx2] = 2; /* change a l'index la valeur pour la colision */
|
||||
initialiser++;
|
||||
initi++;
|
||||
}
|
||||
@@ -64,11 +67,11 @@ int compJCIA(int taille){
|
||||
}
|
||||
}
|
||||
}
|
||||
ChargerSprite("croix1.png");
|
||||
ChargerSprite("croix2.png");
|
||||
ChargerSprite("./image/croix1.png"); /* charge les images des blocks */
|
||||
ChargerSprite("./image/croix2.png");
|
||||
while(fin == 0){
|
||||
if(tour == 0){
|
||||
EffaceIA();
|
||||
EffaceIA(); /* efface l'affichage des tours */
|
||||
EcrireTexte(30, 40, "Tour du joueur 1", 2);
|
||||
SourisX = 0;
|
||||
SourisY = 0;
|
||||
@@ -78,87 +81,87 @@ int compJCIA(int taille){
|
||||
SourisY = _Y;
|
||||
}
|
||||
VerifBlock1(SourisX, SourisY, maxX, maxY, taille, empperso);
|
||||
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){
|
||||
if(grille[joueury1+1][joueurx1-1] != 0 && grille[joueury1+1][joueurx1] != 0 && grille[joueury1+1][joueurx1+1] && grille[joueury1][joueurx1-1] != 0 && grille[joueury1][joueurx1+1] != 0 && grille[joueury1-1][joueurx1-1] != 0 && grille[joueury1-1][joueurx1] != 0 && grille[joueury1-1][joueurx1+1] != 0){
|
||||
LibererSprite(1);
|
||||
LibererSprite(2);
|
||||
LibererSprite(2); /* verification des conditions de victoire */
|
||||
LibererSprite(3);
|
||||
LibererSprite(4);
|
||||
return 3;
|
||||
return 3; /* arrete le programme et indique qui a gagner (le 3 car c'est contre l'IA) */
|
||||
}
|
||||
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)){
|
||||
grille[joueury1][joueurx1] = 0;
|
||||
grille[joueury1][joueurx1] = 0; /* Change l'emplacement précedent pour le rendre disponible */
|
||||
ChoisirCouleurDessin(CouleurParNom("white"));
|
||||
RemplirRectangle(emplacementcooX1, emplacementcooY1, 40, 40);
|
||||
RemplirRectangle(emplacementcooX1, emplacementcooY1, 40, 40); /* Efface le spite a l'ancien emplacement */
|
||||
ChoisirCouleurDessin(CouleurParNom("black"));
|
||||
joueurx1 = empperso[0];
|
||||
joueurx1 = empperso[0]; /* donne l'index de la grille par rapport au clique effectuer */
|
||||
joueury1 = empperso[1];
|
||||
empperso[2] = coordonerX(SourisX);
|
||||
empperso[2] = coordonerX(SourisX); /* donne les coordonnés du clique sur la grille */
|
||||
empperso[3] = coordonerY(SourisY);
|
||||
grille[empperso[1]][empperso[0]] = 1;
|
||||
AfficherSprite(1, empperso[2], empperso[3]);
|
||||
grille[empperso[1]][empperso[0]] = 1; /* change la valeur pour la colision */
|
||||
AfficherSprite(1, empperso[2], empperso[3]); /* Affiche le sprite a l'emplacement demander */
|
||||
emplacementcooX1 = empperso[2];
|
||||
emplacementcooY1 = empperso[3];
|
||||
emplacementcooY1 = empperso[3]; /* Recupère l'ancient index pour le supprimer plus tard */
|
||||
placer = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
empperso[0] = 0;
|
||||
empperso[0] = 0; /* change empperso[0] a 0 pour la confirmation que le joueur a bien changer une variable */
|
||||
placer = 1;
|
||||
tour++;
|
||||
}else if(tour == 1){
|
||||
EffaceIA();
|
||||
EffaceIA(); /* Efface l'ancient emplacement du haut de l'affichage */
|
||||
EcrireTexte(30, 40, "Joueur 1 place le bloc", 2);
|
||||
SourisX = 0;
|
||||
SourisX = 0; /* Réinitialise les variables des souris pour refaire une SourisCliquee() */
|
||||
SourisY = 0;
|
||||
while(placer == 1){
|
||||
if(SourisCliquee()){
|
||||
SourisX = _X;
|
||||
SourisY = _Y;
|
||||
}
|
||||
} /* Prend les coordoner de la souris cliquee */
|
||||
VerifBlock1(SourisX, SourisY, maxX, maxY, taille, empblock);
|
||||
if(empblock[0] != 0){
|
||||
if(grille[empblock[1]][empblock[0]] == 0){
|
||||
empblock[2] = coordonerX(SourisX);
|
||||
empblock[2] = coordonerX(SourisX); /* Fait en sorte d'avoir les coordonnées par rapport a la grille */
|
||||
empblock[3] = coordonerY(SourisY);
|
||||
grille[empblock[1]][empblock[0]] = 3;
|
||||
AfficherSprite(3, empblock[2], empblock[3]);
|
||||
grille[empblock[1]][empblock[0]] = 3; /* change l'index de colision */
|
||||
AfficherSprite(3, empblock[2], empblock[3]); /* Affiche le sprite */
|
||||
placer = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
empblock[0] = 0;
|
||||
empblock[0] = 0; /* change empperso[0] a 0 pour la confirmation que le joueur a bien changer une variable */
|
||||
placer = 1;
|
||||
tour++;
|
||||
}else if(tour == 2){
|
||||
EffaceIA();
|
||||
EffaceIA(); /* Efface l'affichage du haut de l'écran */
|
||||
EcrireTexte(30, 40, "Tour du joueur 2", 2);
|
||||
SourisX = 0;
|
||||
SourisX = 0; /* remet a zero les variable Souris */
|
||||
SourisY = 0;
|
||||
while(placer == 1){
|
||||
SourisX = rand() % maxX;
|
||||
SourisX = rand() % maxX; /* Le code de l'IA pour l'IA */
|
||||
SourisY = rand() % maxY;
|
||||
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){
|
||||
if(grille[joueury2+1][joueurx2-1] != 0 && grille[joueury2+1][joueurx2] != 0 && grille[joueury2+1][joueurx2+1] != 0 && grille[joueury2][joueurx2-1] != 0 && grille[joueury2][joueurx2+1] != 0 && grille[joueury2-1][joueurx2-1] != 0 && grille[joueury2-1][joueurx2] != 0 && grille[joueury2-1][joueurx2+1] != 0){
|
||||
LibererSprite(1);
|
||||
LibererSprite(2);
|
||||
LibererSprite(3);
|
||||
LibererSprite(3); /* condition de perte pour l'IA */
|
||||
LibererSprite(4);
|
||||
return 1;
|
||||
return 1; /* retourne 1 pour dire que le joueur 1 a gagner */
|
||||
}
|
||||
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;
|
||||
grille[joueury2][joueurx2] = 0; /* met a l'index précedent a zero */
|
||||
ChoisirCouleurDessin(CouleurParNom("white"));
|
||||
RemplirRectangle(emplacementcooX2, emplacementcooY2, 40, 40);
|
||||
RemplirRectangle(emplacementcooX2, emplacementcooY2, 40, 40); /* supprime le sprite de l'emplacement précedant */
|
||||
ChoisirCouleurDessin(CouleurParNom("black"));
|
||||
joueurx2 = empperso[0];
|
||||
joueurx2 = empperso[0]; /* Change les anciennes donner par les nouvelles donner */
|
||||
joueury2 = empperso[1];
|
||||
empperso[2] = coordonerX(SourisX);
|
||||
empperso[2] = coordonerX(SourisX); /* Donne les coordoner par rapport au coordoner donner par la souris et la grille */
|
||||
empperso[3] = coordonerY(SourisY);
|
||||
grille[empperso[1]][empperso[0]] = 2;
|
||||
grille[empperso[1]][empperso[0]] = 2; /* Change l'emplacement de la grille pour la colision */
|
||||
AfficherSprite(2, empperso[2], empperso[3]);
|
||||
emplacementcooX2 = empperso[2];
|
||||
emplacementcooX2 = empperso[2]; /* met le nouvelle emplacement dans l'ancien */
|
||||
emplacementcooY2 = empperso[3];
|
||||
placer = 0;
|
||||
}
|
||||
@@ -174,12 +177,12 @@ int compJCIA(int taille){
|
||||
SourisX = 0;
|
||||
SourisY = 0;
|
||||
while(placer == 1){
|
||||
SourisX = rand() % maxX;
|
||||
SourisX = rand() % maxX; /* code de l'IA */
|
||||
SourisY = rand() % maxY;
|
||||
VerifBlock1(SourisX, SourisY, maxX, maxY, taille, empblock);
|
||||
if(empblock[0] != 0){
|
||||
if(grille[empblock[1]][empblock[0]] == 0){
|
||||
empblock[2] = coordonerX(SourisX);
|
||||
empblock[2] = coordonerX(SourisX); /* même chose que précedemment */
|
||||
empblock[3] = coordonerY(SourisY);
|
||||
grille[empblock[1]][empblock[0]] = 4;
|
||||
AfficherSprite(4, empblock[2], empblock[3]);
|
||||
@@ -197,6 +200,6 @@ int compJCIA(int taille){
|
||||
|
||||
void EffaceIA(){
|
||||
ChoisirCouleurDessin(CouleurParNom("white"));
|
||||
RemplirRectangle(0, 0, 650, 50);
|
||||
RemplirRectangle(0, 0, 650, 50); /* Fonction qui supprime l'affichage des tours */
|
||||
ChoisirCouleurDessin(CouleurParNom("black"));
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define COMPORTEMENTJCIA_H
|
||||
|
||||
|
||||
void compJCIA(int taille);
|
||||
int compJCIA(int taille);
|
||||
|
||||
void EffaceIA();
|
||||
|
||||
|
||||
@@ -12,30 +12,30 @@ int compJCJ(int taille){
|
||||
int emplacementcooX1 = 0, emplacementcooX2 = 0, emplacementcooY1 = 0, emplacementcooY2 = 0;
|
||||
int grille[taille+2][taille+2];
|
||||
int empblock[4] = {0, 0, 0, 0}, empperso[4] = {0, 0, 0, 0};
|
||||
maxX = DefMaxX(taille);
|
||||
maxX = DefMaxX(taille); /* Defini les maximum de X et Y */
|
||||
maxY = DefMaxY(taille);
|
||||
for(tabx = 0; tabx < taille + 2; tabx++){
|
||||
for(taby = 0; taby < taille + 2; taby++){
|
||||
grille[tabx][taby] = 0;
|
||||
grille[tabx][taby] = 0; /* Defini la grille */
|
||||
if(taby == 0 || taby == taille + 1 || tabx == 0 || tabx == taille + 1){
|
||||
grille[tabx][taby] = 9;
|
||||
}
|
||||
}
|
||||
}
|
||||
EcrireTexte(30, 40, "Joueur 1 choisissez l'emplacement de base du pion 1", 1);
|
||||
while(initi == 0){
|
||||
if(SourisCliquee()){
|
||||
while(initi == 0){ /* Initialise la position des deux joueurs */
|
||||
if(SourisCliquee()){ /* Recupère les coordonées de la souris */
|
||||
SourisX = _X;
|
||||
SourisY = _Y;
|
||||
}
|
||||
if(initialiser == 0){
|
||||
if(SourisX >= 50 && SourisX <= maxX && SourisY >= 100 && SourisY <= maxY){
|
||||
ChargerSprite("pion1.png");
|
||||
ChargerSprite("./image/pion1.png"); /* Charge l'image, trouve l'index par la position de la souris ainsi que les coordonées */
|
||||
joueurx1 = initialisationX(SourisX, maxX, taille);
|
||||
joueury1 = initialisationY(SourisY, maxY, taille);
|
||||
emplacementcooX1 = coordonerX(SourisX);
|
||||
emplacementcooY1 = coordonerY(SourisY);
|
||||
AfficherSprite(1, emplacementcooX1, emplacementcooY1);
|
||||
AfficherSprite(1, emplacementcooX1, emplacementcooY1); /* Affiche le sprite */
|
||||
grille[joueury1][joueurx1] = 1;
|
||||
initialiser++;
|
||||
SourisX = 0;
|
||||
@@ -45,10 +45,10 @@ int compJCJ(int taille){
|
||||
}
|
||||
}else if (initialiser == 1){
|
||||
if(SourisX >= 50 && SourisX <= maxX && SourisY >= 100 && SourisY <= maxY){
|
||||
ChargerSprite("pion2.png");
|
||||
ChargerSprite("./image/pion2.png");
|
||||
joueurx2 = initialisationX(SourisX, maxX, taille);
|
||||
joueury2 = initialisationY(SourisY, maxY, taille);
|
||||
if(grille[joueury2][joueurx2] != 1){
|
||||
if(grille[joueury2][joueurx2] != 1){ /* Si l'emplacement n'est pas déjà pris par l'user 1 */
|
||||
emplacementcooX2 = coordonerX(SourisX);
|
||||
emplacementcooY2 = coordonerY(SourisY);
|
||||
AfficherSprite(2, emplacementcooX2, emplacementcooY2);
|
||||
@@ -60,24 +60,24 @@ int compJCJ(int taille){
|
||||
SourisY = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
ChargerSprite("croix1.png");
|
||||
ChargerSprite("croix2.png");
|
||||
} /* Charge les sprites */
|
||||
ChargerSprite("./image/croix1.png");
|
||||
ChargerSprite("./image/croix2.png");
|
||||
while(fin == 0){
|
||||
if(tour == 0){
|
||||
if(tour == 0){ /* Tour du joueur 1 */
|
||||
Efface();
|
||||
EcrireTexte(30, 40, "Tour du joueur 1", 2);
|
||||
SourisX = 0;
|
||||
SourisY = 0;
|
||||
while(placer == 1){
|
||||
if(SourisCliquee()){
|
||||
SourisX = _X;
|
||||
SourisX = _X; /* Recupere les coordonnées de la souris X et Y */
|
||||
SourisY = _Y;
|
||||
}
|
||||
VerifBlock1(SourisX, SourisY, maxX, maxY, taille, empperso);
|
||||
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){
|
||||
if(grille[joueury1+1][joueurx1-1] != 0 && grille[joueury1+1][joueurx1] != 0 && grille[joueury1+1][joueurx1+1] != 0 && grille[joueury1][joueurx1-1] != 0 && grille[joueury1][joueurx1+1] != 0 && grille[joueury1-1][joueurx1-1] != 0 && grille[joueury1-1][joueurx1] != 0 && grille[joueury1-1][joueurx1+1] != 0){
|
||||
LibererSprite(1);
|
||||
LibererSprite(2);
|
||||
LibererSprite(2); /* condition de victoire */
|
||||
LibererSprite(3);
|
||||
LibererSprite(4);
|
||||
return 2;
|
||||
@@ -86,7 +86,7 @@ int compJCJ(int taille){
|
||||
if(grille[empperso[1]][empperso[0]] == 0 && (empperso[1] <= joueury1+1 && empperso[1] >= joueury1-1) && (empperso[0] <= joueurx1+1 && empperso[0] >= joueurx1-1)){
|
||||
grille[joueury1][joueurx1] = 0;
|
||||
ChoisirCouleurDessin(CouleurParNom("white"));
|
||||
RemplirRectangle(emplacementcooX1, emplacementcooY1, 40, 40);
|
||||
RemplirRectangle(emplacementcooX1, emplacementcooY1, 40, 40); /* Suprime l'ancient perso pour le remplacer par un nouveau */
|
||||
ChoisirCouleurDessin(CouleurParNom("black"));
|
||||
joueurx1 = empperso[0];
|
||||
joueury1 = empperso[1];
|
||||
@@ -138,7 +138,7 @@ 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){
|
||||
if(grille[joueury2+1][joueurx2-1] != 0 && grille[joueury2+1][joueurx2] != 0 && grille[joueury2+1][joueurx2+1] != 0 && grille[joueury2][joueurx2-1] != 0 && grille[joueury2][joueurx2+1] != 0 && grille[joueury2-1][joueurx2-1] != 0 && grille[joueury2-1][joueurx2] != 0 && grille[joueury2-1][joueurx2+1]){
|
||||
LibererSprite(1);
|
||||
LibererSprite(2);
|
||||
LibererSprite(3);
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
int coordonerX(int SourisX){
|
||||
int x = 0, z = 0;
|
||||
for(z = 50; z <= 500; z += 50){
|
||||
if(SourisX > z){
|
||||
if(SourisX > z){ /* Récupère les coordonnées par rapport a l'emplacement du sprite */
|
||||
x = z + 5;
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ int coordonerX(int SourisX){
|
||||
int coordonerY(int SourisY){
|
||||
int x = 0, z = 0;
|
||||
for(z = 100; z <= 550; z += 50){
|
||||
if(SourisY > z){
|
||||
if(SourisY > z){ /* de même que le code mis en haut */
|
||||
x = z + 5;
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,7 @@ int coordonerY(int SourisY){
|
||||
void VerifBlock1(int SourisX, int SourisY, int maxX, int maxY, int taille, int* coordoner){
|
||||
int placementX = 0, placementY = 0;
|
||||
if(SourisX >= 50 && SourisX <= maxX && SourisY >= 100 && SourisY <= maxY){
|
||||
placementX = initialisationXbox(SourisX, maxX, taille);
|
||||
placementX = initialisationXbox(SourisX, maxX, taille); /* récupère l'index de la case selectionner par le joueur */
|
||||
placementY = initialisationYbox(SourisY, maxY, taille);
|
||||
}
|
||||
coordoner[0] = placementX;
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
* 7 : x = 400 y = 450
|
||||
* 8 : x = 450 y = 500
|
||||
* 9 : x = 500 y = 550
|
||||
*
|
||||
* Les deux codes permettent de définir la taille maximale en pixel
|
||||
*/
|
||||
|
||||
int DefMaxX(int taille){
|
||||
|
||||
|
Before Width: | Height: | Size: 747 B After Width: | Height: | Size: 747 B |
|
Before Width: | Height: | Size: 453 B After Width: | Height: | Size: 453 B |
|
Before Width: | Height: | Size: 603 B After Width: | Height: | Size: 603 B |
|
Before Width: | Height: | Size: 933 B After Width: | Height: | Size: 933 B |
|
Before Width: | Height: | Size: 522 B After Width: | Height: | Size: 522 B |
|
Before Width: | Height: | Size: 660 B After Width: | Height: | Size: 660 B |
|
Before Width: | Height: | Size: 918 B After Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 363 B After Width: | Height: | Size: 363 B |
|
Before Width: | Height: | Size: 366 B After Width: | Height: | Size: 366 B |
|
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 267 B |
|
Before Width: | Height: | Size: 270 B After Width: | Height: | Size: 270 B |
@@ -5,7 +5,7 @@ int initialisationX(int SourisX, int maxX, int taille){
|
||||
if(SourisX <= y && verou == 0){
|
||||
casejoueur = x;
|
||||
verou++;
|
||||
}
|
||||
} /* code qui retourne l'index X de la case du joueur */
|
||||
y += 50;
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,7 @@ int initialisationY(int SourisY, int maxY, int taille){
|
||||
if(SourisY <= y && verou == 0){
|
||||
casejoueur = x;
|
||||
verou++;
|
||||
}
|
||||
} /* code qui retourne l'index Y de la case du joueur */
|
||||
y += 50;
|
||||
}
|
||||
}
|
||||
@@ -34,7 +34,7 @@ int initialisationXbox(int SourisX, int maxX, int taille){
|
||||
if(SourisX >= 50 && SourisX <= maxX){
|
||||
if(SourisX <= y && verou == 0){
|
||||
caseblock = x;
|
||||
verou++;
|
||||
verou++; /* code qui retourne l'index X de la case du block */
|
||||
}
|
||||
y += 50;
|
||||
}
|
||||
@@ -49,7 +49,7 @@ int initialisationYbox(int SourisY, int maxY, int taille){
|
||||
if(SourisY >= 100 && SourisY <= maxY){
|
||||
if(SourisY <= y && verou == 0){
|
||||
caseblock = x;
|
||||
verou++;
|
||||
verou++; /* code qui retourne l'index Y de la case du block */
|
||||
}
|
||||
y += 50;
|
||||
}
|
||||
|
||||
17
main.c
@@ -10,19 +10,19 @@ int main (void){
|
||||
int victoire = 0, choix = 0, SourisX = 0, SourisY = 0;
|
||||
InitialiserGraphique();
|
||||
CreerFenetre(50, 50, 700, 500); /* Initialise la fenetre puis lance le programme jeu.c qui lancera d'autre programme */
|
||||
while(1){
|
||||
while(1){ /* Boucle infinie pour le jeu la seul façons d'arreter le jeu hors de la croix de la fenetre est de cliquer sur quitter une fois une partie fini */
|
||||
choix = 0;
|
||||
SourisX = 0;
|
||||
SourisY = 0;
|
||||
EffacerEcran(CouleurParNom("white"));
|
||||
victoire = Jeu();
|
||||
victoire = Jeu(); /* Lance le jeu pour la première fois */
|
||||
FermerGraphique();
|
||||
InitialiserGraphique();
|
||||
CreerFenetre(50, 50, 700, 500);
|
||||
while(choix == 0){
|
||||
ChoisirCouleurDessin(CouleurParNom("black"));
|
||||
DessinerRectangle(100, 100, 200, 50);
|
||||
EcrireTexte(120, 135, "Rejouer ?", 2);
|
||||
EcrireTexte(120, 135, "Rejouer ?", 2); /* Affiche les bouttons pour rejouer ou alors quitter */
|
||||
DessinerRectangle(400, 100, 200, 50);
|
||||
EcrireTexte(420, 135, "Quitter ?", 2);
|
||||
if(SourisCliquee()){
|
||||
@@ -30,21 +30,20 @@ int main (void){
|
||||
SourisY = _Y;
|
||||
}
|
||||
if(SourisX <= 300 && SourisX >= 100 && SourisY <= 150 && SourisY >= 100){
|
||||
choix++;
|
||||
choix++; /* Fonction qui dit juste que le joueur veux rejouer donc change la variable de la boucle while */
|
||||
}else if(SourisX <= 600 && SourisX >= 400 && SourisY <= 150 && SourisY >= 100){
|
||||
choix = 5;
|
||||
}
|
||||
if(victoire == 1){
|
||||
EcrireTexte(200, 235, "Joueur 1 a gagner !", 2);
|
||||
}else if (victoire == 2){
|
||||
EcrireTexte(200, 235, "Joueur 2 a gagner !", 2);
|
||||
EcrireTexte(200, 235, "Joueur 2 a gagner !", 2); /* Affiche le gagnant */
|
||||
}else if (victoire == 3){
|
||||
EcrireTexte(200, 235, "L'IA a gagner !", 2);
|
||||
}else{
|
||||
EcrireTexte(200, 235, "L'IA a gagner !", 2);
|
||||
}
|
||||
if(choix == 5){
|
||||
return EXIT_SUCCESS;
|
||||
FermerGraphique();
|
||||
return EXIT_SUCCESS; /* Ferme le programme */
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -58,7 +57,7 @@ int Jeu(){
|
||||
if(choix[0] == 1){
|
||||
victoire = compJCJ(taille);
|
||||
}else if (choix[0] == 2){
|
||||
compJCIA(taille);
|
||||
victoire = compJCIA(taille);
|
||||
}
|
||||
return victoire;
|
||||
}
|
||||
|
||||
14
taille.c
@@ -7,49 +7,49 @@ void AfficherSelectionBoutton(){
|
||||
DessinerSegment(100, 200, 150, 200);
|
||||
DessinerSegment(100, 100, 100, 200);
|
||||
DessinerSegment(150, 100, 150, 200);
|
||||
ChargerSprite("3.png");
|
||||
ChargerSprite("./image/3.png");
|
||||
AfficherSprite(1, 100, 100);
|
||||
|
||||
DessinerSegment(200, 100, 250, 100);
|
||||
DessinerSegment(200, 200, 250, 200);
|
||||
DessinerSegment(200, 200, 200, 100);
|
||||
DessinerSegment(250, 200, 250, 100);
|
||||
ChargerSprite("4.png");
|
||||
ChargerSprite("./image/4.png");
|
||||
AfficherSprite(2, 200, 100);
|
||||
|
||||
DessinerSegment(300, 100, 350, 100);
|
||||
DessinerSegment(300, 200, 350, 200);
|
||||
DessinerSegment(300, 100, 300, 200);
|
||||
DessinerSegment(350, 100, 350, 200);
|
||||
ChargerSprite("5.png");
|
||||
ChargerSprite("./image/5.png");
|
||||
AfficherSprite(3, 300, 100);
|
||||
|
||||
DessinerSegment(400, 100, 450, 100);
|
||||
DessinerSegment(400, 200, 450, 200);
|
||||
DessinerSegment(400, 100, 400, 200);
|
||||
DessinerSegment(450, 100, 450, 200);
|
||||
ChargerSprite("6.png");
|
||||
ChargerSprite("./image/6.png");
|
||||
AfficherSprite(4, 400, 100);
|
||||
|
||||
DessinerSegment(500, 100, 550, 100);
|
||||
DessinerSegment(500, 200, 550, 200);
|
||||
DessinerSegment(500, 100, 500, 200);
|
||||
DessinerSegment(550, 100, 550, 200);
|
||||
ChargerSprite("7.png");
|
||||
ChargerSprite("./image/7.png");
|
||||
AfficherSprite(5, 500, 100);
|
||||
|
||||
DessinerSegment(100, 250, 150, 250);
|
||||
DessinerSegment(100, 350, 150, 350);
|
||||
DessinerSegment(100, 250, 100, 350);
|
||||
DessinerSegment(150, 250, 150, 350);
|
||||
ChargerSprite("8.png");
|
||||
ChargerSprite("./image/8.png");
|
||||
AfficherSprite(6, 100, 250);
|
||||
|
||||
DessinerSegment(200, 250, 250, 250);
|
||||
DessinerSegment(200, 350, 250, 350);
|
||||
DessinerSegment(200, 250, 200, 350);
|
||||
DessinerSegment(250, 250, 250, 350);
|
||||
ChargerSprite("9.png");
|
||||
ChargerSprite("./image/9.png");
|
||||
AfficherSprite(7, 200, 250);
|
||||
}
|
||||
|
||||
|
||||