Edde
30-11-2003, 15:43
Ciao :)
Sto facendo una tesina e ho un problema (uno... diciamo uno dei tanti :p ).
Devo realizzare il gioco del tris.
Il programma chiede la mossa al giocatore(nel formato "battaglia navale", "A1", "B3" e cose del genere) e la schiaffa in una stringa.
A quel punto devo estrarre separatamente i due caratteri e tradurli in coordinate "riga-colonna".
Con il primo carattere e' semplice: mi basta fare un confronto con stringa[0] e il gioco e' fatto (ad es: if(stringa[0] == 'A') riga = 0).
Col secondo e' piu' complicato, perche' dovrei prima convertirlo in un intero. La funzione di conversione (atoi se non mi ricordo male) vuole in imput una stringa: se quindi gli passo stringa[1] non fa niente...
L'unico metodo che ho trovato e' stato quello di copiare il numero in una nuova stringa di appoggio ( temp[0]=stringa[1] ) e poi concertire quest'ultima (int colonna = atoi(temp) ).
Pero' mi sembra inutilmente macchinoso...
Il problema e' che questi qui ci fanno fare java per 2 anni, e poi ti dicono "Voi non avete mai studiato c, e noi adesso non ve lo spieghiamo. Pero' dovete portare una bella tesina in c, altrimenti l'esame di sistemi operativi ve lo scordate..."
E poi a uno gli vengono questi dubbi esistenziali :D
Un'altra cosa.
Nel programma due processi si scambiano le mosse unsando la memoria condivisa. Considerato che la mossa e' una stringa di 3 caratteri (2 utili, piu' quello standard di fine stringa), la memoria dovrebbe essere di 3 byte, giusto?
Grazie :)
Sto facendo una tesina e ho un problema (uno... diciamo uno dei tanti :p ).
Devo realizzare il gioco del tris.
Il programma chiede la mossa al giocatore(nel formato "battaglia navale", "A1", "B3" e cose del genere) e la schiaffa in una stringa.
A quel punto devo estrarre separatamente i due caratteri e tradurli in coordinate "riga-colonna".
Con il primo carattere e' semplice: mi basta fare un confronto con stringa[0] e il gioco e' fatto (ad es: if(stringa[0] == 'A') riga = 0).
Col secondo e' piu' complicato, perche' dovrei prima convertirlo in un intero. La funzione di conversione (atoi se non mi ricordo male) vuole in imput una stringa: se quindi gli passo stringa[1] non fa niente...
L'unico metodo che ho trovato e' stato quello di copiare il numero in una nuova stringa di appoggio ( temp[0]=stringa[1] ) e poi concertire quest'ultima (int colonna = atoi(temp) ).
Pero' mi sembra inutilmente macchinoso...
Il problema e' che questi qui ci fanno fare java per 2 anni, e poi ti dicono "Voi non avete mai studiato c, e noi adesso non ve lo spieghiamo. Pero' dovete portare una bella tesina in c, altrimenti l'esame di sistemi operativi ve lo scordate..."
E poi a uno gli vengono questi dubbi esistenziali :D
Un'altra cosa.
Nel programma due processi si scambiano le mosse unsando la memoria condivisa. Considerato che la mossa e' una stringa di 3 caratteri (2 utili, piu' quello standard di fine stringa), la memoria dovrebbe essere di 3 byte, giusto?
Grazie :)