\documentclass{beamer} % Metropolis + barre de progression + numéro de page \usetheme[progressbar=frametitle, numbering=fraction]{metropolis} \setbeamertemplate{frame footer}{\insertsection \hfill\hspace{-4em} \insertshorttitle} % texte footer \setbeamerfont{page number in head/foot}{size=\tiny} % taille police footer \setbeamercolor{footline}{fg=gray} % couleur footer \setbeamertemplate{section in toc}[sections numbered] % enumerate au lieu d'itemize \usepackage[T1]{fontenc} % encodage \usepackage[french]{babel} % langue \usepackage{etoolbox} % on inverse le titre court et le titre long dans le plan \makeatletter \patchcmd{\beamer@section}{{#2}{\the\c@page}}{{#1}{\the\c@page}}{}{} \patchcmd{\beamer@section}{{\the\c@section}{\secname}}{{\the\c@section}{#1}}{}{} \makeatother \usepackage{hyperref} % liens cliquable \usepackage{multicol} % liste sur plusieurs colonnes \usepackage[figurename=]{caption} % nom des images \usepackage{minted} % intégration code \usemintedstyle{emacs} \title[IA pour Othello]{\href{https://jj.up8.site/AA/ProjetsAA.pdf}{Projet} - IA pour le jeu d'Othello} \author{\href{mailto:anri.kennel@etud.univ-paris8.fr}{Anri Kennel} | L3-A} \institute{Algorithmique avancée $\cdot$ Université Paris 8} \date{Année universitaire 2022-2023} \begin{document} \maketitle \begin{frame}[t,plain]{Plan} \tableofcontents \end{frame} \section{Projet} \begin{frame}{Projet} \begin{columns}[onlytextwidth] \def\rcolumn{50mm} % taille colonne de droite \column{\linewidth-\rcolumn-1mm} % colonne de gauche Jeu d'Othello : \begin{itemize} \item Jeu de plateau 8x8 \item<2-> 2 joueurs \item<3-> Prendre en sandwich l'adversaire \end{itemize} \column{\rcolumn} % colonne de droite \only<1>{ \begin{figure} \includegraphics[width=\rcolumn]{../imgs/othello_othellier.png} \caption*{Othellier} \end{figure} } \only<2>{ \begin{figure} \includegraphics[width=\rcolumn]{../imgs/othello_init.png} \caption*{Début du jeu} \end{figure} } \only<3->{ \begin{figure} \includegraphics[width=\rcolumn]{../imgs/othello_premiercoup.png} \caption*{Premier coup} \end{figure} } \end{columns} \end{frame} \section{Implémentation} \subsection*{Othello} \begin{frame}{Jeu d'Othello} \only<1>{ \begin{figure} \includegraphics[width=0.9\textwidth]{../imgs/othello_impl_hh.png} \caption*{Jeu : \texttt{./othello humain humain}} \end{figure} } \only<2->{ \begin{figure} \includegraphics[width=0.9\textwidth]{../imgs/othello_impl_ma.png} \caption*{Jeu : \texttt{./othello minimax alphabeta}} \end{figure} } \end{frame} \begin{frame}[fragile]{Comment ?} \begin{columns}[onlytextwidth] \def\rcolumn{63mm} % taille colonne de droite \column{\linewidth-\rcolumn-1mm} % colonne de gauche \begin{itemize} \item Liste chaînée \item<3-> Coups \item<4-> Propriétés \end{itemize} \column{\rcolumn} % colonne de droite \begin{overprint} \onslide<1> \begin{figure} \vspace{25mm} \begin{minted}[autogobble,linenos,fontsize=\scriptsize,highlightlines={4}]{c} struct joueur { char *nom; int couleur; Liste *liste_jeton; int nb_jeton; }; \end{minted} \caption*{Liste des jetons des joueurs} \end{figure} \onslide<2> \begin{figure} \vspace{27mm} \begin{minted}[autogobble,linenos,fontsize=\scriptsize,highlightlines={2}]{c} struct coups { Liste *coups; int taille_liste; }; \end{minted} \caption*{Liste pour les coups possibles} \end{figure} \onslide<3> \begin{figure} \vspace{30mm} \begin{minted}[autogobble,linenos,fontsize=\scriptsize]{c} Coups *action_possible_joueur (Jeton *plateau[LONGEUR][LARGEUR], const int couleur); \end{minted} \caption*{Liste pour les coups possibles pour un joueur} \end{figure} \onslide<4> \begin{figure} \vspace{20mm} \begin{minted}[autogobble,linenos,fontsize=\scriptsize]{c} /* Une case est soit vide, * soit occupé par un des joueurs, * noir ou blanc */ enum CASE { VIDE = ' ', BLANC = 'B', NOIR = 'N' }; /* Propriété globale du jeu */ enum PLATEAU { LONGEUR = 8, LARGEUR = 8 }; /* Type de joueurs */ enum PLAYER_TYPE { HUMAIN, MINIMAX, ALPHABETA }; \end{minted} \caption*{Propriétés du jeu} \end{figure} \end{overprint} \end{columns} \onslide<3>{\hspace{3cm} Pour \textbf{tout} les joueurs} \end{frame} \subsection*{Minimax} \begin{frame}{Algorithme minimax} TODO! \end{frame} \subsection*{Alpha-bêta} \begin{frame}{Algorithme alpha-bêta} TODO! \end{frame} \section{Comparaison} \begin{frame}{Comparaison d'efficacité} TODO! \end{frame} \appendix \section{\hspace{3cm} Merci} \end{document}