Salve ragazzi so che rompo e sto scrivendo per 2 problemi diversi in poco tempo...il problema è questo vi mostro prima il codice:
Questo è il campo di gioco dove ci sono le 4 navicelle...le tre di sopra dovrebbero muoversi e sparare la base.codice:int i, j, m=0, n=6, q=3, k, percentuale, cont_mosse=0, cont_colpi_subiti=0; char campo_di_gioco [A] [C]= {{'G',' ',' ',' ',' ',' ',' '}, {' ',' ',' ','B',' ',' ',' '}, {' ',' ',' ',' ',' ',' ','V'}, {' ',' ',' ',' ',' ',' ',' '}, {' ',' ',' ',' ',' ',' ',' '}, {' ',' ',' ',' ',' ',' ',' '}, {' ',' ',' ',' ',' ',' ',' '}, {' ',' ',' ','R',' ',' ',' '}};
Il mio problema è sul movimento cioè: la prima navicella G riesco a farla muovere sulla stessa riga e a farla rientrare dal lato opposto sempre sulla stessa riga...il problema è che con la seconda navicella B quando arriva al margine riappare nel campo dal lato opposto ma nella riga di sotto e continua fino a scendere tutte le righe.
il codice usato per la prima è questo:
Il codice per la seconda è questo:codice:if(percentuale<=60) { for(k=0;k<100;k++) { i=0; j=m; campo_di_gioco[i][j+1]='G'; campo_di_gioco[i][j]=' '; m++; if(k==n) { campo_di_gioco[i][j+1]=' '; campo_di_gioco[i][j]='G'; m=0; n=(n+7); } system("pause"); for(i=0;i<A;i++) { for(j=0;j<C;j++) printf("%5c", campo_di_gioco[i][j]); printf("\n"); } } }
Come potete vedere i codici sono quasi identici ma il secondo invece di farla rimanere nella stessa riga la fa scendere. Come posso risolvere?codice:if(percentuale<=70) { for(k=0;k<100;k++) { i=1; j=q; campo_di_gioco[i][j+1]='B'; campo_di_gioco[i][j]=' '; q++; if(k==n) { campo_di_gioco[i][j+1]=' '; campo_di_gioco[i][j]='B'; q=0; n=(n+7); } system("pause"); for(i=0;i<A;i++) { for(j=0;j<C;j++) printf("%5c", campo_di_gioco[i][j]); printf("\n"); } } }