Bonjour à tous !
Je vous lance un défi collectif 🙂
J'ai écrit un petit programme servant à faire combattre 2 robots.
Chaque robot est entièrement autonome. Ses actions sont définies par une fonction écrite en C.
Donc le défi est simple : qui réussira à écrire un robot capable de battre les miens ?
(en fait c'est très bidon : mes robots sont écrits à l'arrache, loin d'être parfaits et comportent même quelques bugs 😛)
Plus en détail :
Ici les sources :
https://mega.co.nz/#!TQ93UaRa!dmfll2bt4AcgUADTGjWv6CUMoaAkYcd3Q4LeaComp4w
Voir, dans le fichier LISEZ-MOI.txt, la façon d'ajouter un robot.
Le graphisme est simpliste. Il s'appuie, au choix, sur une interface GL ou X11 (voir dans LISEZ-MOI.txt la façon de paramétrer la compilation).
Les robots combattent dans un labyrinthe généré par le programme. Il y a a priori 2147483647 labyrinthes possibles.
Il y a quelques règles à respecter :
- le source d'un robot ne doit pas inclure d'autre header du programme que "interactions.h" (il peut utiliser ce qu'ils veut comme header système). Ceci parce que ce serait ingérable si les robots avaient un accès direct aux données.
- la fonction principale du robot DOIT commencer par :
while (!Depart) usleep (1);
pour attendre que le moteur ait fini de s'initialiser.
- on n'a pas le droit d'utiliser des astuces du genre écrasement mémoire, bidouille de la table des threads ou autre pour gagner (encore que je serais curieux de voir ... 😉 )
- un robot marque deux points s'il tue son adversaire sans mourir lui-même. Si les deux robots meurent ou si tout les deux survivent, le plus proche du centre marque un point.
Postez ici les sources de robots que vous aurez écrit pour que chacun puisse les confronter.
Posez aussi toutes les questions que vous voudrez, j'essaierai d'y répondre. Le fichier LISEZ-MOI.txt donne la réponse à toutes les questions auxquelles j'ai pensé pour l'instant.
Et, bien sûr, si vous trouvez un bug, ne manquez pas de le signaler. :rolleyes:
Je l'ai testé sous Ubuntu 11.10, sur un AMD Athlon dual core à 2.9 GHz et une carte graphique ATI Radeon 3000 dotée de 256 Mo de mémoire. C'est amplement suffisant, mais je n'ai pas une idée très claire de la configuration minimale requise.
A+