#include "api.hh"
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;



struct EPosition{  // Enhanced position
    int colonne;
    int ligne;
    int niveau;
    int distance;
};

// Fonction appelée au début de la partie.
void partie_init(void)
{
    // TODO
    
}

// Fonction appelée à chaque tour.
void jouer_tour(void)
{
    // printf("TOUR %d\n", tour_actuel());
    
    // if(current_phase == CONQUETE_NIDS){
    //     vector<troupe> troupes = troupes_joueur(player_id);
    //     vector<position> pains_pos = pains();
        
    //     if(pains_pos.size() == 0) return;
    //     for(troupe tr : troupes){

    //         int tr_id = tr.id;
    //         // position pos = tr.maman;
    //         position pos = {12, 1, 0}, pepep = {17, 17, 0};
            
    //         pains_pos = sort_by_distance(pains_pos, pos);
    //         // vector<direction> path2br = trouver_chemin(pos, pains_pos.at(0));
    //         vector<direction> path2br = trouver_chemin(pos, pepep);
    //         if(tour_actuel() < 100){
    //         printf("Troupe id:%d, troupe xy: (%d; %d), ", tr_id, pos.colonne, pos.ligne);
    //         printf("bread xy: (%d, %d), pathlen: %d\n\n", pains_pos.at(0).colonne, pains_pos.at(0).ligne, path2br.size());
    //         }
    //         for(direction dir : path2br){
    //             avancer(tr_id, dir);
    //         }
    //     }

    //     troupes = troupes_joueur(player_id);
    //     for(troupe tr : troupes){
    //         debug_poser_pigeon(tr.maman, PIGEON_JAUNE);
    //     }   
    // }

    position pos = {12, 12, 0}, pos2 = {17, 17, 0};
    path2br = trouver_chemin(pos, pains_pos.at(0));
    vector<direction> path2br = trouver_chemin(pos, pepep);
    printf("len: %d\n", path2br.size());
    for(direction d : path2br){
        cout << d << endl;
    }


}

// Fonction appelée à la fin de la partie.
void partie_fin(void)
{
    // TODO


}


int main(){
    EPosition p = {10, 10, 0, 1};
    position yes = (position)p;
    printf("%d %d %d \n", yes.colonne, yes.ligne, yes.niveau);

}

