FrEdDy
 fedele di ConsoleUser

Messaggi: 50 Reputazione: 0 Data d'iscrizione: 08.03.10
 | Oggetto: [GUIDA]Else/If/Switch/Case questi sconosciuti!(Linguaggio C) Sab 13 Mar 2010, 17:56 | |
| Eccovi un'altra guida dal vostro FrEdDy,stavolta utile a comprendere il funzionamento delle funzioni Else-If-Switch e Case,indispensabili in maggior parte degli homebrew;per capire meglio scriveremo un piccolo programma che utilizzerà queste funzioni;cominciamo...
| Codice: | #include #include #include #define printf pspDebugScreenPrintf PSP_MODULE_INFO("Switch,Case,If,Else",0,1,1); int anni,numero,gambe; |
Preprocessore,nel quale dichiariamo le nostre variabili (anni,numero,gambe);proseguiamo con l'int main...
| Codice: | int main() { pspDebugScreenInit(); SetupCallbacks(); anni = 13; numero = 3; gambe = 2; |
Stabiliamo il valore delle nostre variabili e proseguiamo...
| Codice: | if(anni < 18) { printf("Sei giovane,dovresti stare ancora a scuola\n\n"); } else if((anni > 18) && (anni < 100)) { printf("Molto probabilmente,hai un piede nella fossa xD\n\n"); } else if(anni > 100) { printf("Ma sei ancora vivo????\n\n"); } |
Ecco qui i nostri primi if e else,traduciamo in linguaggio "umano" queste informazioni: "se gli anni sono meno di 18:stampa ecc ecc..." "ALTRIMENTI SE (else if) ecc.." Insomma,avete capito la funzione di if e di else no?
| Codice: | if(numero == 4) { printf("Abbiamo lo stesso numero preferito!\n\n"); } else { printf("Non abbiamo lo stesso numero preferito :-(\n\n); } |
Tutto chiaro?Andiamo avanti...
| Codice: | switch(gambe) { case 0: printf("Mi dispiace ma non hai le gambe...\n\n"); break; case 1: printf("Meglio di niente...\n\n"); break; case 2: printf("Mi fa piacere vedere una persona normale.\n\n"); break; case 3: printf("OMG!!!\n\n"); break; default: printf("Quante gambe hai?\n\n"); break; } |
Difficile?Bè ve lo spiego:con switch abbiamo appena stabilito che ci possono essere più casi differenti che la PSP dovrà gestire (gambe tra parentesi stabilisce che ci riferiamo alle possibili variabili dell'int gambe) se "gambe" equivale a 0,verrò eseguito quello che c'è dopo i due punti dei case 0,fino al prossimo case,è così via...
| Codice: | sceKernelSleepThread(); return 0; } |
Chiudiamo il tutto così...
Exit Callback (di rito):
| Codice: | int exit_callback(int arg1, int arg2, void *common) { sceKernelExitGame(); return 0; }
int CallbackThread(SceSize args, void *argp) { int cbid;
cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL); sceKernelRegisterExitCallback(cbid);
sceKernelSleepThreadCB();
return 0; }
int SetupCallbacks(void) { int thid = 0;
thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0); if(thid >= 0) { sceKernelStartThread(thid, 0, 0); }
return thid; } |
E makefile...
| Codice: | TARGET = switch-case OBJS = main.o CFLAGS = -O2 -G0 -Wall CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti ASFLAGS = $(CFLAGS) EXTRA_TARGETS = EBOOT.PBP PSP_EBOOT_TITLE = Casi C PSPSDK=$(shell psp-config --pspsdk-path) include $(PSPSDK)/lib/build.mak |
|
|
PSPatrick
 il genio di ConsoleUser

Messaggi: 366 Reputazione: 8 Data d'iscrizione: 21.09.09 Console: PSP 2004, Wii, PC Portatile FW PSP: 5.50 GEN-D2 FW Wii: 4.2E con Softmod OS PC: Windows Seven (7) Gioco Pref.: MotorStorm Arctic Edge
 | Oggetto: Re: [GUIDA]Else/If/Switch/Case questi sconosciuti!(Linguaggio C) Sab 13 Mar 2010, 18:03 | |
| molto bene bravo bella guida! [Devi essere iscritto e connesso per vedere questa immagine] [Devi essere iscritto e connesso per vedere questa immagine] mancherebbe una bella guidozza per creare un PRX... __________________________ [Devi essere iscritto e connesso per vedere questo link] Le mie userbars [Devi essere iscritto e connesso per vedere questo link] [Devi essere iscritto e connesso per vedere questa immagine] [Devi essere iscritto e connesso per vedere questa immagine] |
|
FrEdDy
 fedele di ConsoleUser

Messaggi: 50 Reputazione: 0 Data d'iscrizione: 08.03.10
 | Oggetto: Re: [GUIDA]Else/If/Switch/Case questi sconosciuti!(Linguaggio C) Sab 13 Mar 2010, 18:04 | |
| | PSPatrick ha scritto: | molto bene bravo bella guida! [Devi essere iscritto e connesso per vedere questa immagine] [Devi essere iscritto e connesso per vedere questa immagine] mancherebbe una bella guidozza per creare un PRX... |
Quello sarà l'argomento del compito che ti darò settimana prossima  |
|