#include "empanada.h"
#include <stdlib.h>
#include <string.h>

void inicializarEmpanada(Empanada* e, const char* relleno) {
    strncpy(e->relleno, relleno, 29);
    e->tiempo_coccion = 5 + rand() % 6;
    e->tiempo_actual = 0;
    e->activa = 1;
    e->estado = CRUDA;

    int azar = rand() % 100;
    if (azar < 5) {
        e->estado = CUANTICA;
    } else if (azar < 15) {
        e->estado = SIN_RELLENO;
        e->tiene_relleno = 0;
    } else {
        e->tiene_relleno = 1;
    }
}

void cocinar(Empanada* e) {
    if (e->activa == 0) return;
    if (e->estado == CUANTICA || e->estado == SIN_RELLENO || e->estado == QUEMADA) return;

    e->tiempo_actual++;

    if (e->tiempo_actual < e->tiempo_coccion) {
        e->estado = EN_COCINA;
    } else if (e->tiempo_actual == e->tiempo_coccion) {
        e->estado = LISTA;
    } else {
        e->estado = QUEMADA;
    }
}

const char* estadoToString(Estado estado) {
    switch (estado) {
        case CRUDA: return "Cruda";
        case EN_COCINA: return "En cocina";
        case LISTA: return "Lista";
        case QUEMADA: return "Quemada";
        case CUANTICA: return "Cuantica";
        case SIN_RELLENO: return "Sin relleno";
        default: return "Desconocido";
    }
}
