/*世代を確保、初期化する*/ int initGeneration(myAI* generation[G_SIZE]){ int i;//counter for(i = 0; i < G_SIZE; i++){ generation[i] = allocAI(); initAI(generation[i]); } return 0; }
void Client::startAI() { initAI(); if (_inventory[0] <= 10) forkUntil(1000); defineGoal(40, 0, 0, 0, 0, 0, 0); searchFood(2500); look(); getToNextLvl(); sleep(1000); }
int main(int argc, char **argv){ if(argc!=3){ printf("\nmi_mkfs: Error debe escribir: $ ./mi_mkfs <nombre_fichero> <cantidad_bloques>\n"); return -1; } //cantidad_bloques unsigned int numBloques = atoi(argv[2]); //cantidad_inodos unsigned int ninodos = numBloques/4; if(numBloques==0){ printf("\nmi_mkfs: El nº de bloques debe ser mayor a 0.\n"); return -1; } //ETAPA 1: unsigned char buf[BLOCKSIZE]; //Rellenamos de 0's el buffer. memset(buf,0,BLOCKSIZE); //Montamos el dispositivo. printf("\nmi_mkfs: Montando el dispositivo...\n"); bmount(argv[1]);//nombre_fichero printf("\nmi_mkfs: El dispositivo se ha montado con éxito.\n"); printf("\nmi_mkfs: Realizando escritura...\n"); //ETAPA 1: //Escribimos todos los bloques en el dispositivo. for(int i=0; i<numBloques; i++){ bwrite(i,buf); } if(initSB(numBloques,ninodos)<0)return -1; if(initMB()<0)return -1; if(initAI(ninodos)<0)return -1; //Se escribe el directorio raíz = inodo raíz. reservar_inodo('d',7); //Desmontamos el dispositivo. printf("\nmi_mkfs: Desmontando el dispositivo...\n"); bumount(); printf("\nmi_mkfs: Dispositivo desmontado con éxito.\n"); return 0; }
int main(int argc, char **argv){ if(argc!=3){ printf("Número de argumentos incorrecto \n"); return -1; } unsigned int n_bloques = atoi(argv[2]); //Número de bloques del FS unsigned char buf[blocksize]; memset(buf,0,blocksize); bmount(argv[1]); //Monta Disco int i; for (i=0; i<n_bloques-1; i++){ //Llena bloques con 0s bwrite(i,buf); } memset(buf,1,blocksize); bwrite(n_bloques,buf); int block = n_bloques/4;//Para el cáculo de inodos if(initSB(n_bloques, block)==-1){ //Inicializa SB printf("Error al escribir superbloque"); }else{ printf("Superbloque escrito \n"); } if(initMB(n_bloques)==-1){ //Inicializa MB printf("Error al escribir mapa de bits"); }else{ printf("Mapa de bits escrito \n"); } int n = tamAI(block); if (initAI(n)==-1){ //Inicializa AI printf("Error al escribir el array de inodes"); }else{ printf("Array de inodes escrito \n"); } int inodoraiz = reservar_inodo('d',7); printf("Sistema de ficheros creado correctamente \n"); bumount(); //Desmonta disco return 0; }
int main(int argv,char *argc[]) { unsigned char byte; unsigned int word; unsigned char block[32]; initAI(); block[0] = 0x00; printf("%d\n",i2cWriteBytes(1,0x48,0x40,block,1)); //printf("0x%02x\n",getAI(AI_01)); return 0; }
int main(){ srand(time(NULL)); //myAI* AI = initAndEvolveAIWithGA(); myAI* AI = allocAI(); initAI(AI); setAIatRandom(AI); runAI(AI, 5.0); freeAI(AI); return 0; }
int main(int argc, char **argv){ int i; unsigned int fichero; unsigned int cantidad_bloques; unsigned int cantInt; unsigned char buffer[BLOCKSIZE]; unsigned int numInodos; fichero=bmount(argv[1]); cantidad_bloques=atoi(argv[2]); cantInt=atoi(argv[3]); //divisor para la cantidad de inodos de nuestro sistema if (fichero==-1){ printf("Error en el montaje del dispositivo en mi_mkfs.c\n"); } else { memset (buffer,0,BLOCKSIZE); for (i=0; i<cantidad_bloques; i++){ bwrite(i,buffer); } printf("i: %i\n",i); } numInodos = cantidad_bloques/cantInt; tamMB(cantidad_bloques); tamAI(numInodos); initSB(cantidad_bloques,numInodos); initMB(cantidad_bloques); initAI(numInodos); bumount(); return 0; }
int main (int argc,char **argv) { if (argc == 2) { signal(SIGCHLD,reaper); mount(argv[1]); struct inodo in; if (leer_inodo(&in, 0) < 0) { printf("ERROR (simulacion.c -> mi_stat(/)): Error al leer el estado\n"); } struct superbloque SB; if (bread(0, (char *)&SB) < 0) { printf("ERROR (simulacion.c -> error al leer el superbloque)\n"); } if (in.t_bytes > 0) { vaciar(); initSB(SB.n_bloques, argv[1]); initMB(SB.n_bloques); initAI(SB.n_bloques); } int i; for (i = 0; i < N_PROCESOS; i++) { int hilo = fork(); if (hilo == 0) { if (proceso(i) < 0) { printf("ERROR (simulacion.c): Error al crear el proceso %d.\n", i); return (-1); } exit(0); } else if (hilo < 0) { i--; printf("Llamamos al reaper, hilo = %d\n", hilo); reaper(); } sleep(1); } while (acabados < N_PROCESOS) { pause(); } unmount(argv[1]); } else { printf("ERROR (simulacion.c): Error, parámetros != de 2 (%d).\n", argc); return (-1); } return (0); }
int main(void) { while (1) { state = 0; int setTime = 15; numPlayers = 2; initScreen(); clearScreen(); initCharBuffer(); clean_up(); initKeyboard(); initState0(); initAI(); //Bypass the menu system for testing if (IORD(keys,0) == 8) { initPlayer(pOne, MARIO, "pOne", 50, 100, HUMAN); initPlayer(pTwo, LUIGI, "pTwo", 50, 100, COMPUTER); state = 2; } else { while (state == 0) { decode_scancode(ps2, &decode_mode, buf, &ascii); state_0(decode_mode, buf[0]); }; initState1(pOne); if(aOn)file_handle = initAudio(fname); if(aOn)alt_irq_register(AUDIO_0_IRQ, &ab, (alt_isr_func) write_fifo); if(aOn) alt_up_audio_enable_write_interrupt(ab->audio); while (state == 1) { decode_scancode(ps2, &decode_mode, buf, &ascii); state_1(decode_mode, buf[0], ascii); if(aOn)loop_audio(file_handle, fname, ab); }; } //clean_up(); clearCharBuffer(); clearScreen(); //enable keyboard IRQ void* keyboard_control_register_ptr = (void*) (KEYBOARD_BASE + 4); alt_irq_register(KEYBOARD_IRQ, keyboard_control_register_ptr, keyboard_ISR); alt_up_ps2_enable_read_interrupt(ps2); //Draw field and UI to both buffers initField(); updateField(); drawName(p[pOne].name, p[pTwo].name, p[pThree].name, p[pFour].name); drawGas(p[pOne].gas); drawHealth(p[pOne].hp, p[pTwo].hp, p[pThree].hp, p[pFour].hp); drawBullet(p[pOne].bulletType); //drawWindIndicator(1); updateScreen(); updateField(); drawName(p[pOne].name, p[pTwo].name, p[pThree].name, p[pFour].name); drawGas(p[pOne].gas); drawHealth(p[pOne].hp, p[pTwo].hp, p[pThree].hp, p[pFour].hp); drawBullet(p[pOne].bulletType); //drawWindIndicator(1); float time; alt_timestamp_start(); int start_timer_flag = 1; //printf("NUM PLAYERA %i\n", numPlayers); int i; while (state == 2) { int fallFlag = 1; //Checks to see if any players are falling while (fallFlag == 1) { fallFlag = 0; for (i = 0; i < numPlayers; i++) { if (p[i].alive) { if (p[i].y + TANK_HEIGHT >= SCREEN_HEIGHT-1) { p[i].hp = 0; p[i].alive = DEAD; } checkPlayerFalling(i); if (p[i].isFalling) { undrawPlayer(i); updatePlayer(i); fallFlag = 1; } } } if (fallFlag == 1) { updateScreen(); } } if(start_timer_flag){ start_time = (float) alt_timestamp() / (float) alt_timestamp_freq(); start_timer_flag = 0; } time = (float) alt_timestamp() / (float) alt_timestamp_freq()-start_time; if (time >= setTime) { setPlayerTurn(); } if (p[turn].type == HUMAN) { runGame(); } else { p[turn].deg = 0; aiMain(turn); setPlayerTurn(); } printTimer(setTime - time); int deadCount = 0; for (i = 0; i < numPlayers; i++) { if (p[i].alive == DEAD) deadCount++; } if (deadCount == numPlayers - 1) { usleep(500000); state = 3; } } alt_up_ps2_disable_read_interrupt(ps2); if(aOn)alt_up_audio_disable_write_interrupt(ab->audio); GameOverScreen(); } }