1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
| #include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#define nbMine 10
#define nombreLigne 9
#define nombreColonne 9
int i=0, j=0;
int tab[nombreLigne][nombreColonne];
void personalise(void)
{
int Ligne=-1, Colonne=-1;
printf("=>Personalisation du jeu<=");
while(Ligne<1 || Ligne>10)
{puts("\n\nDe quelle longueur voulez vous que votre champ de mine soit? (9 par defaut)");
scanf("%d", &nombreLigne);
Ligne=nombreLigne;}
while(Colonne<1 || Colonne>10)
{puts("\n\nDe quelle largeur voulez vous que votre champ de mine soit? (9 par defaut)");
scanf("%d", &nombreColonne);
Colonne=nombreColonne;}
do{
puts("\n\nCombien de mines voulez vous avoir a desamorcer? (10 par defaut)");
scanf("%d", &nbMine);
}while(nbMine>nombreLigne*nombreColonne);
}
void choisir (void)
{
int choix;
textcolor(2);
printf("Que voulez vous faire?\n\t-1 Commencer a jouer\n\t-2 Personnaliser le jeu\n\t-3 Voir les regles du jeu\n");
scanf("%d", &choix);
system("cls");
switch(choix)
{
case 1 :
{
printf("Veuillez entrer votre niveau de jeu : \n\t-1 Debutant\n\t-2 Intermediaire\n\t-3 Expert\n");
scanf("%d",&choix);
switch(choix)
{
case 1 :
{
nombreLigne=9;
nombreColonne=9;
nbMine=10;
}
break;
case 2 :
{
nombreLigne=10;
nombreColonne=10;
nbMine=40;
}
break;
case 3 :
{
nombreLigne=10;
nombreColonne=10;
nbMine=60;
}
break;
default : ;
}
}
break;
case 2 :
personalise ();
break;
case 3 :
printf("=>Les Regles du jeu<=\n\nLe jeu se presente sous la forme d'un tableau de cases a deux dimensions. Certaines cases contiennent des mines. Au depart toutes les cases sont masquees (et on ne voit donc pas les mines). L'objectif est de localiser les mines (le nombre de mines restant a localiser etant donne au joueur). Le joueur peut au choix decouvrir le contenu d'une case, ou la marquer pour signaler la presence d'une mine (c'est son hypothese et le decompte des mines se fixe la dessus). Les cases decouvertes affichent le nombre de mines dans les 8 cases voisines, sauf si la case contient elle meme une mine (auquel cas le joueur meurt et la partie est termine). Si le joueur n'est pas mort, la partie se termine lorsque le joueur a decouvert toutes les cases (sauf celles avec les mines). Son score est le temps mis pour terminer.\n");
break;
default : ;
}
}
void jeu ( )
{;}
void affichage_tableau (void)
{
printf(" ");//4 espace
for(j=0;j<nombreColonne;j++)//revoir l'initialisation avc la convention
{
printf("%d ",j);
}
printf("\n -");
for(j=0;j<nombreColonne;j++)
{
printf("--");
}
for(i=0;i<nombreLigne;i++)
{
puts(" ");
printf("%d | ",i);
for(j=0;j<nombreColonne;j++)
{
printf("x ",tab[i][j]); // affichage du tableau
}
}
puts("\n");
}
main(void)
{
int lignemine,colonnemine,recommencer,tabcase[nombreLigne][nombreColonne], i, j,mine=0,mineAlentour=0,reponse,confirmCase,compteurMine=10,caseDecouverte=0,nbCase=81;
do{
system("cls");
textcolor(4);
printf("\n\n\n\n\t\t\t\t===>>>LE DEMINEUR<<===\n\n\n\n");
textcolor(2);
choisir();
nbCase=nombreColonne*nombreLigne;
system("pause");
system("cls");
affichage_tableau( ); |
Partager