Salve, volevo mostrarvi il mio problema , praticamente mi hanno assegnato un progetto per l'esame di progr 1 dove mi viene chiesto di simulare un gioco tra cani e gatti,inizialmente vengono predisposti in modo random i 4 animali sulla scacchiera , successivamente viene calcolata la distanza tra i cani e il gatto , a quel punto il cane si muove nella direzione del gatto piu vicino , il gioco finisce o quando i cani raggiungono i gatti oppure quando si raggiungono un certo numero di passi , il mio problema principale sta nella stesura del codice , in quanto ho già costruito una mappa e scritto tutti i procedimenti ma non avendo avuto la possibilità di seguire il corso ho questi problemi sul codice , vi posto uno "pseudo codice " spero che qualcuno possa aiutarm , la scandeza è per il 21
#include<stdio.h>//header file che consente le varie operazioni di input e output
#include<stdlib.h>//header file che consente l'uso di rand, srand e di RAND_MAX
#include<time.h>//fornisce un accesso standardizzato alle funzioni di acquisizione e manipolazione del tempo.
#include<math.h>
#define n 2;
typedef struct animali{
int nx;
int ny;
}animali ;
animali_cani[2];
animali_gatti[2];
void inserisci_animali(char scacchiera[8][8])
int main()
{
/*
Dichiarazione delle variabili.
*/
int i,nx,ny; /* Contatore per i cicli while.*/
int posRiga, posCol; /* Variabili utilizzate per riempire la scacchiera in modo pseudo-random*/
char gatti[2];
char cani[2];
srand(time(NULL)); /* Funzione che inizializza lo pseudo-random. Se non ci fosse, ad ogni avvio del programma
la posizione dei pedoni e della regina, sarebbe sempre la stessa.*/
char colonne[8] = {'a','b','c','d','e','f','g','h'}; /*Dichiarazione e inizializzazione della stringa utilizzata
per definire le colonne della scacchiera.*/
char scacchiera[][8] =
{{'b','n','b','n','b','n','b','n'},
{'n','b','n','b','n','b','n','b'},
{'b','n','b','n','b','n','b','n'},
{'n','b','n','b','n','b','n','b'},
{'b','n','b','n','b','n','b','n'},
{'n','b','n','b','n','b','n','b'},
{'b','n','b','n','b','n','b','n'},
{'n','b','n','b','n','b','n','b'}}; /* Dichiarazione e inizializzazione della scacchiera.*/
char s;
void inserisci_cane(char scacchiera[8][8],animali_cani[n],animali_gatti[n]);
int i,n ;
srand((unsigned int)time(0));
for (i=0;i<n;i++){
animali_cani[i].nx=rand%8;
animali_cani[i].ny=rand%8 }
for (i=0;i<n;i++) {
animali_gatti[i].nx=rand%8;
animali_gatti[i].ny=rand%8;
scacchiera[animali_cani[nx][ny]='C'
scacchiera[animali_gatti[nx][ny]='G';
}
printf("Cani inseriti nella posizione %d,%d\n",animali_cani[nx][ny])
printf("Cani inseriti nella posizione %d,%d\n",animali_gatti[nx][ny])
}
int distanza(animali_gatti[2],animali_cani[2],char scacchera[8][8]);
int d1,d2,d3,d4,origine1,origine2,;
printf ("I Cani si trovano in posizione">>>ricavare le coordinate dalla funzione inserisce cane
origine1=animali_cani[nx][ny];
printf ("i gatti si trovano in posizione">> ricavare coordinate gatti dalla funzione inserisci cane
origine1=animali_gatti[nx][ny]
distanzaCane1Gatto1 = formula con pitagora;
distanzaCane1Gatto2 = formula con pitagora;
distanzaCane2Gatto1 = formula con pitagora;
distanzaCane2Gatto2 = formula con pitagora;
if (d1< d2) AND (d1 < d3) AND ( d1 < d4) variabileDiScelta = 1;
else if( d2 < d1) || (d2 < d3) || ( d2 < d4) variabileDiScelta = 2;
else if( d3 < d1) || (d3 < d2) || ( d3 < d4) variabileDiScelta = 3;
else if(d4 < d1) || (d4 < d2) || (d4 < d3) variabileDiScelta = 4;
switch(variabileDiScelta)
case 1: ---PRIMO CANE VA INCONTRO AL PRIMO GATTO--- endcase;
case 2: ---PRIMO CANE VA INCONTRO AL SECONDO GATTO--- endcase;
case 3: ---SECONDO CANE VA INCONTRO AL PRIMO GATTO--- endcase;
case 4: ---SECONDO CANE VA INCONTRO AL SECONDO GATTO--- endcase;
endswitch
void visualizza_scaccheria(char schacchiera[][8])
{
int i,j,n;
for(i=0;i<n;++i)
{
for(j=0;j<n;++j)
printf("%c",scacchiera[i][j]);
printf("\n");
}
}
Modifica/Elimina Modifica messaggio Rispondi rapidamente in questo messaggio Rispondi Rispondi quotando Rispondi quotando Multi-Quote questo messaggio
+ Rispondi
Navigazione veloce Programmazione Vai in cima
Risposta veloce Risposta veloce