Ejemplo n.º 1
0
uint game_perro_atender_call(ushort accion_id, uint extra) {
	uint result;
	result = NULL;
	switch (accion_id) {
		case 1:
			// moverse
			result = game_perro_mover(sched_tarea_actual(), extra);
			break;
		case 2:
			// cavar
			result = game_perro_cavar(sched_tarea_actual());
			break;
		case 3:
			// olfatear
			result = game_perro_olfatear(sched_tarea_actual());
			break;
		case 4:
			// recibir orden
			result = game_perro_recibir_orden(sched_tarea_actual());
			break;
		default:
			break;

	}
	return result;

	//cambiar a la tarea idle
}
Ejemplo n.º 2
0
unsigned int sched_desalojar_actual() {
	task_info* actual = sched_tarea_actual();

	///// DEBUG //////
	unsigned short attr = C_FG_WHITE | C_BG_BLACK;
	switch (currentType) {
	case A_type:
		attr = C_FG_RED | C_BG_BLACK;
		break;
	case B_type:
		attr = C_FG_BLUE | C_BG_BLACK;
		break;
	default:
		attr = C_FG_WHITE | C_BG_BLACK;
		break;
	}
	print("DES:", 20, 0, attr);
	print("  ", 26, 0, attr);
	print_int(currentIndex, 26, 0, attr);
	///// DEBUG //////

	// Solo bajamos el flag alive
	// Podemos usar el resto de la informacion para limpiar la pantalla
	actual->alive = 0;
	en_idle = 1;
	return 0;
}