#include <stdio.h>

#include "../truco.h"
#include "../interfaces/truco_interfaz_comun.h"
#include "../interfaces/truco_stdio.h"

int main(){

    uint8_t jugadores = 2;

    printf("\nInserte número de jugadores: ");
    scanf("%u", &jugadores);

    EstadoPartida partida;

    if(!iniciar_partida(&partida, jugadores, 30)){
        printf("Número inválido de jugadores.\n");
        return 1;
    }

    while(1){
        
        TCIC_nuevo_turno(&partida, 0);

        TCIC_mostrar_controles_a_jugador_actual_segun_estado(&partida, 0);

        ResultadoJugada resultado_jugada = TCIC_manejar_accion_turno(&partida,
        TCIC_recibir_input(0),
        obtener_jugador_turno_actual(&partida),
        0);
        
        TCIC_render_mensaje_por_resultado(&resultado_jugada, &partida, 0);
    }

    return 0;
}

ResultadoJugada TCIC_jugar_baza(EstadoPartida *partida, uint8_t jugador_i, uint8_t carta_i, uint16_t partida_i){
    return jugar_baza(partida, jugador_i, carta_i);
}

ResultadoJugada TCIC_cantar(EstadoPartida *partida, uint8_t jugador_i, uint8_t canto_i, uint16_t partida_i){
    return cantar(partida, jugador_i, canto_i);
}

ResultadoJugada TCIC_cantar_tanto(EstadoPartida *partida, uint8_t jugador_i, uint16_t partida_i){
    return cantar_tanto(partida, jugador_i, calcular_envido(partida, jugador_i).valor_tantos);
}