Ciao a tutti, il compilatore dice che dovrei non sto ignorando abbastanza un void. Ho provato a ignorarlo di più ma non succede niente . Posto il codice.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int watch();
void draw_snake(char *pg);
void drop_food(char *pf);
int main ()
{
int c1, c2, temp;
char grid[30][50];
float counter=0;
int (*p)(void);
p = watch;
for(;;){
if((p())>=counter){
system("tput clear");
draw_snake(&grid);
drop_food(&grid);
for(c1=0; c1<30; c1++){
for(c2=0; c2<50; c2++){
if (c1==0 || c1 == 29 || c2 == 0 || c2 == 49){
grid[c1][c2]='#';
printf("%c", grid[c1][c2]); }
else if(grid[c1][c2] == 'O'){
printf("%c", grid[c1][c2]); }
else{
grid[c1][c2]=' ';
printf("%c", grid[c1][c2]); }
}
printf("\n"); }
counter+=1;}
else{;} }
}
int watch(){
int time = (clock() / CLOCKS_PER_SEC);
return time; }
void draw_snake(char *pg){
static int c1=1, c2=1;
int lenght=6, i;
pg+=(c1*50+c2);
for( i=0; i<lenght; i++, pg++){
if(i== 0){
*pg=' '; }
else{
*pg='O'; }
}
c2+=1;}
void drop_food(char *pf){
//le linee incriminate
int s=((srand(time(NULL)))%100)+1;
int s2=((srand(time(NULL)))%100)+1;
//fine linee incriminate
if (s>50)
s%=10;
if (s2>50)
s2%=10;
pf+=(s*50+s2);
*pf='*'; }
Non mi era mai capitato. La funzione drop_food non sta ritornando niente perchè mi dice che ignoro il fatto che è una void ? Bo... illuminatemi.