Visualizza messaggio singolo
Vecchio 08 marzo 10, 15:21   #18 (permalink)  Top
illez
User
 
L'avatar di illez
 
Data registr.: 06-08-2007
Residenza: Empoli
Messaggi: 1.813
Ho guardato un po' il codice e devo dire che con un ciclo FOR non risolveresti: hai delle eccezioni da gestire che riguardano i casi 'somma', voglio dire i valori 3,5,6,9 che non sono diretta potenza di 2.
Probabilmente hai già una buona riduzione del codice raccogliendo tutti i casi in una funzione che richiamerai da tutto il codice.
ad esempio

unsigned int function check_porta()
{
switch(PORTA) {
case 1: return 1;
case 2: return 2;
case 3: return 9;
etc etc
}
}

Nel codice scriveresti, per esempio:
arciereb[freb] = check_porta();

Attenzione che comunque hai un paio di eccezioni, come qui:
case 6:
arciereb[freb] = 0;
freb = freb-1;
break;
in questo caso devi comunque controllare porta==6 e decrementare freb

Non conoscendo bene il funzionamento, non credo che si possa fare sempre dentro la funzione. Ma insomma, vedi tu...
__________________
.......
illez non è collegato   Rispondi citando