LoucIsZbib / SpaceBaracraftCivilization

Le jeu 4XWF de Barakuun
GNU General Public License v3.0
1 stars 0 forks source link

Algo d'explo pas robuste #13

Closed LoucIsZbib closed 3 years ago

LoucIsZbib commented 3 years ago

Est-ce que parce que tout est visité ?

File "/home/luc/Projets/SpaceBaracraftCivilization/bot/bot.py", line 195, in play_turn destination = self.closest_unvisited_star(ship) File "/home/luc/Projets/SpaceBaracraftCivilization/bot/bot.py", line 216, in closest_unvisited_star destination = valid_sorted_destination[0] IndexError: list index out of range

odoucet commented 3 years ago

tu vérifies pas si valid_sorted_destination est bien un tableau avec des entrées. Là tu demandes le premier élément à l'intérieur et Python te dit que raté, cet index n'existe pas (== le tableau est vide).

LoucIsZbib commented 3 years ago

la façon de faire a changé : ce ne sont plsu les bots qui cherchent quelle cible, c'est la commande EXPLORE qui est côté moteur de jeu (pour permettre aux joueurs humains féniants de l'utiliser aussi)

https://github.com/LoucIsZbib/SpaceBaracraftCivilization/commit/3645a5f51f2dc0f6bdce95b26027aee92cbcfdb6

L'implémentation a changé : la liste des étoiles ne sera plus jamais vide, car on ne prend pas les étoiles non visitées, on prend toutes les étoiles et elles sont triées par date de visite. Comme il y a forcément l'étoile de sa colonie principale, la liste ne sera pas vide. Autre avantage : une fois qu'on a exploré toute la galaxie, on recommence histoire de spotted les colonies des autres :)