2010-12-11 50 views
0

Juste pour m'amuser, j'ai écrit un petit programme C qui, en théorie, devrait gagner le jeu de Snake. Je l'utilise pour simuler des frappes et je le teste sur un des jeux Snake de Facebook. Le problème est que, comme je ne fais pas de traitement d'image ou que je tente de m'accrocher au Java dans le jeu, mon algorithme basé sur le temps varie en fonction de plusieurs sources de retard, surtout quand la page de jeu décide de charger une nouvelle annonce. Y at-il un moyen que je pourrais contourner cela avec un algorithme basé sur le temps?Erreur de synchronisation dans le programme C

Merci

+2

nous montrer ce que tu as, nous savons donc que ce soit le code ou votre algorithme qui est bogué – stillstanding

+0

[Code est roi] (http://tinyurl.com/so-hints). – outis

Répondre

0

Je ne sais pas quel est le jeu comme, mais vous essayez d'automatiser l'interaction avec une interface extra-terrestre. Si l'interaction ne peut pas être mise en mémoire tampon (soit elle ne peut pas, soit vous n'avez pas trouvé/employé une technique pour le faire). La meilleure façon de le faire serait de coupler les deux blocs ensemble, votre IA étant invoquée lorsque le jeu est prêt pour un autre ordre. A défaut, il y a quelques idées que vous pouvez utiliser:

  • Est-ce que le traitement de base pour un certain trouver si le jeu a réagi à la commande, sinon, essayez à nouveau.

  • Si vous pouvez attendre et répéter, essayez de chronométrer les retards et de synchroniser l'interaction, en répétant la même commande plusieurs fois.

  • Evitez complètement la source de retard, par ex. en utilisant un outil pour bloquer les publicités, en utilisant des règles de pare-feu pour bloquer ces publicités spécifiques, en bloquant le script qui charge les publicités, etc. Mais cela signifierait que les annonces sont en dehors de l'applet Java - si elles le sont, vous pouvez simplement lancer l'applet directement sans la page "container".