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;
|
tour = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
int coordonerX(int SourisX){
|
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){
|
for(z = 50; z <= 500; z += 50){
|
||||||
if(SourisX > z){
|
if(SourisX > z){
|
||||||
x = z + 5;
|
x = z + 5;
|
||||||
@@ -10,7 +10,7 @@ int coordonerX(int SourisX){
|
|||||||
|
|
||||||
|
|
||||||
int coordonerY(int SourisY){
|
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){
|
for(z = 100; z <= 550; z += 50){
|
||||||
if(SourisY > z){
|
if(SourisY > z){
|
||||||
x = z + 5;
|
x = z + 5;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
* 9 : x = 500 y = 550
|
* 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;
|
int maxX = 0, x = 0, max = 200;
|
||||||
if(taille == 3){
|
if(taille == 3){
|
||||||
maxX = 200;
|
maxX = 200;
|
||||||
@@ -24,7 +24,7 @@ int DefMaxX(int taille){
|
|||||||
return maxX;
|
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;
|
int maxY = 0, x = 0, max = 250;
|
||||||
for(x = 3; x < 10; x++){
|
for(x = 3; x < 10; x++){
|
||||||
if(taille == x){
|
if(taille == x){
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#include <graph.h>
|
#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"));
|
ChoisirCouleurDessin(CouleurParNom("white"));
|
||||||
RemplirRectangle(0, 0, 650, 50);
|
RemplirRectangle(0, 0, 650, 50);
|
||||||
ChoisirCouleurDessin(CouleurParNom("black"));
|
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 */
|
DessinerSegment(50, 100, x, 100); /* Dessine le bord du haut de la grille */
|
||||||
x += 50;
|
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++){
|
for(bord = 0; bord <= taille; bord++){
|
||||||
DessinerSegment(50, 100, 50 , y); /* Dessine les barre latérale en fonction de la taille choisie */
|
DessinerSegment(50, 100, 50 , y); /* Dessine les barre latérale en fonction de la taille choisie */
|
||||||
DessinerSegment(x, 100, x, y);
|
DessinerSegment(x, 100, x, y);
|
||||||
y += 50;
|
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);
|
DessinerSegment(50, y, x, y);
|
||||||
for(bord = 0; bord <= taille; bord++){
|
for(bord = 0; bord <= taille; bord++){
|
||||||
DessinerSegment(50, yy, x, yy); /* Dessine les barre horizontale de l'intérieur de la grille */
|
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;
|
int casejoueur = 0, x = 0, y = 50, verou = 0;
|
||||||
for(x = 0; x <= taille; x++){
|
for(x = 0; x <= taille; x++){
|
||||||
if(SourisX >= 50 && SourisX <= maxX){
|
if(SourisX >= 50 && SourisX <= maxX){
|
||||||
@@ -12,7 +12,7 @@ int initialisationX(int SourisX, int maxX, int taille){
|
|||||||
return casejoueur;
|
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;
|
int casejoueur = 0, x = 0, y = 100, verou = 0;
|
||||||
for(x = 0; x <= taille; x++){
|
for(x = 0; x <= taille; x++){
|
||||||
if(SourisY >= 100 && SourisY <= maxY){
|
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;
|
int caseblock = 0, x = 0, y = 50, verou = 0;
|
||||||
for(x = 0; x <= taille; x++){
|
for(x = 0; x <= taille; x++){
|
||||||
if(SourisX >= 50 && SourisX <= maxX){
|
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;
|
int caseblock = 0, x = 0, y = 100, verou = 0;
|
||||||
for(x = 0; x <= taille; x++){
|
for(x = 0; x <= taille; x++){
|
||||||
if(SourisY >= 100 && SourisY <= maxY){
|
if(SourisY >= 100 && SourisY <= maxY){
|
||||||
|
|||||||
15
jeu.c
15
jeu.c
@@ -6,21 +6,22 @@
|
|||||||
|
|
||||||
int Jeu(){
|
int Jeu(){
|
||||||
int choix[2], taille = 0, victoire = 0;
|
int choix[2], taille = 0, victoire = 0;
|
||||||
Menu(choix);
|
Menu(choix); /* Affiche le menu */
|
||||||
taille = choix[1];
|
taille = choix[1];
|
||||||
if(choix[0] == 1){
|
if(choix[0] == 1){ /* Si l'utilisateur choisie Player VS Player */
|
||||||
victoire = compJCJ(taille);
|
victoire = compJCJ(taille);
|
||||||
if(victoire == 1){
|
if(victoire == 1){ /* Si le joueur 1 a gagner alors retourner 1 */
|
||||||
return 1;
|
return 1;
|
||||||
}else if(victoire == 2){
|
}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);
|
compJCIA(taille);
|
||||||
if(victoire == 1){
|
if(victoire == 1){
|
||||||
return 1;
|
return 1; /* Si le joueur 1 a gagner alors retourner 1 */
|
||||||
}else if(victoire == 3){
|
}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 <graph.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include "jeu.h"
|
#include "jeu.h"
|
||||||
|
|
||||||
int main (void){
|
int main (void){
|
||||||
int victoire = 0, choix = 0;
|
int victoire = 0, choix = 0, SourisX = 0, SourisY = 0;
|
||||||
InitialiserGraphique();
|
InitialiserGraphique();
|
||||||
CreerFenetre(50, 50, 700, 500); /* Initialise la fenetre puis lance le programme jeu.c qui lancera d'autre programme */
|
CreerFenetre(50, 50, 700, 500); /* Initialise la fenetre puis lance le programme jeu.c qui lancera d'autre programme */
|
||||||
while(1){
|
while(1){
|
||||||
|
SourisX = 0;
|
||||||
|
SourisY = 0;
|
||||||
|
choix = 0;
|
||||||
|
victoire = 0;
|
||||||
EffacerEcran(CouleurParNom("white"));
|
EffacerEcran(CouleurParNom("white"));
|
||||||
victoire = Jeu();
|
victoire = Jeu(); /* Récupération du numéro du vainceur */
|
||||||
printf("victoire : %d\n", victoire);
|
|
||||||
FermerGraphique();
|
FermerGraphique();
|
||||||
InitialiserGraphique();
|
InitialiserGraphique();
|
||||||
CreerFenetre(50, 50, 700, 500);
|
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"));
|
ChoisirCouleurDessin(CouleurParNom("black"));
|
||||||
DessinerRectangle(100, 100, 200, 50);
|
DessinerRectangle(100, 100, 200, 50);
|
||||||
EcrireTexte(120, 135, "Rejouer ?", 2);
|
EcrireTexte(120, 135, "Rejouer ?", 2);
|
||||||
DessinerRectangle(400, 100, 200, 50);
|
DessinerRectangle(400, 100, 200, 50);
|
||||||
EcrireTexte(420, 135, "Quitter ?", 2);
|
EcrireTexte(420, 135, "Quitter ?", 2);
|
||||||
if(victoire == 1){
|
while(SourisCliquee()){
|
||||||
EcrireTexte(300, 235, "Joueur 1 a gagner !", 2);
|
SourisX = _X;
|
||||||
}else if (victoire == 2){
|
SourisY = _Y;
|
||||||
EcrireTexte(300, 235, "Joueur 2 a gagner !", 2);
|
|
||||||
}
|
}
|
||||||
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;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
2
menu.c
2
menu.c
@@ -7,7 +7,7 @@
|
|||||||
#include "grille.h"
|
#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 */
|
int x = 50, y = 50, taille = -5, choix = 0, echotaille = 0, verrou = 0; /* initialisation des variable */
|
||||||
couleur c = CouleurParNom("white");
|
couleur c = CouleurParNom("white");
|
||||||
while(choix == 0){ /* Condition pour que le menu s'arrête quand le joueur aura selectionner le nombre de joueur */
|
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>
|
#include <graph.h>
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fonction qui permet de déssiner le bouton du Joueur contre Joueur
|
* Fonction qui permet de déssiner le bouton du Joueur contre Joueur
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
void nbjoueur(){
|
||||||
|
|
||||||
int nbjoueur(){
|
|
||||||
int x = 100, xx = 250, y = 150, l = 30, h = 30, angle1 = 20, angle2 = 30;
|
int x = 100, xx = 250, y = 150, l = 30, h = 30, angle1 = 20, angle2 = 30;
|
||||||
ChoisirCouleurDessin(CouleurParNom("Black"));
|
ChoisirCouleurDessin(CouleurParNom("Black"));
|
||||||
DessinerSegment(x, y, xx, y);
|
DessinerSegment(x, y, xx, y);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#define NBJOUEUR_H
|
#define NBJOUEUR_H
|
||||||
|
|
||||||
|
|
||||||
int nbjoueur();
|
void nbjoueur();
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,14 +1,10 @@
|
|||||||
#include <graph.h>
|
#include <graph.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fonction qui permet de déssiner le bouton du joueur contre IA
|
* Fonction qui permet de déssiner le bouton du joueur contre IA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
void nbjoueur2(){
|
||||||
|
|
||||||
int nbjoueur2(){
|
|
||||||
int x = 400, xx = 550, y = 150, l = 30, h = 30, angle1 = 20, angle2 = 30;
|
int x = 400, xx = 550, y = 150, l = 30, h = 30, angle1 = 20, angle2 = 30;
|
||||||
ChoisirCouleurDessin(CouleurParNom("Black"));
|
ChoisirCouleurDessin(CouleurParNom("Black"));
|
||||||
DessinerSegment(x, y, xx, y);
|
DessinerSegment(x, y, xx, y);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#define NBJOUEUR2_H
|
#define NBJOUEUR2_H
|
||||||
|
|
||||||
|
|
||||||
int nbjoueur2();
|
void nbjoueur2();
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
6
taille.c
6
taille.c
@@ -82,7 +82,5 @@ int GererChoixTaille(){
|
|||||||
taille = 9;
|
taille = 9;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(taille != 0){
|
return taille;
|
||||||
return taille;
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
#include "initialisation.h"
|
#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;
|
int placementX = 0, placementY = 0;
|
||||||
if(SourisX >= 50 && SourisX <= maxX && SourisY >= 100 && SourisY <= maxY){
|
if(SourisX >= 50 && SourisX <= maxX && SourisY >= 100 && SourisY <= maxY){
|
||||||
placementX = initialisationXbox(SourisX, maxX, taille);
|
placementX = initialisationXbox(SourisX, maxX, taille);
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#ifndef VERIFICATIONBLOCK_H
|
#ifndef VERIFICATIONBLOCK_H
|
||||||
#define 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
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user