Projets Personnels
Sur cette page, je vais mettre mes projets personnels, c'est-à-dire des projets de plusieurs dizaines d'heures que personne ne m'a ordonné de faire.
Création d'un Programme d'Évolution
Il s'agit probablement de mon plus gros projet à ce jour avec presque 10,000 instructions actuellement. Le projet se trouve sur GitHub (opens in a new tab), vous pouvez aller le consulter et lire le README pour plus de détails.
Construction d'un AT-TE Télécommandé avec Direction
Pour ceux qui ne le savent pas, un AT-TE est un véhicule militaire dans Star Wars qui se déplace sur ses six pieds. Il apparaît pour la première fois dans l'attaque des clones. Par le passé, j'avais déjà fait des versions télécommandées de ce véhicule, mais ces versions n'avaient aucun système de direction.
Début septembre, je me suis mis en tête de refaire un tel véhicule avec un système de direction. Pour cela, j'ai décidé de le découper en trois segments, un par paire de pieds. Une articulation se trouve entre ces segments, ce qui leur permet de pivoter. Après beaucoup de galères, j'ai obtenu un véhicule capable d'avancer, reculer et dévier sa propre trajectoire. Le mécanisme est complet et parfaitement fonctionnel, mais je n'ai pas fini de faire la "carapace" par manque d'inspiration et l'appel du projet suivant.
Création d'une IA Jouant au Puissance 4
À la fin du second semestre de BUT, l'un des profs nous a donné un travail supplémentaire non obligatoire après qu'on ait fini le dernier TP Java, où il s'agissait de créer un jeu de puissance 4. Il nous a proposé de faire un programme jouant à puissance 4 gagnant le plus de parties possible.
Je me suis mis en tête de continuer à améliorer mon programme pendant les vacances, ce que j'ai un peu fait. Malheureusement, je n'ai pas réussi à maîtriser correctement la récursivité. Mon meilleur résultat est un programme qui regarde s'il peut gagner, dans ce cas il agit en conséquence, puis pour chaque cas, on regarde si notre action permet à l'autre joueur de gagner. Si c'est le cas, on s'interdit ce choix. On regarde ensuite si nos actions puis celles de l'adversaire ouvrent la possibilité de la victoire à l'adversaire et dans quels cas on déconseille l'action : on ne l'effectuera pas sauf si on n'a pas d'autres choix.