[COLOR=#000000][FONT=Calibri]#include <stdio.h>[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]#include <stdlib.h>[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]#include <time.h>[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]#define N 9[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]#define M 9[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]#define B 7[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]int main(){[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] int i=0, j=0, h=0, l=0, a=N/2, b=M/2, c[B], d[B], k, z, seed=111, leng=4, lengz=3, e[B], f[B]; /*1 4 3 3 2*/[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] srand(seed);[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] c[0] = N/2;[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] d[0] = M/2;[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]for(i=0; i<(N+2); i++){ /*Stampa la prima griglia, il "passo 0"*/[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] printf("=");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]}[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]printf("\n");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]for (j=0; j<M; j++) [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]{[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] printf("|");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] for (i=0; i<N; i++)[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] { [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] if (i==a && j==b)[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] printf("*");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else printf("o");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] }[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] printf("|\n");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]} [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]for(i=0; i<(N+2); i++){[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] printf("=");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]}[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]printf("\n");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]printf("1^ passo\n");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]for(h=0; h<B-1; h++) { /*Stampa le griglie relative ai passi successivi*/[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] k = rand() % leng+1; /*Randomizzazione dei passi*/ [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] if (k==1) {if(a<N && a>0) {c[h] = a; d[h] = b; a = a-1;} [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else {c[h] = a; d[h] = b; z = rand() % lengz+1; /*2*/[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] if(z==1) a = a+1;[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else if (z==2) {if(b<M && b>0) b = b-1; else b = b+1;}[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else if (z==3) {if(b<M-1) b = b+1; else b = b-1;}}} /*Qui è necessario specificare il comportamento di entrambe le variabili c e d, per ogni possibilità casuale*/[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else if (k==2) {if(a<N-1) {c[h] = a; d[h] = b; a = a+1;} [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else {c[h] = a; d[h] = b; z = rand() % lengz+1;[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] if (z==1) a = a-1;[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else if (z==2) {if(b<M && b>0) b = b-1; else b = b+1;}[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else if (z==3) {if(b<M-1) b = b+1; else b = b-1;}}}[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else if (k==3) {if(b<M && b>0) {d[h] = b; c[h] = a; b = b-1;} [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else {d[h] = b; c[h] = a; z = rand() % lengz+1;[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] if (z==1) b = b+1;[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else if (z==2) {if(a<N && a>0) a = a-1; else a = a+1;}[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else if (z==3) {if(a<N-1) a = a+1; else a = a-1;}}}[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else if (k==4) {if(b<M-1) {d[h] = b; c[h] = a; b = b+1;} [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else {d[h] = b; c[h] = a; z = rand() % lengz+1; [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] if (z==1) b = b-1;[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else if (z==2) {if(a<N && a>0) a = a-1; else a = a+1;}[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else if (z==3) {if(a<N-1) a = a+1; else a = a-1;}}} [/FONT][/COLOR][COLOR=#000000][FONT=Calibri] [/FONT][/COLOR][COLOR=#000000][FONT=Calibri] [/FONT][/COLOR][COLOR=#000000][FONT=Calibri] [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] for(i=0; i<(N+2); i++){ /*Griglie varie*/[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] printf("=");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]}[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]printf("\n");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] for (j=0; j<M; j++) {[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] printf("|");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] for (i=0; i<N; i++)[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] { [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] e[0] = N/2;[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] f[0] = M/2;[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] e[1] = N/2;[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] f[1] = M/2;[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] for(l=1; l<h; l++){[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] e[l] = c[h-l]; [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] f[l] = d[h-l];}[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] if (i==a && j==b)[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] printf("*");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else if (i==N/2 && j==M/2)[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] printf("+"); [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else if (i==c[h] && j==d[h])[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] printf("+");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else if (i==e[l] && j==f[l])[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] printf("+"); [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] else printf("o"); [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] }[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] printf("|\n");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]}[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] for(i=0; i<(N+2); i++){[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] printf("=");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]}[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]printf("\n");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]printf("%d^ passo\n", h+2);[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri] if (k==1) printf("Sx\n");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]else if (k==2) printf("Dx\n");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]else if (k==3) printf("Su\n");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]else if (k==4) printf("Giù\n");[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]} [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]return 0; [/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]}[/FONT][/COLOR]