Ciao a tutti. Sto cercando di imparare il c# principalmente per utilizzare Unity3D. E proprio scrivendo uno script mi sono imbattuto in un problema che non riesco a risolvere. Premetto che le mie conoscenze del linguaggio di programmazione sono molto superficiali, spero che qualcuno possa aiutarmi..vi spiego il problema..in pratica ho un array di interi e vorrei fare in modo che array
sia diverso da array[i+1] e da array[i-1]. Ho scritto un metodo di verifica, ma non funziona correttamente. Finché resto su una dimensione ridotta dell'array tutto sembra funzionare, ma quando la dimensione aumenta fino ad arrivare al massimo (6 elementi) i numeri nell' array si ripetono..è da due giorni che ci sbatto la testa senza trovare soluzione..ringrazio tutti anticipatamente. Ciao
void VerificaArray(int[] serie)
{
for(int i = 0; i < serie.Length; i++)
{
for(int j = 1; j < serie.Length; j++)
{
//esclude il caso in cui i e j siano uguali poichè gli elementi dell'array allo stesso
//indice hanno ovviamente lo stesso valore
if((i != j) && (serie[i] == serie[j]))
{
int d = Random.Range(0, 6);
for(int c = 0; c < serie.Length; c++)
{
while(d == serie[c])
{
d = Random.Range(0,6);
}
}
serie[i] = d;
}
}
}
}