Visualizza messaggio singolo
Vecchio 08 marzo 10, 15:28   #8 (permalink)  Top
frank
User
 
L'avatar di frank
 
Data registr.: 29-11-2002
Residenza: Mountain View, CA
Messaggi: 4.390
Citazione:
Originalmente inviato da lol21 Visualizza messaggio
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.
__________________
The number you dialed is imaginary. Please rotate your phone 90 degrees and redial.
frank non è collegato   Rispondi citando