codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <stdio.h> #include <stdlib.h> //#include<windows.h> #include<string.h> void Color(int couleurDuTexte,int couleurDeFond) // fonction d'affichage de couleurs { //HANDLE H=GetStdHandle(STD_OUTPUT_HANDLE); //SetConsoleTextAttribute(H,couleurDeFond*16+couleurDuTexte); } int main(int argc, char *argv[]) { int x; Color(9,0); printf(" *****************************************\n"); printf(" *****************************************\n"); printf(" ****** ******\n"); printf(" *******"); Color(3,0); printf (" BIENVENUE AU JEU SUDOKU "); Color(9,0); printf (" *******\n"); printf(" ******** ********\n"); printf(" ********* "); Color(3,0); printf(" REALISER PAR : "); Color(9,0); printf(" *********\n"); printf(" ********** "); Color(3,0); printf(" mejri rihem "); Color(9,0); printf ( "**********\n"); printf(" *********** & ***********\n"); printf(" ************"); Color(3,0); printf (" hana allagui "); Color(9,0); printf("************\n"); printf(" ************* *************\n"); printf(" *****************************************\n"); printf(" *****************************************\n"); printf("\n\n"); printf ("\n\n\t\t**menuGeneral**\n"); printf ("1- Nouveau jeu \n"); printf ("2- Charger jeu \n"); printf ("3- Aide \n"); printf ("4- Meilleurs scores \n"); printf ("5- Quitter \n\n\n"); do {printf("veillez saisir votre choix:\n"); scanf("%d",&x); }while(x<1||x>5); //char nomF[50]="grille_facile.txt"; charger_partie(); difficulte(); principe_du_jeu(); affichemat_expert(); expert(); return (0); } //////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// /////////// void affichemat_expert(char matriceInitiale[10][9]) { int i,j; for (j=0;j<10;j++) { for (i=0;i<9;i++) { printf(" %d ",matriceInitiale[i][j]); } printf("\n\n"); } } void difficulte(char matriceInitiale[10][9]) { int i,j,x; //préci suivant le niveau de difficulté printf("\t\tTaper le chiffre correpondant au niveau de difficult\x82\n\n"); printf("\t\t (1) Facile \n"); printf("\t\t (2) Moyen \n"); printf("\t\t (3) Difficile \n"); printf("\t\t (4) Expert \n"); printf("\t\t (5) Grille vide \n"); printf("\t\t (6) Retour au menu \n"); do {printf("veillez saisir votre choix:\n"); scanf("%d",&x); }while(x<1||x>6); } void charger_partie() { int i=0,j=0 ; char matriceInitiale [10][9]; FILE *f; char c; f=fopen("grille_facile.txt","r"); if(f==NULL) printf("impossible d'ouvrir le fichier !! "); else { c=fgetc(f) ; //lecture de premier caractère for (i=0;i<10;i++) for (j=0;j<9;j++) { while (c==' ') { c =fgetc(f); } matriceInitiale [i][j]= c ; c =fgetc(f); } } j=0; for (i=0 ; i<10 ;i++ ) { if (j==0) printf ("\n"); for (j=0 ; j<9 ;j++ ) { Color(12,0) ; printf("\t%c ",matriceInitiale [i][j]); Color(10,0) ; } } } void test(char matriceInitiale) //test de la grille finale apres avoir joué { int test,s1,s2,s3,s4,s5,s6,s7,s8,s9,tes,i,j,k,score; test=0; for(i=0;i<9;i++) { for(j=0;j<9;j++) { for(k=0;k<9;k++) { if((matriceInitiale[i][k]==matriceInitiale[i][j])&&(k!=j)) //tester sur toutes les lignes une par une test=1; if((matriceInitiale[k][j]==matriceInitiale[i][j])&&(k!=i)) //tester sur toutes les colonnes une par une test=1; } } } s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0; s9=0; for(i=0;i<9;i++) { for(j=0;j<9;j++) { if((i<3) && (j<3)) s1=s1+matriceInitiale[i][j]; if((i<3) && (j>3) && (j<6)) s2=s2+matriceInitiale[i][j]; if((i<3) && (j>6) && (j<9)) s3=s3+matriceInitiale[i][j]; if((i>3) && (i<6) && (j>3) && (j<6)) s5=s5+matriceInitiale[i][j]; if((j<3) && (i>3) && (i<6)) s4=s4+matriceInitiale[i][j]; if((i>3) && (i<6) && (j>6) && (j<9)) s6=s6+matriceInitiale[i][j]; if((i>6) && (i<9) && (j<3)) s7=s7+matriceInitiale[i][j]; if((j>3) && (j<6) && (i>6) && (i<9)) s8=s8+matriceInitiale[i][j]; if((i>6) && (i<9) && (j>6) && (j<9)) s9=s9+matriceInitiale[i][j]; } } if((s1==45)&&(s2==45)&&(s3==45)&&(s4==45)&&(s5==45)&&(s6==45)&&(s7==45)&&(s8==45)&&(s9==45)) //tester la somme des régions tes=0; else tes=1; if((test==1)||(tes==1)) printf("Dommage ! \nVous avez perdu\n"); else printf("Felicitation ! \n\nVous avez GAGNE\n\n\n"); printf("votre score est %.0f",score); } void jouer( int charge) //fonction permettant au joueur de manipuler une grille de sudoku { int i,j,k,nbr=0,li,li2,co2,co,val,s=0,li3,co3; char nom[30],value[2]; for(i=0;i<9;i++) { for(j=0;j<9;j++) { if([i][j]==0) //compter le nombre de valeurs masquées s=s+1; } } do //boucler suivant le nombre de valeurs masquées { //c'est a dire arreter la boucle if(charge == 1) //tant qu'il n'y a plus de cases vides afficher_grille_chargee(); else afficher_grille(); printf("Taper la valeur de la ligne de la case : "); //taper les coordonnées et tester les valeurs entrées scanf("%d",&li); switch(li) { case 0:break; case 1:break; case 2:break; case 3:break; case 4:break; case 5:break; case 6:break; case 7:break; case 8:break; case 10:{ printf("Taper le nom du fichier a sauvegarder\n"); scanf("%s",nom); sauvegarde(nom); }break; case 11:if(charge==1) { printf("taper la valeur de la ligne de la case a demasquer : "); scanf("%d",&li2); printf("taper la valeur de la colonne de la case a demasquer :" ); scanf("%d",&co2); matriceInitiale[li2][co2]=m9x9[li2][co2]; system("CLS"); afficher_grille_chargee(); } else { printf("taper la valeur de la ligne de la case a demasquer : "); scanf("%d",&li2); printf("taper la valeur de la colonne de la case a demasquer :" ); scanf("%d",&co2); matriceInitiale[li2][co2]=m9x9[li2][co2]; system("CLS"); afficher_grille(); } break; case 12:if(charge!=1) { printf("taper la valeur de la ligne de la case a supprimer : "); scanf("%d",&li3); printf("taper la valeur de la colonne de la case a supprimer :" ); scanf("%d",&co3); g.grille[li3][co3]=0; system("CLS"); afficher_grille(g); } else { printf("taper la valeur de la ligne de la case a supprimer : "); scanf("%d",&li3); printf("taper la valeur de la colonne de la case a supprimer :" ); scanf("%d",&co3); g.grille[li3][co3]=48; system("CLS"); afficher_grille_chargee(); } break; case 13: if(charge==1) { for(i=0;i<9;i++) for(j=0;j<9;j++) g.grille[i][j]=g.m9x9[i][j]; afficher_grille_chargee(); } else { for(i=0;i<9;i++) for(j=0;j<9;j++) g.grille[i][j]=g.m9x9[i][j]; afficher_grille_chargee(); } break; case 14:nbr=s;break; default:printf("Vous faites une erreur de saisie\n\n"); } printf("Taper la valeur de la colonne de la case : "); scanf("%d",&co); switch(co) { case 0:break; case 1:break; case 2:break; case 3:break; case 4:break; case 5:break; case 6:break; case 7:break; case 8:break; case 10:{ printf("Taper le nom du fichier a sauvegarder\n"); scanf("%s",nom); sauvegarde(g,nom); }break; case 11:if(charge==1) { printf("taper la valeur de la ligne de la case a demasquer : "); scanf("%d",&li2); printf("taper la valeur de la colonne de la case a demasquer :" ); scanf("%d",&co2); g.grille[li2][co2]=g.m9x9[li2][co2]; system("CLS"); afficher_grille_chargee(g); } else { printf("taper la valeur de la ligne de la case a demasquer : "); scanf("%d",&li2); printf("taper la valeur de la colonne de la case a demasquer :" ); scanf("%d",&co2); g.grille[li2][co2]=g.m9x9[li2][co2]; system("CLS"); afficher_grille(g); }break; case 12:if(charge!=1) { printf("taper la valeur de la ligne de la case a supprimer : "); scanf("%d",&li3); printf("taper la valeur de la colonne de la case a supprimer :" ); scanf("%d",&co3); g.grille[li3][co3]=0; system("CLS"); afficher_grille(g); } else { printf("taper la valeur de la ligne de la case a supprimer : "); scanf("%d",&li3); printf("taper la valeur de la colonne de la case a supprimer :" ); scanf("%d",&co3); g.grille[li3][co3]=48; system("CLS"); afficher_grille_chargee(); } break; case 13: if(charge==1) { for(i=0;i<9;i++) for(j=0;j<9;j++) g.grille[i][j]=g.m9x9[i][j]; afficher_grille_chargee(g); } else { for(i=0;i<9;i++) for(j=0;j<9;j++) matriceInitiale[i][j]=g.m9x9[i][j]; afficher_grille_chargee(); } break; case 14:nbr=s;break; default:printf("Vous faites une erreur de saisie\n\n"); } if(charge==1) { if(matriceInitiale[li][co]==48) { printf("taper la valeur :"); // taper la valeur à entrer dans la grille scanf("%d",&val); switch(val) { case 1:matriceInitiale[li][co]=val+48; nbr++; score=score+10; break; case 2:matriceInitiale[li][co]=val+48; nbr++; matriceInitialescore=score+10; break; case 3:matriceInitiale[li][co]=val+48; nbr++; score=gscore+10; break; case 4:matriceInitiale[li][co]=val+48; nbr++; score=score+10; break; case 5:matriceInitiale[li][co]=val+48; nbr++; score=score+10; break; case 6:matriceInitiale[li][co]=val+48; nbr++; score=score+10; break; case 7:matriceInitiale[li][co]=val+48; nbr++; score=score+10; break; case 8:matriceInitiale[li][co]=val+48; nbr++; score=score+10; break; case 9:matriceInitiale[li][co]=val+48; nbr++; score=score+10; break; case 10:printf("Taper le nom du fichier a sauvegarder\n"); scanf("%s",nom); sauvegarde(nom); break; case 11:if(charge==1) { printf("taper la valeur de la ligne de la case a demasquer : "); scanf("%d",&li2); printf("taper la valeur de la colonne de la case a demasquer :" ); scanf("%d",&co2); matriceInitiale[li2][co2]=m9x9[li2][co2]; afficher_grille_chargee(g); } else { printf("taper la valeur de la ligne de la case a demasquer : "); scanf("%d",&li2); printf("taper la valeur de la colonne de la case a demasquer :" ); scanf("%d",&co2); matriceInitiale[li2][co2]=m9x9[li2][co2]; afficher_grille(); }break; case 12:if(charge!=1) { printf("taper la valeur de la ligne de la case a supprimer : "); scanf("%d",&li3); printf("taper la valeur de la colonne de la case a supprimer :" ); scanf("%d",&co3); matriceInitiale[li3][co3]=0; afficher_grille(); } else { printf("taper la valeur de la ligne de la case a supprimer : "); scanf("%d",&li3); printf("taper la valeur de la colonne de la case a supprimer :" ); scanf("%d",&co3); matriceInitiale[li3][co3]=48; afficher_grille_chargee(); } break; case 13: if(charge==1) { for(i=0;i<9;i++) for(j=0;j<9;j++) matriceInitiale[i][j]=m9x9[i][j]; afficher_grille_chargee(); } else { for(i=0;i<9;i++) for(j=0;j<9;j++) matriceInitiale[i][j]=m9x9[i][j]; afficher_grille_chargee(); } break; case 14:nbr=s;break; default:printf("Vous faites une erreur de saisie\n\n"); system("CLS"); } system("CLS"); } else { printf("Erreur : cette case est deja occupee.\n"); } } else { if(matriceInitiale[li][co]==0) { printf("taper la valeur :"); scanf("%d",&val); switch(val) { case 1:matriceInitiale[li][co]=val; nbr++; score=score+10; system("CLS"); break; case 2:matriceInitiale[li][co]=val; nbr++; score=score+10; system("CLS"); break; case 3:matriceInitiale[li][co]=val; nbr++; score=score+10; system("CLS"); break; case 4:matriceInitiale[li][co]=val; nbr++; score=score+10; system("CLS"); break; case 5:matriceInitiale[li][co]=val; nbr++; score=score+10; system("CLS"); break; case 6:matriceInitiale[li][co]=val; nbr++; score=score+10; system("CLS"); break; case 7:matriceInitiale[li][co]=val; nbr++; score=score+10; system("CLS"); break; case 8:matriceInitiale[li][co]=val; nbr++; score=score+10; system("CLS"); break; case 9 matriceInitiale[li][co]=val; nbr++; score=score+10; system("CLS"); break; case 10:printf("Taper le nom du fichier a sauvegarder\n"); scanf("%s",nom); sauvegarde(nom); break; case 11:if(charge==1) { printf("taper la valeur de la ligne de la case a demasquer : "); scanf("%d",&li2); printf("taper la valeur de la colonne de la case a demasquer :" ); scanf("%d",&co2); matriceInitiale[li2][co2]=g.m9x9[li2][co2]; afficher_grille_chargee(); } else { printf("taper la valeur de la ligne de la case a demasquer : "); scanf("%d",&li2); printf("taper la valeur de la colonne de la case a demasquer :" ); scanf("%d",&co2); matriceInitiale[li2][co2]=m9x9[li2][co2]; afficher_grille(); }break; case 12:if(charge!=1) { printf("taper la valeur de la ligne de la case a supprimer : "); scanf("%d",&li3); printf("taper la valeur de la colonne de la case a supprimer :" ); scanf("%d",&co3); matriceInitiale[li3][co3]=0; system("CLS"); afficher_grille(); } else { printf("taper la valeur de la ligne de la case a supprimer : "); scanf("%d",&li3); printf("taper la valeur de la colonne de la case a supprimer :" ); scanf("%d",&co3); matriceInitiale[li3][co3]=48; system("CLS"); afficher_grille_chargee(); } break; case 13:if(charge==1) { for(i=0;i<9;i++) for(j=0;j<9;j++) matriceInitiale[i][j]=m9x9[i][j]; afficher_grille_chargee(); } else { for(i=0;i<9;i++) for(j=0;j<9;j++) matriceInitiale[i][j]=m9x9[i][j]; afficher_grille_chargee(); } break; case 14:nbr=s;break; default:printf("Vous faites une erreur de saisie\n\n"); system("CLS"); } } else { printf("Erreur : cette case est deja occupee.\n"); } system("CLS"); } } while(nbr!=s); test(); //tester une fois la grille est complétée getch(); printf("appuyez sur une touche pour quitter et revenir au menu"); }
Private
[
?
]
Run code
Submit