Battaglia navale

di il
1 risposte

Battaglia navale

Salve,
Volevo chiedere un aiuto per quanto riguarda la battaglia navale...il mio problema è che i pezzi delle navi(in questo caso si tratta di una nave a due pezzi)prodotte random dal pc,vengono sparse per il campo,e nn vengono disposte in modo ordinato,ad esempio in verticale | o in orizzontale __;
C'è qualche modo per ovviare a questo problema?

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
char campo[5][5]={{'0','1','2','3'},{'1','a','b','c'},{'2','d','e','f'},{'3','g','h','i'}};
int i,j;
int x[2],y[2];

srand(time(NULL));
printf("posizione nave:\n");
for(i=0;i<2;i++)
{
x=rand()%3+1;
y=rand()%3+1;
}
for(i=0;i<2;i++)
{
printf("x=%d",x);
printf("y=%d",y);
printf("\n");
}
printf("Campo:\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("%3c",campo[j]);
}
printf("\n");
}
system("PAUSE");
return 0;
}
questo è il mio codice per quanto riguarda la produzione random di navi da parte del pc e la stampa del campo,a me serve che le quattro coordinate che ottengo debbano darmi due punti(ogni punto ha due coordinate si intende) vicini disposti in modo orizzontale o verticale come vi ho mostrato prima,solo che il pc questi due punti li pone a casaccio nel campo.Mi rivolgo a voi per un aiuto:-) grazie in anticipo.(ps:se potete, rispondetemi alla mia email ).

1 Risposte

  • Re: Battaglia navale

    Quando nel gioco reale scegli la posizione e la direzione della nave, allo stesso modo qui devi randomizzare la posizione della nave (X e Y ad esempio del punto in alto a sinistra della nave) e la sua posizione (ad esempio 0 per verticale e 1 per orizzontale).
    Un consiglio: io randomizzerei prima la posizione della nave, poi se è verticale faccio le random della posizione con X ke va da 0 a N-1 mentre la Y andrà tra 0 a N-LunghezzaNave!
Devi accedere o registrarti per scrivere nel forum
1 risposte