Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Gioco dell'oca
Forum - C/C++ - Gioco dell'oca - Pagina 4

Pagine: [ 1 2 3 4 5 6 ] Precedente | Prossimo
Avatar
anthony015 (Member)
Pro


Messaggi: 116
Iscritto: 20/05/2011

Segnala al moderatore
Postato alle 18:31
Lunedì, 09/01/2012

PM Quote
Avatar
konan_ 65 (Normal User)
Newbie


Messaggi: 19
Iscritto: 20/12/2011

Segnala al moderatore
Postato alle 21:01
Martedì, 10/01/2012
sono ad un punto morto, devo sviluppare la stampa del campo da gioco che mi visualizzi il progresso dei giocatori sul campo, ho creato una matrice 7x9, però quando vado a stamparla se do il printf di stampa della matrice dentro al ciclo for per mandare avanti la struct mi stampa una matrice a giocatore (combinandole tra l'altro insieme, rendendo il tutto incomprensibile), se metto il comando di stampa della matrice fuori dal for mi stampa si i giocatori nella giusta posizione su una sola matrice, ma poi mi stampa anche i numeri delle caselle dove dovrebbe esserci su il giocatore, e poi non ho la minima idea di come fare se ci son 2 giocatori sulla stessa caselle

ecco uno de tanti codici che ho scritto

Codice sorgente - presumibilmente Delphi

  1. // Stampa campo
  2.             for (r=0; r<RIGHE; r++){
  3.                 printf("\n");
  4.                 for (c=0; c<COLONNE; c++){
  5.                     if (giocatori[1].tiri == campo[r][c]){
  6.                         for (i=0; i<numeroGiocatori; i++){
  7.                             printf("     G%d", i+1);
  8.                         }
  9.                     }
  10.                     else{
  11.                         printf("%7d", campo[r][c]);
  12.                     }
  13.                 }
  14.             }



help me please!

PM Quote
Avatar
anthony015 (Member)
Pro


Messaggi: 116
Iscritto: 20/05/2011

Segnala al moderatore
Postato alle 22:49
Martedì, 10/01/2012
1) non ho capito cosa dovrebbe fare quel ciclo, potresti commentare le righe?
2) considera che se stampi 2 caratteri vai in un altra cella, quindi la rappresentazioni viene sfasata
3) usa una libreria grafica, per una cosa del genere dovrebbe andare bene anche graphics.h

PM Quote
Avatar
konan_ 65 (Normal User)
Newbie


Messaggi: 19
Iscritto: 20/12/2011

Segnala al moderatore
Postato alle 23:14
Martedì, 10/01/2012
Codice sorgente - presumibilmente Python

  1. // Stampa campo
  2.             for (r=0; r<RIGHE; r++){// ciclo solito per stampare una matrice
  3.                 printf("\n");
  4.                 for (c=0; c<COLONNE; c++){// ciclo solito per stampare una matrice
  5.                     /*questo if e il seguente for mi servono per stampare a video la posizione dei giocatori, chessò G1 al posto del numero 3, G2 al posto del 5 ecc*/
  6.                     if (giocatori[1].tiri == campo[r][c]){
  7.                         for (i=0; i<numeroGiocatori; i++){
  8.                             printf("     G%d", i+1);
  9.                         }
  10.                     }
  11.                     else{
  12.                         printf("%7d", campo[r][c]);
  13.                     }
  14.                 }
  15.             }



io sostanzialmente devo stampare a video la posizione dei giocatori nel campo, quindi ho creato in precedenza una matrice 7X9, quindi i primi 2 cicli for sono i cicli normali per la stampa della matrice,

Codice sorgente - presumibilmente C/C++

  1. for (r=0; r<RIGHE; r++){
  2.                 printf("\n");
  3.                 for (c=0; c<COLONNE; c++){
  4.                         printf("%7d", campo[r][c]);
  5.                 }
  6.             }


quindi se scrivo solo questo mi viene fuori la mia matrice numerata da 1 a 63

