CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Concours d'IA en OCaml ou C

dnob700
dnob700
Niveau 10
16 mars 2007 à 14:58:26

Suite au topic sur le puissance 4 ou certaine personne parlait d´écrire une IA, je vous présente un petit projet que j´ai écrit il y a quelques semaines.

Il s´agit d´un petit programme permettant de faire concourir des IA au sein d´un jeu aux règles asez simples. Tout est fait par mon programme, et pour le programmeur d´une IA, il y a très peu de travail (en plus du coté purement algorithmique).

Le jeu est vraiment très simple, il existe sous le nom de jeu d´alésia, et j´en ai un peu adapté ses règles (les conditions de victoire) sous le nom de jeu du lépreux, globalement, il y a deux camps qui s´affronte sur un plateau de 5 cases (en ligne, numéroté de 1 à 5), chaque camp étant à l´une des extrémités (case 0 et 6).

Au départ chaque camp dispose de n "crédit", et il y a un pion sur la case centrale. A chaque tour, chaque camp mise secrètement un certain nombre non nul de crédit. Celui qui mise le plus pousse le pion d´une case vers son adversaire. Si le pion sors du plateau (case 0 ou 6) celui qui est du coté où le pion arrive à perdu.

Pour abstraire la gestion des règles, ainsi que le coté du plateau où l´on se trouve, etc. J´ai écrit un petit programme en OCaml qui charge des DLL contenant des IA.

L´écriture d´une IA est donc très très simple, mon projet contient des fichiers exemples qu´il suffit de remplir (il faut deux fonctions par IA seulement).

Normallement ça doit pouvoir tourner sur n´importe quelle plateforme supporté par OCaml, en tout cas dans l´archive du projet (à lire avec WinRAR sous windows car c´est du tar.gz) il y a un makfile pour les plateforme unix et un ensemble de fichier .bat pour les plateformes windows, chacun un peu commenté pour voir ce qu´il faut modifier pour compiler lesIA qu´on y rajoutte.

Et enfin, une IA peut-être écrite en OCaml bien sûr, où en C pour ceux qui préférerait (sauf que je ne sais pas comment on compile ça sous windows, donc si vous voulez que ça marche automatiquement, une IA en C doit être compilée sous linux, sinon il faudra chercher).

Voilà, une archive contenant tout le projet peut être téléchargé là :
http://www.sectionpc.info/stratege/stratege.tar.gz
Il y a un fichier README, et la plupart des fichiers importants sont commentés pour expliquer comment s´en servir.

Pour l´instant l´archive ne contient que des exemples très basique d´IA, mais il devrait bientôt avoir des IA un peu plus poussé.

D´autre part, un ami a créé une page wiki sur le projet (
http://perso.eleves.bretagne.ens-cachan.fr/~dagand/wiki/doku.php?id=lepreux ) où vous pouvez, par exemple, poster vos IA.

godrik
godrik
Niveau 30
16 mars 2007 à 15:12:10

une question: Combien de crédit sont utilisé a chaque tour ?

dnob700
dnob700
Niveau 10
16 mars 2007 à 18:03:34

justement, c´est le but de l´IA de choisir combien de crédit il faut miser à chaque tour. On connait son nombre de crédit, la position du pion, ainsi que le nombre de crédit restant à l´adversaire (on peut donc savoir combien il a misé aux tours précédents).

Dans la règle de base, on n´a pas le droit de miser 0, et dès que l´on n´a plus de crédit on a perdu (cette version est nécessaire pour garantir qu´une partie à une fin, sion veut regarder un peu de théorie sur le jeu), dans une version plusproche des règle d´origine, on peut miser 0, et on ne gagne que si on amène le pion jusqu´à l´adversaire (si plus personne n´a de crédit (mais pas forcément simultanément) alors personne ne gagne).

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment