codice:int gameover(int posizione_riga) { int i; for (i=posizione_riga;i<altezza_righe;i--) if (i<0) return 1; return 0; }//fine game over void nuovo_pezzo() { int i,j; for (i=0; i<dimpezzo;i++) { for (j=0; j<dimpezzo;j++) pezzo.array[i][j] = pezzo2[i][j]; pezzo.asse_verticale=0; pezzo.asse_orizzontale=5; } }//fine nuovo pezzo void ruota_pezzo() { int i,j; int pezzo1[dimpezzo][dimpezzo]; pezzo1[0][0]=pezzo.array[2][0]; pezzo1[0][1]=pezzo.array[1][0]; pezzo1[0][2]=pezzo.array[0][0]; pezzo1[1][0]=pezzo.array[2][1]; pezzo1[1][1]=pezzo.array[1][1]; pezzo1[1][2]=pezzo.array[0][1]; pezzo1[2][0]=pezzo.array[2][2]; pezzo1[2][1]=pezzo.array[1][2]; pezzo1[2][2]=pezzo.array[0][2]; for (i=0;i<dimpezzo;i++) { for (j=0;j<dimpezzo;j++) pezzo.array[i][j]=pezzo1[i][j]; } }//fine ruota pezzo void cancellariga(int posizione_righe) { int i,j; for (i=posizione_righe;i>=0;i--) { for(j=0; j<larghezza_colonne;j++) { if(i<altezza_righe) mappa2[i][j]=mappa2[i-1][j]; } } }//fine cancellariga void controllariga() { int i,j,cont=0; for(i=0;i<altezza_righe;i++) { for(j=0; j<larghezza_colonne;j++) { if(mappa2[i][j]==1) cont++; }//fine for if(cont<10) cont=0; else if(cont==10) { cancellariga(i); cont=0; } } }//fine controlla riga int movimentopossibile() { int i,j; for (i=pezzo.asse_verticale; i<20;i++) { for (j=pezzo.asse_orizzontale;j<10;j++) { if (mappa2[i][j==10]) // if (pezzo.array[i][j]==1) { return 0; } //else { return 1; } } } } void stampa_mappa() //stampa la mappa { int i,j; for(i=0;i<altezza_righe;i++) { for(j=0;j<larghezza_colonne ;j++) { printf("%d ",mappa2[i][j]); } printf("\n"); } printf("\n"); }//fine stampa mappa void stampa_pezzo() //stampa la mappa { int i,j; for(i=0;i<dimpezzo;i++) { for(j=0;j<dimpezzo;j++) { printf("%d ",pezzo.array[i][j]); } printf("\n"); } } void azzera_mappa()// porta gli elementi di mappa a 0 { int i,j; for(i=0;i<altezza_righe;i++) { for(j=0;j<larghezza_colonne ;j++) { mappa[i][j]=0; } } }//fine azzera mappa void piazza_pezzo()//modificato muovi { int i,j; for(i=pezzo.asse_verticale;i<pezzo.asse_verticale+dimpezzo;i++) { for(j=pezzo.asse_orizzontale;j<pezzo.asse_orizzontale+dimpezzo;j++) { if (pezzo.array[i-pezzo.asse_verticale][j-pezzo.asse_orizzontale]==1) { mappa2[i][j]=pezzo.array[i-pezzo.asse_verticale][j-pezzo.asse_orizzontale]; } } } }//fine muovi void muovi()//modificato muovi { int i,j; for(i=pezzo.asse_verticale;i<pezzo.asse_verticale+dimpezzo;i++) { for(j=pezzo.asse_orizzontale;j<pezzo.asse_orizzontale+dimpezzo;j++) { if (pezzo.array[i-pezzo.asse_verticale][j-pezzo.asse_orizzontale]==1) { mappa2[i][j]=pezzo.array[i-pezzo.asse_verticale][j-pezzo.asse_orizzontale]; } } } }//fine muovi void azzera_pezzo()// porta gli elementi di mappa a 0 { int i,j; int pezzo_1[3][3]; for(i=pezzo.asse_verticale;i<pezzo.asse_verticale+dimpezzo;i++) { for(j=pezzo.asse_orizzontale;j<pezzo.asse_orizzontale+dimpezzo;j++) { pezzo_1[i-pezzo.asse_verticale][j-pezzo.asse_orizzontale]=0; if (pezzo.array[i-pezzo.asse_verticale][j-pezzo.asse_orizzontale]==1) { mappa2[i][j]=pezzo_1[i-pezzo.asse_verticale][j-pezzo.asse_orizzontale]; } } } }