Citazione:
Originalmente inviato da lol21 magari riprovo coi cicli cercando anche altri esempi online perchè non ho mai fatto come hai detto tu  |
Guarda qui:
Codice:
// MAXPAGLIONI e' il numero massimo di paglioni
int mask, i;
if (PORTA)
for (mask=1, i=1; mask < (1 << MAXPAGLIONI); mask = mask << 1, i++)
if (PORTA & mask) break;
// al termine del ciclo, i contiene il numero del paglione colpito Questo funziona se, come nel tuo codice, può essere colpito un solo paglione per volta. Se è possibile che vengano colpiti più bersagli insieme, bisogna modificare le cose.