giochino su dev c++

  • Autore discussione Autore discussione Elii
  • Data d'inizio Data d'inizio
Pubblicità

Elii

Nuovo Utente
Messaggi
1
Reazioni
0
Punteggio
24
ragazzi non so come continuare, mi sono bloccata, mi potete aiutare??
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <time.h>

#define dim 3
#define num_navi 3

int batt[dim][dim];
int battv[dim][dim];
int r,c,i,j,cont;

void InizializzaGriglia()
{
for(i=0; i<dim; i++)
for(j=0; j<dim; j++)
{
battv[j]=0;
batt[j]=0;
}
}


void PosizionaNavi()
{
cont = 0;
printf("...Attendere qualche secondo, le navi saranno posizionate tra 3...2...1...\n");
while (cont<num_navi)
{
srand(time(NULL));
r = rand()%dim;
Sleep(10);
srand(time(NULL));
c = rand()%dim;
if (batt[r][c]==0)
{
batt[r][c]=1;
cont++;
}
}
}

void VisualizzaGriglia()
{
for(i=0; i<dim; i++)
{
for(j=0; j<dim; j++)
printf("%d ",battv[j]);
printf("\n");
}
}

void Spara()
{
printf("Inserisci il numero della riga, ricordati che puoi scegliere riga 0-1-2 : \n");
scanf("%d", &r);
printf("Inserisci il numero della colonna, ricordati che puoi sceglire la colonna 0-1-2 : \n");
scanf("%d", &c);
if (batt[r][c]==1)
{
printf("E' stata colpita una nave <=>, sara' aggiornata con il numero 1 nella giusta posizione, grandioso, continua cosi' =^_^=!!\n\n");
cont++;
printf("Restano da colpire %d navi, hai in tutto 6 possibilità di sbagliare e perderai, ma non scoraggiarti adesso!! ;) \n\n", num_navi-cont);
battv[r][c]=1;
}
else
{
printf("Ops.. Nave mancata :(!\n");
printf("Restano da colpire %d navi!\n", num_navi-cont);
}
system("pause");
}
main()
{
system("color E9");
printf("* ^_^...^-^...^_^...^-^...^_^...^-^...^_^ *\n");
printf("* *\n");
printf("* BENVENUTO!!!!! *\n");
printf("* INIZIA IL GIOCO DELLA BATTAGLIA NAVALE *\n");
printf("* .. <=> ... <=>... <=> .. *\n");
printf("* .. <=> ... <=>... <=> .. *\n");
printf("* .. <=> ... <=>... <=> .. *\n");
printf("* *\n");
printf("* <\> <\> <\> <\> <\> <\> <\> <\> <\> <\> <\> <\> <\> *\n");
InizializzaGriglia();
PosizionaNavi();
cont = 0;
int contspari=0;
while (cont<num_navi&&contspari<=6)
{
system("color B9");
system("cls");
VisualizzaGriglia();
Spara();
contspari++;
}
if(contspari>6)
printf("OH, NO!! GAME OVER, PECCATO, HAI PERSO.. :'C\n\n");
else
printf("****Bravo, hai sconfitto la flotta nemica!****\n");
system("pause");
}

devo modificare il programma:
- gioco a due giocatori (in questo caso, ognuno posiziona le proprie navi)
- gioco con navi di dimensioni diverse

so che per i due giocatori:
devo raddoppiare un po' tutto.
Intanto, lavoro con 4 matrici, due per ogni giocatore (una visualizzata e una reale).
Quindi, ho due inizializzazioni (una per ogni giocatore), due posizionamenti (una per ogni giocatore), due visualizzazioni (una per ogni giocatore), due funzioni Controlla (una per ogni giocatore) e due funzioni Spara (una per ogni giocatore). Il main dovrebbe essere all'incirca lo stesso, ma lavora con due contatori, uno per ogni giocatore.
 
Pubblicità
Pubblicità
Indietro
Top