diff --git a/README.md b/README.md index c73e6b0..f7c3714 100644 --- a/README.md +++ b/README.md @@ -247,3 +247,65 @@ Les trois groupes sont les suivants * Un main qui va instancier ces deux classes et jouer quelques coups du jeu de Nim à 5 allumettes Joueur 1 enlève 2 allumettes, Joueur 2 enlève 1 allumette, Joueur 1 enlève 1 allumette, Joueur 2 enlève 1 allumette et gagne. +## Sixième cours (en CM puis en salle TP, le 15/10/2024) + +* discussion au tableau d'évolutions mineures de l'API : Plateau devient une extension de l'interface Situation (cette dernière ne permet pas de faire de doPly undoPly). +* discussion de la nécessité de pouvoir obtenir une information concrète du jeu (un String décrivant le jeu implanté et ces paramètres). + Autrement dit : comment faire des choses concrète à travers une couche d'abstraction. +* discussion architecture générale d'un bot : table d'ouverture en début de partie, puis minimax en milieu de partie. +* discussion comment faire en milieu de partie si arbre de jeu trop profond? + il faut couper la recherche et utiliser un évaluateur de position +* discussion modélisation évaluateur dans l'API +* proposition de plusieurs évaluateurs abstrraits pour n'importe quel jeux : évaluateur zero, évaluateur Monte Carlo. +* proposition d'évaluateurs concrets pour les jeux à coder. + +Suite de la séance en salle TP pour poursuivre le travail. + +## Septième cours (en CM puis en salle TP, le 21/10/2024) + +* préparez des questions sur minimax et alphabeta qui est au programme de l'examen du mardi 22/10/ + +Programme du cours : discussion jeu multijoueurs et jeux à deux joueurs avec du hasard. + +## Examen (le 22/10/2024) + +Sur papier. +Autorisé. une feuille A4 personnelle par étudiant. + +Au programme : les jeux, minimax, alphabeta. +Aspect multijoueur, jeux avec du hasard. + +## Fin du projet BUT3Jeu + +Malheureusement le planning de l'alternance, mes disponibilités et vos cours à Sénart ne me permettent pas de planifier d'autres cours sur la partie DEV. +Il me semble que vous êtes suffisamment bien lancés pour terminer le projet en autonomie. + +J'ai placé 3 créneaux en autonomie à l'edt. +L'appel ne sera pas fait sur ces créneaux. + +### Attendus pour le projet. +Dans un git dont il faudra m'envoyer le nom par mail. + +Il me faudra un livrable documenté et déployable avec les fonctionnalités suivantes. + +* (Must) implantation du jeu selon la dernière version de l'API +* (Must) implantation d'un bot abstrait qui joue aléatoirement à n'importe quel jeu +* (Must) implantation d'un bot abstrait qui joue à n'importe quel jeu avec Minimax en jouant jusqu'au bout (éternellement si nécessaire). +* (Must) implantation d'un bot abstrait qui joue à n'importe quel jeu avec Minimax ou aléatoirement si plus long qu'un timer fixe paramétrable. +* (Should) implantation d'un bot abstrait qui joue à n'importe quel jeu avec Alpha Beta ou aléatoirement si plus long qu'un timer fixe paramétrable. +* (Should) implantation d'un bot abstrait qui joue à n'importe quel jeu avec Alpha Beta en coupant l'arbre de jeu à profondeur fixe et en évaluant une situation non terminée. +* (Must) implantation d'un évaluateur de position abstrait de n'importe quel jeu qui retourne 0 si la partie n'est pas finie. +* (Should) implantation d'un évaluateur de position abstrait de n'importe quel jeu qui utilise Monte Carlo pour évaluer la position. +* (Could) implantation d'un évaluateur de position concret pour au moins le jeu que vous implantez dans votre groupe. +* (Would) implantation d'un tableau d'ouverture pour jouer des bons coups pendant les 3 premiers coups, mélangeant intelligence humaine et résultat de vos expérimentation avec dse bots. +* (Would) implantation d'un bot qui utilise une tablea d'ouverture en début de partie, puis une stratégie avancée en milieu de partie. + +Il me faudra également un rapport de 5 à 10 pages qui indique : +* les membres du groupe sur la première page +* une présentation d'une demie page du sujet +* un synopsis rapide de déploiement permettant de jouer contre votre meilleur bot comme joueur 1 +* un synopsis rapide de déploiement permettant de jouer contre votre meilleur bot comme joueur 2 +* une présentatio de 2 pages sur l'organisation de travail en groupe +* une présentation de 2 pages de ce qui a été fait / pas fait +* un compte rendu d'expérience sur vos bots avec idéalement des explications sur les choix faits en terme de paramétrage, par exemple en faisant affronter différentes variantes de bots et ou en faisant du profiling de votre code. +* une conclusion individuelle de quelques lignes.