Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
salve a tutti ho implementato un codice ma mi da un errore, qualcuno sa spiegarmi di cosa si tratta.
il mio codice è questo:
Codice sorgente - presumibilmente C++
/* Si vuole sviluppare un programma per la simulazione del gioco di 4 navicelle spaziali . La mappa da gioco risulta di forma rettangolare e di dimensioni 8x7. L’utente ha a disposizione una navicella ferma (rettangolo rosso in figura). Nel campo da gioco si muovono 3 navicelle avversarie che devono essere colpite (rettangolo giallo, blu e verde).
/*questi controlli servono per controllare, in caso di sparo, se le navicelle si trovano in posizione*/
pulisci(sparato_V,campo, &V_x,&V_y);
pulisci(sparato_B,campo, &B_x,&B_y);
pulisci(sparato_G,campo, &G_x,&G_y);
}
while(((sparato_G!=1)||(sparato_B!=1)||(sparato_V!=1))&&(K<100));/*esegui il ciclo finchè tutte e tre le navicelle non sono state distrutte oppure il contatore passi è arrivato a 100*/
printf("\n\n\n Fine partita \n\n\n");
system("PAUSE");
return0;
}
/* Funzioni movimento
random: è il numero random generato nel main
*x, *y sono coordinate delle navicelle che cambiano con il passare dei turni
Innanzitutto, cosa dovrebbe fare il programma??
Secondo:
Se vuoi capire un errore, basta indentare bene il codice. Te ne dovresti accorgere subito, è un buon esercizio.
Un altro errore (logico): riguarda bene quello che scrivi dentro gli if..elseif...elsee i do..while
controlla pure le varie funzioni come parametri e sopratutto parentesi
Ultima modifica effettuata da Mikelius il 27/05/2017 alle 1:06
Devi assolutamente indentare il codice ed individuare i vari blocchi, altrimenti non capirai mai dove sta il problema.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
E' il termine informatico per indicare lo stazio prima delle istruzioni, o la posizione di parentesi e simili.
Una sorta di rientro che trovi nei testi letterali.
Codice sorgente - presumibilmente C++
// codice non indentato
void pulisci(int x, int y)
{
{
if(...)
x=y;
}
}
}
// codice indentato
void pulisci(int x, int y)
{
if(...)
{
x=y;
}
}
In questo modo, hai una visione di apertura e chiusura delle parentesi, "ad esempio"
P.s. non modificare il primo post. viene difficile seguire le modifiche al codice se lo fai
Ultima modifica effettuata da Mikelius il 27/05/2017 alle 9:06
Grazie per la spiegazione spero sia più chiaro, sicuramente con il tempo saprò fare di meglio.
comunque ancora non riesco a individuare l'errore
Codice sorgente - presumibilmente C++
/* Si vuole sviluppare un programma per la simulazione del gioco di 4 navicelle spaziali . La mappa da gioco risulta di forma rettangolare e di dimensioni 8x7. LÂ’utente ha a disposizione una navicella ferma (rettangolo rosso in figura). Nel campo da gioco si muovono 3 navicelle avversarie che devono essere colpite (rettangolo giallo, blu e verde).
//questi controlli servono per controllare,in caso di sparo, se le navicelle sono in posizione
pulisci(sparato_V,campo, &V_x,&V_y);
pulisci(sparato_B,campo, &B_x,&B_y);
pulisci(sparato_G,campo, &G_x,&G_y);
}
while(((sparato_G!=1)||(sparato_B!=1)||(sparato_V!=1))&&(K<100))/*esegui il ciclo finchè tutte e tre le navicelle non sono state distrutte oppure il contatore passi è arrivato a 100*/
printf("\n\n\n Fine partita \n\n\n");
system("PAUSE");
return0;
}
/* Funzioni movimento
random: è il numero random generato nel main
*x, *y sono coordinate delle navicelle che cambiano con il passare dei turni
Solo per curiosità, ma che studi hai fatto?
Questo progetto non è impegnativo, ma lo diventa se sei alle prime armi.
Qua c'è un errore evidente, se non riesci a localizzarlo è meglio che riprendi i concetti base del linguaggio.
Non è per non aiutarti col giochino. ma certi errori denotano una scarsa conoscenza del linguaggio, alle sue basi.