Nouvelle année et nouveau défi pour moi :

Je vais essayer d'atteindre la ligue Légende dans le jeu "Code à la Mode" sur Codingame. Encore une fois, je vais utiliser le langage Rust.

Première tâche, pas la plus facile : recoder une arène complète en Rust, avec toutes les règles du jeu, pour pouvoir tester "localement" ma future IA.

Une bonne occasion d'apprendre comment fonctionne la communication inter-processus (par pipes) en Rust.

Je suis en train de finir l'implémentation du protocole de communication entre l'arène et les bots.

Quand j'aurai terminé, je pourrai rentrer dans le vif du sujet : coder une IA "simple" pour monter au moins en ligue Bronze.

Follow

J'ai fini la définition des machines à états pour les chefs et pour les tables (d'après la documentation ici) : github.com/csj/code-a-la-mode/).

Je vais à présent rajouter une fonction pour le calcul de distances.

Ma fonction de calcul de distances marche, et elle s'exécute en 20 µs sur ma machine (avec un petit i3-330M en guise de CPU).

La fonction de définition de la machines à états, elle, prend 10 µs.

C'est plutôt un bon départ. Je vais à présent finir mon IA "simplifiée".

J'ai fini le code pour l'IA simplifiée, il reste maintenant à le tester et à le debugger.

Ensuite, je pourrai faire une première soumission sur Codingame.

Mon IA est maintenant prête, et les tests contre le Boss sont concluants.

Je devrais passer en ligue "Bois 2" sans difficulté d'ici quelques heures.

Je suis passé sans difficulté en ligue "Bois 2", mon bot ayant gagné presque toutes ses parties contre le boss (sauf une... de 1 point !).

Quelques modifications sur la machine à états et sur l'IA devraient me permettre de monter en ligue "Bois 1".

Bon, ça a été plus difficile que prévu, mais je suis parvenu à monter en ligue "Bois 1" en début d'après-midi.

Je vais maintenant devoir battre le terrible "Gorboss Ramsay" pour passer en ligue Bronze. 😏

Je suis monté en ligue Bronze tôt ce matin, après deux échecs en ligue Bois 1 (à la 13ème, puis à la 4ème place).

A présent, je vais implémenter les dernières règles.

Je suis parvenu à la 40ème place de la ligue Bronze, mais je manque de temps pour continuer.

Je reprendrai peut-être plus tard, si je trouve le temps.

Sign in to participate in the conversation
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!