dopo di che però ho bisogno che il programma non me la riempia solo con i numeri, ma chessò, se il giocatore1 è nella casella 23 al posto del 23 scriva G1 ecc. quindi ho creato il 3° ciclo for che mi va a controllare la posizione dei giocatori nella struct, e che in teoria mi dovrebbe sostituire il giocatore al numero della casella in cui si trova, ma non lo fa, o meglio, a seconda del codice che scrivo e all'ordine dei cicli for lo fa anche, ma non come dovrebbe, i risultati che ho ottenuto sono:
-stampa di tante matrici quanti sono i giocatori, una sotto l'altra in cui nella prima compare il giocatore1, nella seconda il 2 ecc.
-stampa di tante matrici quanti sono i giocatori, ma questa volta affiancate quindi una roba del tipo 1 1 1 2 2 2 3 3 3 G1 4 4 5 G2 5 6 6 6 7 7 7
                                  8 8 G3 9 9 9 10 10 10 11 11 11 12 12 12 13 13 13
- stampa di una sola matrice su cui però risulta che tutti i giocatori siano sulla stessa cella nonostante non sia così
- stampa di una sola matrice dove la posizione dei giocatori è giusta, ma questi non vengono sostituiti al numero quindi tipo 1 2 3 4 G1 5 6 G2 7

poco mi importa se sfaso la grafica, dopo in qualche modo spero di rimediare a quello, il top sarebbe anche se riuscissi a confrontare i vari giocatori tra loro, e nel caso siano su una stessa casella stampare una roba tipo G1/G2...

PM Quote
Avatar
anthony015 (Member)
Pro


Messaggi: 116
Iscritto: 20/05/2011

Segnala al moderatore
Postato alle 0:09
Mercoledì, 11/01/2012
prova così:
Codice sorgente - presumibilmente Delphi

  1. for (r=0; r<RIGHE; r++){
  2.                 printf("\n");
  3.                 for (c=0; c<COLONNE; c++){
  4.                     for (i=0; i<numeroGiocatori; i++){
  5.                         if (giocatori[i].tiri == campo[r][c]){
  6.                             printf("     G%d", i+1);
  7.                         }
  8.                         else if(i==numeroGiocatori-1){
  9.                         printf("%7d", campo[r][c]);
  10.                         }
  11.                     }                    
  12.                 }
  13.             }


PM Quote
Avatar
konan_ 65 (Normal User)
Newbie


Messaggi: 19
Iscritto: 20/12/2011

Segnala al moderatore
Postato alle 15:16
Mercoledì, 11/01/2012
ci siamo quasi, con il codice così scritto mi posiziona i giocatori correttamente nel campo, però fa la sostituzione numero-giocatore solo con l'ultimo, con gli altri mi stampa giocatore e numero...

PM Quote
Avatar
anthony015 (Member)
Pro


Messaggi: 116
Iscritto: 20/05/2011

Segnala al moderatore
Postato alle 15:59
Mercoledì, 11/01/2012
Codice sorgente - presumibilmente C++

  1. int flagCiclo=0;
  2. for (r=0; r<RIGHE; r++){
  3.                 printf("\n");
  4.                 for (c=0; c<COLONNE; c++){
  5.                     for (i=0; i<numeroGiocatori; i++){
  6.                         if (giocatori[i].tiri == campo[r][c]){
  7.                             printf("     G%d", i+1);
  8.                             flagCiclo=1;
  9.                         }
  10.                         else if(i==numeroGiocatori-1&&flagCiclo==0){
  11.                         printf("%7d", campo[r][c]);
  12.                         }
  13.                     }        
  14.                     flagCiclo=0;        
  15.                 }
  16.             }


PM Quote
Avatar
konan_ 65 (Normal User)
Newbie


Messaggi: 19
Iscritto: 20/12/2011

Segnala al moderatore
Postato alle 19:17
Mercoledì, 18/01/2012
grazie mille per l'aiuto della stampa del campo, ora mi manca un'ultima cosa, riuscire a stampare una classifica sulla base della posizione dei singoli giocatori, come posso fare a confrontarli tra loro e quando la posizione di un giocatore è maggiore di quella di tutti gli altri metterlo in prima posizione ecc?

Ultima modifica effettuata da konan_ 65 il 18/01/2012 alle 19:39
PM Quote
Pagine: [ 1 2 3 4 5 6 ] Precedente | Prossimo