Bonjour,
Voila je suis en train de programmer un AI pour un concour ( Imagine Cup ).
L'un des objectifs du jeu est de passer par un ensemble de points specifiques.
Afin d'optimiser le traitement j'utilise un algo de dijkstra pour trouver simultanement le point le plus proche de mon point de depart ainsi que le plus court chemin. Comme cet algo est plutot lent comparé à du A* j'ai décider de profiter du temps utilisé pour faire le trajet pour calculer la prochaine destination.
Seulement j'ai une contrainte : Le jeu se deroule au tour par tour. Un tour dure 4s (si mes souvenirs sont bons) Au bout de ses 4s si le traitement n'est pas terminé,je perd un tour et donc tous les traitements que j'aurais du faire.
Mon idée est alors de decouper le traitement en tranche de 4s. ainsi je veux que la fonction FindPath sorte au bout de 4s. Puis à la prochaine fois que la fonction est appellé, les informations elle puisse continuer l'ancien traitement.

Bon je sais que ca parait facile à faire, seulement je sais pas quel methode est mieux : les variables statiques,l'utilisation d'une classe et de variables privées voir d'autre idées auquels je n'ai pas pensé.
Et pour l'arret, y a pas moyen de créer une fonction ki en lancerai une autre tout en la stopant au bout d'un certain temps( comme avec les threads ou on lui donne une sorte de durée de vie).
Je precise que je travail en vb.net(Je suis à l'aise avec le c++ je pourrai probablement me debrouiller avec du C# mais ca doit etre du .net 3) et que l'utilisation des thread n'est pas autorisée.

Merci.