main() { GUSANO *g; int i,j; int dir = 1; /* 0: N, 1: E, 2: S, 3: W */ char s[200]; srandom(time(NULL)); for(i=0; i<MAXX/GORDO; i++) for(j=0; j<MAXY/GORDO; j++) tablero[i][j] = 0; init_w(MAXX, MAXY); g = init_g(MAXX/2, MAXY/2, dir, 4); /* x,y,dir,largo */ if(!galleta_id) cookie(MAXX, MAXY); for(;;) { usleep(100000); switch(getchar()) { case 'h': /* back */ dir = 3; break; case 'j': /* down */ dir = 2; break; case 'k': /* up */ dir = 0; break; case 'l': /* forward */ dir = 1; break; case EOF: goto fin; break; default: continue; break; } g->dir = dir; if( !move_g(g) ) { fin: sprintf(s, "Boing!!, score = %d", size_l(g->cuerpo)); free_g(g); close_w(s, 100, 100); exit(0); } } }
int main (int argc, char const *argv[]) { int i,j; int dir = 1; /* 0: N, 1: E, 2: S, 3: W */ char s[200]; /* debug("Starting Application: %s\n", argv[0]); */ if(argc != 2) { fprintf(stderr,"Use: %s program\n", argv[0]); return EXIT_FAILURE; } runWish(); close(STDIN_FILENO); if(open(argv[1],O_RDONLY,NULL)) { printf("Error al Abrir el archivo\n"); return EXIT_FAILURE; } srand(time(NULL)); for(i=0;i<MAXX/GORDO;i++) for(j=0;j<MAXY/GORDO;j++) tablero[i][j] = 0; init_w(MAXX, MAXY,"Gusano - Tarea 3"); g = init_g(MAXX/2, MAXY/2, dir, 4); /* x,y,dir,largo */ if(!galleta_id) cookie(MAXX, MAXY); for(;;) { usleep(100000); dir = eval(g); if(dir == -1) { exit(EXIT_FAILURE); } else { g->dir = dir; if( !move_g(g) ) { sprintf(s, "Boing!!, score = %d", size_l(g->cuerpo)); showColitionPoint(g); free_g(g); g=NULL; close_w(s, 100, 100); waitWish(wpid); exit(0); } } close(STDIN_FILENO); if(open(argv[1],O_RDONLY,NULL)) { printf("Error al Abrir el archivo\n"); exit(EXIT_FAILURE); } } exit(EXIT_FAILURE); }
void pipe_t::close() { close_r(); close_w(); }