Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- main() {
- int m[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0}; //matrice giĆ riempita
- int i,j;
- int num; //valore di scambio con quello della matrice
- int mosse=0;
- printf("Questo programma compone il gioco del 15\n\n");
- printf("Inserendo uno dei numeri adiacenti allo spazio, puoi mischiare la matrice!\n\n\n");
- //stampa a video
- for(i=0;i<4;i++){
- for(j=0;j<4;j++){
- if(m[i][j]==0)
- printf(" ");
- else
- printf(" %2d ",m[i][j]);
- }
- printf("\n\n");
- }
- do{
- printf("\nInserisci il numero (0 per terminare la mischia)\n");
- scanf("%d",&num);
- for(i=0;i<4;i++){
- for(j=0;j<4;j++){
- if(m[i][j]==num){
- if(m[i-1][j]==0 || m[i+1][j]==0 || m[i][j-1]==0 || m[i][j+1]==0) { //condizione che guarda i 4 numeri circostanti al numero digitato
- m[i][j]=0;
- //algoritmo di scambio eventualmente da rivedere
- if(m[i-1][j]==0)
- m[i-1][j]=num;
- else if(m[i+1][j]==0)
- m[i+1][j]=num;
- else if(m[i][j-1]==0)
- m[i][j-1]=num;
- else if(m[i][j+1]==0)
- m[i][j+1]=num;
- }
- //fine algoritmo scambio
- system("cls");
- printf("Questo programma compone il gioco del 15\n\n");
- printf("Inserendo uno dei numeri adiacenti allo spazio, puoi mischiare la matrice!\n\n\n");
- for(i=0;i<4;i++){
- for(j=0;j<4;j++){
- if(m[i][j]==0)
- printf(" ");
- else
- printf(" %2d ",m[i][j]);
- }
- printf("\n\n");
- }
- }
- }
- }
- }
- while(num!=0);
- printf("Ora e' il momento di risolvere il puzzle!!\n\n");
- do{
- printf("\nInserisci il numero da spostare (permi 0 quando hai finito)\n");
- scanf("%d",&num);
- for(i=0;i<4;i++){
- for(j=0;j<4;j++){
- if(m[i][j]==num){
- if(m[i-1][j]==0 || m[i+1][j]==0 || m[i][j-1]==0 || m[i][j+1]==0) {
- m[i][j]=0;
- //algoritmo di scambio eventualmente da rivedere
- if(m[i-1][j]==0)
- m[i-1][j]=num;
- else if(m[i+1][j]==0)
- m[i+1][j]=num;
- else if(m[i][j-1]==0)
- m[i][j-1]=num;
- else if(m[i][j+1]==0)
- m[i][j+1]=num;
- }
- //fine algoritmo scambio
- system("cls");
- printf("Questo programma compone il gioco del 15\n\n");
- printf("Inserendo uno dei numeri adiacenti allo spazio, puoi mischiare la matrice!\n\n\n");
- for(i=0;i<4;i++){
- for(j=0;j<4;j++){
- if(m[i][j]==0)
- printf(" ");
- else
- printf(" %2d ",m[i][j]);
- }
- printf("\n\n");
- }
- }
- }
- }
- mosse++;
- }
- while(num!=0);
- printf("Hai risolto il Gioco del 15 in %d mosse!\n\n", mosse-1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement