// debe encargarse de buscar un perro libre, configurarlo, y inicializar su mapeo de memoria, tss, y lugar en el sched void game_jugador_lanzar_perro(jugador_t *j, uint tipo, int x, int y) { if (game_perro_en_posicion(x, y) != NULL) return; perro_t *perro = game_jugador_dame_perro_libre(j); if (perro == NULL) return; game_perro_reciclar_y_lanzar(perro, tipo); }
void screen_actualizar_posicion_mapa(uint x, uint y) { uchar bg = C_BG_GREEN; uchar letra; uint valor = game_huesos_en_posicion(x,y); perro_t *perro = game_perro_en_posicion(x, y); if (perro != NULL) { letra = screen_caracter_perro(perro->tipo); } else if (valor > 0) { letra = screen_caracter_tesoro(valor); } else if ((jugadorA.x_cucha == x && jugadorA.y_cucha == y) || (jugadorB.x_cucha == x && jugadorB.y_cucha == y)) { letra = 'x'; } else { letra = screen_valor_actual(y+1, x); } screen_pintar(letra, bg | C_FG_BLACK, y+1, x); }