Problème afficher par les warning régler en plus de pouvoir rejouer :)
This commit is contained in:
52
README.md
52
README.md
@@ -1,52 +0,0 @@
|
||||
Dans le code actuel il faut absolument 1 écran
|
||||
|
||||
un où l'on peut choisir la taille de la grille
|
||||
puis on choisi si il y a un second joueur
|
||||
|
||||
Un écran où
|
||||
|
||||
un ou l'on peut jouer au jeu
|
||||
|
||||
|
||||
|
||||
et un où l'on a le gagnant et de choisir entre terminer le programme et commancer une nouvelle partie
|
||||
|
||||
dans une partie a un joueur il faudra implémenter un bot pour faire le J2
|
||||
|
||||
|
||||
il faut bien diviser le projet en différent fichier pas plus de une fonction par fichier si possible (VRAIMENT IL FAUT LE FAIRE)
|
||||
|
||||
|
||||
|
||||
Voici un exemple de tableau pour la grille comme elle est a double entrer donc par exemple si le joueur demande une taille de plateu de 3 ca donnera
|
||||
|
||||
|
||||
11111
|
||||
10001
|
||||
10001
|
||||
10001
|
||||
11111
|
||||
|
||||
|
||||
car on prend en compte les bordure pour la detection des blocs par rapport au joueur
|
||||
|
||||
si il aurais pris 9:
|
||||
|
||||
|
||||
11111111111
|
||||
10000000001
|
||||
10000000001
|
||||
10000000001
|
||||
10000000001
|
||||
10000000001
|
||||
10000000001
|
||||
10000000001
|
||||
10000000001
|
||||
10000000001
|
||||
11111111111
|
||||
|
||||
|
||||
On fait taille du tableau +2 pour prendre en compte la bordure
|
||||
|
||||
|
||||
création des fichier nbjoueur pour faire des boutton clicable pour sélectionner le nombre de joueur
|
||||
@@ -195,4 +195,5 @@ int compJCJ(int taille){
|
||||
tour = 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
int coordonerX(int SourisX){
|
||||
int x = 0, z = 0;
|
||||
int x = 0, z = 0; /* Retourne les coordoner précis de X pour l'affichage de l'image */
|
||||
for(z = 50; z <= 500; z += 50){
|
||||
if(SourisX > z){
|
||||
x = z + 5;
|
||||
@@ -10,7 +10,7 @@ int coordonerX(int SourisX){
|
||||
|
||||
|
||||
int coordonerY(int SourisY){
|
||||
int x = 0, z = 0;
|
||||
int x = 0, z = 0; /* Retourn les coordoner précis de Y pour l'affichage de l'image */
|
||||
for(z = 100; z <= 550; z += 50){
|
||||
if(SourisY > z){
|
||||
x = z + 5;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
* 9 : x = 500 y = 550
|
||||
*/
|
||||
|
||||
int DefMaxX(int taille){
|
||||
int DefMaxX(int taille){ /* Retourne les coordonées maximale de X par rapport a la taille du tableau selectionner */
|
||||
int maxX = 0, x = 0, max = 200;
|
||||
if(taille == 3){
|
||||
maxX = 200;
|
||||
@@ -24,7 +24,7 @@ int DefMaxX(int taille){
|
||||
return maxX;
|
||||
}
|
||||
|
||||
int DefMaxY(int taille){
|
||||
int DefMaxY(int taille){ /* Retourne les coordonées maximale de Y par rapport a la taille du tableau selectionner */
|
||||
int maxY = 0, x = 0, max = 250;
|
||||
for(x = 3; x < 10; x++){
|
||||
if(taille == x){
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include <graph.h>
|
||||
|
||||
|
||||
void Efface(void){
|
||||
void Efface(void){ /* Fonction de feignant qui me permet juste d'effacer le haut de l'affichage de la partie */
|
||||
ChoisirCouleurDessin(CouleurParNom("white"));
|
||||
RemplirRectangle(0, 0, 650, 50);
|
||||
ChoisirCouleurDessin(CouleurParNom("black"));
|
||||
|
||||
4
grille.c
4
grille.c
@@ -8,13 +8,13 @@ void Grille(int taille){
|
||||
DessinerSegment(50, 100, x, 100); /* Dessine le bord du haut de la grille */
|
||||
x += 50;
|
||||
}
|
||||
x -= 50; /* Enlève le surplus de la fonction for */
|
||||
x -= 50; /* Enlève le surplus de la fonction for */
|
||||
for(bord = 0; bord <= taille; bord++){
|
||||
DessinerSegment(50, 100, 50 , y); /* Dessine les barre latérale en fonction de la taille choisie */
|
||||
DessinerSegment(x, 100, x, y);
|
||||
y += 50;
|
||||
}
|
||||
y -= 50; /* Enlève le surplus de la fonction for */
|
||||
y -= 50; /* Enlève le surplus de la fonction for */
|
||||
DessinerSegment(50, y, x, y);
|
||||
for(bord = 0; bord <= taille; bord++){
|
||||
DessinerSegment(50, yy, x, yy); /* Dessine les barre horizontale de l'intérieur de la grille */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
int initialisationX(int SourisX, int maxX, int taille){
|
||||
int initialisationX(int SourisX, int maxX, int taille){ /* Code qui permet de retourner le numéro X de la case ou le joueur veux le pion de base */
|
||||
int casejoueur = 0, x = 0, y = 50, verou = 0;
|
||||
for(x = 0; x <= taille; x++){
|
||||
if(SourisX >= 50 && SourisX <= maxX){
|
||||
@@ -12,7 +12,7 @@ int initialisationX(int SourisX, int maxX, int taille){
|
||||
return casejoueur;
|
||||
}
|
||||
|
||||
int initialisationY(int SourisY, int maxY, int taille){
|
||||
int initialisationY(int SourisY, int maxY, int taille){ /* Code qui permet de retourner le numéro Y de la case ou le joueur veux le pion de base */
|
||||
int casejoueur = 0, x = 0, y = 100, verou = 0;
|
||||
for(x = 0; x <= taille; x++){
|
||||
if(SourisY >= 100 && SourisY <= maxY){
|
||||
@@ -28,7 +28,7 @@ int initialisationY(int SourisY, int maxY, int taille){
|
||||
|
||||
|
||||
|
||||
int initialisationXbox(int SourisX, int maxX, int taille){
|
||||
int initialisationXbox(int SourisX, int maxX, int taille){ /* Retourne X de la case du bloc que l'on veux placer */
|
||||
int caseblock = 0, x = 0, y = 50, verou = 0;
|
||||
for(x = 0; x <= taille; x++){
|
||||
if(SourisX >= 50 && SourisX <= maxX){
|
||||
@@ -43,7 +43,7 @@ int initialisationXbox(int SourisX, int maxX, int taille){
|
||||
}
|
||||
|
||||
|
||||
int initialisationYbox(int SourisY, int maxY, int taille){
|
||||
int initialisationYbox(int SourisY, int maxY, int taille){ /* Retourne Y de la case du bloc que l'on veux placer */
|
||||
int caseblock = 0, x = 0, y = 100, verou = 0;
|
||||
for(x = 0; x <= taille; x++){
|
||||
if(SourisY >= 100 && SourisY <= maxY){
|
||||
|
||||
15
jeu.c
15
jeu.c
@@ -6,21 +6,22 @@
|
||||
|
||||
int Jeu(){
|
||||
int choix[2], taille = 0, victoire = 0;
|
||||
Menu(choix);
|
||||
Menu(choix); /* Affiche le menu */
|
||||
taille = choix[1];
|
||||
if(choix[0] == 1){
|
||||
if(choix[0] == 1){ /* Si l'utilisateur choisie Player VS Player */
|
||||
victoire = compJCJ(taille);
|
||||
if(victoire == 1){
|
||||
if(victoire == 1){ /* Si le joueur 1 a gagner alors retourner 1 */
|
||||
return 1;
|
||||
}else if(victoire == 2){
|
||||
return 2;
|
||||
return 2; /* Si le joueur 2 a gagner alors retourner 2 */
|
||||
}
|
||||
}else if (choix[0] == 2){
|
||||
}else if (choix[0] == 2){ /* Si l'utilisateur choisie Player VS IA */
|
||||
compJCIA(taille);
|
||||
if(victoire == 1){
|
||||
return 1;
|
||||
return 1; /* Si le joueur 1 a gagner alors retourner 1 */
|
||||
}else if(victoire == 3){
|
||||
return 3;
|
||||
return 3; /* Si l'IA a gagner alors retourner 3 */
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
32
main.c
32
main.c
@@ -1,34 +1,42 @@
|
||||
#include <graph.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "jeu.h"
|
||||
|
||||
int main (void){
|
||||
int victoire = 0, choix = 0;
|
||||
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){
|
||||
SourisX = 0;
|
||||
SourisY = 0;
|
||||
choix = 0;
|
||||
victoire = 0;
|
||||
EffacerEcran(CouleurParNom("white"));
|
||||
victoire = Jeu();
|
||||
printf("victoire : %d\n", victoire);
|
||||
victoire = Jeu(); /* Récupération du numéro du vainceur */
|
||||
FermerGraphique();
|
||||
InitialiserGraphique();
|
||||
CreerFenetre(50, 50, 700, 500);
|
||||
while(choix == 0){
|
||||
while(choix == 0){ /* Création de la fenetre qui permet de rejouer ou de quitter */
|
||||
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);
|
||||
while(SourisCliquee()){
|
||||
SourisX = _X;
|
||||
SourisY = _Y;
|
||||
}
|
||||
if(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);
|
||||
}else if (victoire == 3){
|
||||
EcrireTexte(200, 235, "L'IA a gagner !", 2);
|
||||
} /* Bouton pour quitter ou rejouer */
|
||||
if(SourisX > 100 && SourisX < 300 && SourisY < 150 && SourisY > 100){
|
||||
choix++;
|
||||
}else if (SourisX > 400 && SourisX < 600 && SourisY < 150 && SourisY > 100){
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
2
menu.c
2
menu.c
@@ -7,7 +7,7 @@
|
||||
#include "grille.h"
|
||||
|
||||
|
||||
int Menu(int *retour) {
|
||||
void Menu(int *retour) {
|
||||
int x = 50, y = 50, taille = -5, choix = 0, echotaille = 0, verrou = 0; /* initialisation des variable */
|
||||
couleur c = CouleurParNom("white");
|
||||
while(choix == 0){ /* Condition pour que le menu s'arrête quand le joueur aura selectionner le nombre de joueur */
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
#include <graph.h>
|
||||
|
||||
|
||||
/*
|
||||
* Fonction qui permet de déssiner le bouton du Joueur contre Joueur
|
||||
*/
|
||||
|
||||
|
||||
|
||||
int nbjoueur(){
|
||||
void nbjoueur(){
|
||||
int x = 100, xx = 250, y = 150, l = 30, h = 30, angle1 = 20, angle2 = 30;
|
||||
ChoisirCouleurDessin(CouleurParNom("Black"));
|
||||
DessinerSegment(x, y, xx, y);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define NBJOUEUR_H
|
||||
|
||||
|
||||
int nbjoueur();
|
||||
void nbjoueur();
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
#include <graph.h>
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Fonction qui permet de déssiner le bouton du joueur contre IA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
int nbjoueur2(){
|
||||
void nbjoueur2(){
|
||||
int x = 400, xx = 550, y = 150, l = 30, h = 30, angle1 = 20, angle2 = 30;
|
||||
ChoisirCouleurDessin(CouleurParNom("Black"));
|
||||
DessinerSegment(x, y, xx, y);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define NBJOUEUR2_H
|
||||
|
||||
|
||||
int nbjoueur2();
|
||||
void nbjoueur2();
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
4
taille.c
4
taille.c
@@ -82,7 +82,5 @@ int GererChoixTaille(){
|
||||
taille = 9;
|
||||
}
|
||||
}
|
||||
if(taille != 0){
|
||||
return taille;
|
||||
}
|
||||
return taille;
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "initialisation.h"
|
||||
|
||||
|
||||
int VerifBlock1(int SourisX, int SourisY, int maxX, int maxY, int taille, int* coordoner){
|
||||
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);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef VERIFICATIONBLOCK_H
|
||||
#define VERIFICATIONBLOCK_H
|
||||
|
||||
int VerifBlock1(int SourisX, int SourisY, int maxX, int maxY, int taille, int* coordoner);
|
||||
void VerifBlock1(int SourisX, int SourisY, int maxX, int maxY, int taille, int* coordoner);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user