grazie mille per aver risposto, il codice è il seguente dove yposball e xposball sn le coordinate del centro della pallina e matrice contiene i valori di un angolo del mattone dal quale sono stati ricavati tutti gli altri.

codice:
		//Caso in cui la palla tocca il mattone dal basso
			if(yposball + raggio == matrice[i][1]){
				//printf("yposball + raggio = y blocco basso - ");

				//Facendo xposball + raggio i due angoli dovebbero essere inclusi
				if((xposball+raggio >= matrice[i][0] && xposball+raggio <= matrice[i][0]+40) ||
						(xposball-raggio >= matrice[i][0] && xposball-raggio <= matrice[i][0]+40)){
					//Scontro dal Basso
					changeColor(i);
					//dy= RangedRand(-2,-1);
					dy = -1;
					printf("a. Scontro dal basso su mattone %d\n", i);
				}
			}//fine if controllo basso 
			
			//Caso in cui la palla tocca il mattone dall'alto
			if(yposball - raggio == matrice[i][1]+10){
				if((xposball+raggio >= matrice[i][0] && xposball+raggio <= matrice[i][0]+40) ||
						(xposball-raggio >= matrice[i][0] && xposball-raggio <= matrice[i][0]+40)){
				changeColor(i);
				//dy = RangedRand(1,2);
				dy=1;
				printf ("b. Scontro dall'alto su mattone %d\n", i);
				}
			}//fine if controllo dall'alto
			
			//Caso in cui la palla tocca il mattone dal lato sinistro 
			if(yposball >= matrice[i][1] && yposball <= matrice[i][1]+10){
				printf ("e. SINISTRO su mattone %d \n", i);
				if(xposball + raggio == matrice[i][0]){
				//changeColor(i);
					dy = -1;
				printf ("c. Scontro dal lato sinistro del mattone e cambio direzione %d\n", i);
				}
			}//fine if lato sinistro


			//Caso in cui la palla tocca il mattone dal lato destro 
			if(yposball >= matrice[i][1] && yposball <= matrice[i][1]+10){
				printf ("e. DESTRO su mattone %d \n",i);
				if(xposball - raggio == matrice[i][0]+40){				
				//changeColor(i);
					dy = -1;
				printf ("d. Scontro dal lato destro del mattone e cambio direzione %d\n", i);
				}
			
			}