コード例 #1
0
ファイル: game.c プロジェクト: ilebrero/Orga2-TP3
void game_tick(uint id_pirata)
{
	//chequea por piratas pendientes
	if (hay_mineros_disponibles(&jugadorA) && !hay_pirata_en_puerto(&jugadorA)) {
		uint posCavar = obtener_pos_cavar_pendiente(&jugadorA);
		game_pirata_inicializar(PIRATA_MINERO, JUGADOR_A, posCavar);
	} else if (hay_mineros_disponibles(&jugadorB) && !hay_pirata_en_puerto(&jugadorA)) {
		uint posCavar = obtener_pos_cavar_pendiente(&jugadorB);
		game_pirata_inicializar(PIRATA_MINERO, JUGADOR_B, posCavar);
	}

	if (jugadorA.puntuacion == puntaje_anteriorA && jugadorB.puntuacion == puntaje_anteriorB){
		muerte_subita++;
		if (muerte_subita > 40) {
			game_terminar_si_es_hora();			
		}
	} else {
		muerte_subita = 0;
	}

	puntaje_anteriorB = jugadorA.puntuacion;
	puntaje_anteriorA = jugadorB.puntuacion;

	if (botines_pendientes == 0) {
		game_terminar_si_es_hora();
	}

	//actualiza pantalla
	if (id_pirata < NULL_ID_PIRATA) {
		pirata_t* pirata = id_pirata2pirata(id_pirata);
		screen_actualizar_reloj_pirata(pirata->jugador, pirata);
	}
	screen_actualizar_reloj_global();
}
コード例 #2
0
ファイル: game_isr.c プロジェクト: araml/OC2
// ~~~ debe atender la interrupción de reloj para actualizar la pantalla y terminar si es hora,
// ~~~ recibe el perro que está corriendo actualmente
void game_atender_tick(perro_t *perro)
{

	if (perro != NULL){
		screen_actualizar_reloj_perro(perro);
		//breakpoint();
	}
	mostrar_reloj();
	ultimo_cambio--;
	game_terminar_si_es_hora();


}
コード例 #3
0
// ~~~ debe atender la interrupción de reloj para actualizar la pantalla y terminar si es hora,
// ~~~ recibe el perro que está corriendo actualmente
void game_atender_tick(perro_t *perro){
	//pintar? capaz todas las actualizaciones(perro, jugador, se hacen aca)
	screen_actualizar_reloj_perro(perro);
	game_terminar_si_es_hora();
}