void compra(void) { Libro lib, libar; long posicion; if(fh == NULL) fh = fopen(fich, "rb+"); printf("Código: "); fgets(lib.codigo, 7, stdin); printf("Autor: "); fgets(lib.autor, 41, stdin); printf("Título: "); fgets(lib.titulo, 41, stdin); posicion = hash(lib.codigo); posicion = desplazamiento(posicion); fseek(fh, posicion, SEEK_SET); fread(&libar, sizeof(Libro), 1, fh); if(strcmp(libar.codigo, "*") == 0) { fseek(fh, -sizeof(Libro), SEEK_CUR); fwrite(&lib, sizeof(Libro), 1, fh); printf("Registro grabado en la dirección: %ld\n",posicion); } else if(strcmp(libar.codigo, lib.codigo) == 0) { puts("Código repetido, revisar los datos."); return; } else colisiones(lib); fflush(fh); }
int main(int argc, char** argv) { TablaHash tabla; tipo_alumno aux_alum; char clav[Tam][20]= { "" }; colisiones(&tabla,clav,aux_alum); busqueda(&tabla,clav,aux_alum); return (EXIT_SUCCESS); }
void Juego::eventos() { switch (e) { case SALIR: break; case JUEGO: if (oponentes->numEnem() == 0) { cambiaEstado(FINFASE); } break; case MENU: if (bjugar != NULL) { if (bjugar->encima(Mx, My) && BRizq) { cambiaEstado(JUEGO); } } if (bsalir != NULL) { if (bsalir->encima(Mx, My) && BRizq) { cambiaEstado(SALIR); } } break; case SUBMENU: if (bSI != NULL) { if (bSI->encima(Mx, My) && BRizq) { cambiaEstado(MENU); } } if (bNO != NULL) { if (bNO->encima(Mx, My) && BRizq) { cambiaEstado(JUEGO); } } break; case GAMEOVER: if (BRizq) { cambiaEstado(MENU); } break; case FINFASE: if (BRizq) { if (mapas.esVacia()) { cambiaEstado(MENU); } else { fondo = IMG_Load(mapas.consulta().c_str()); cambiaEstado(JUEGO); } } break; } colisiones(); movimiento(); }
void Scene::animate() { if (this->_scene==1) { if (this->personaje->getState()==_DEAD) newCharacter(); this->personaje->animate(); //pedimos que se animen for (int i=0 ; i<_droids.size() ; i++ ) _droids[i].animate(); //pedimos que se animen for (int i=0 ; i<_wasps.size() ; i++ ) _wasps[i].animate(); //vemos si colisionan colisiones(); //vemos si entran en la captura captureDroid(); } }