Questo è l'header:
Questa è la griglia:codice:#define ROW 10 //Righe della griglia #define COLUMN 10 //Colonne della griglia #define VECTOR 10 //vettore indice di colonna della griglia per stampare i caratteri #define TRUE 1 #define FALSE 0 //Struct per le coordinate riga-colonna della griglia struct coordinate { int riga; int colonna; }; struct coordinate nave1_pc,nave2_pc,nave3_pc,indice_attack; //navi giocatore, e variabile di attacco /*PROTOTIPI*/ void grid_printer(int[][COLUMN]); void spawn_navi(struct coordinate,struct coordinate,struct coordinate); void posiziona_navi(struct coordinate,struct coordinate,struct coordinate,int [][COLUMN]);
Ecco il codice:codice:int grid[ROW][COLUMN]={{9,0,0,0,0,0,0,0,0,8}, {9,0,0,0,0,0,0,0,0,8}, {9,0,0,0,0,0,0,0,0,8}, {9,0,0,0,0,0,0,0,0,8}, {9,0,0,0,0,0,0,0,0,8}, {9,0,0,0,0,0,0,0,0,8}, {9,0,0,0,0,0,0,0,0,8}, {9,0,0,0,0,0,0,0,0,8}, {9,0,0,0,0,0,0,0,0,8}, {9,7,7,7,7,7,7,7,7,8} };
codice://Procedura per spawnare le navi void spawn_navi(struct coordinate nave1_pc,struct coordinate nave2_pc,struct coordinate nave3_pc) { nave1_pc.colonna=rand()%10; nave1_pc.riga=rand()%10; nave2_pc.colonna=rand()%10; nave2_pc.riga=rand()%10; nave3_pc.colonna=rand()%10; nave3_pc.riga=rand()%10; } //Procedura per posizionare le navi sulla griglia void posiziona_navi(struct coordinate nave1_pc,struct coordinate nave2_pc,struct coordinate nave3_pc,int grid[][COLUMN]) { //if prima nave grid[nave1_pc.riga][nave1_pc.colonna]=1; grid[nave1_pc.riga][nave1_pc.colonna+1]=1; grid[nave1_pc.riga][nave1_pc.colonna+2]=1; //if seconda nave grid[nave2_pc.riga][nave2_pc.colonna]=2; grid[nave2_pc.riga][nave2_pc.colonna+1]=2; grid[nave2_pc.riga][nave2_pc.colonna+2]=2; grid[nave2_pc.riga][nave2_pc.colonna+3]=2; //if terza nave grid[nave3_pc.riga][nave3_pc.colonna]=3; grid[nave3_pc.riga][nave3_pc.colonna+1]=3; grid[nave3_pc.riga][nave3_pc.colonna+2]=3; grid[nave3_pc.riga][nave3_pc.colonna+3]=3; grid[nave3_pc.riga][nave3_pc.colonna+4]=3; }