\documentclass{beamer} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage[french]{babel} \usepackage{xcolor} \usepackage{trimclip} \usepackage{listings} % intégration code \usetheme{boxes} \addtobeamertemplate{footline}{ \marginbox{1pt 3pt 0pt 0pt}{ \color[RGB]{173, 173, 224}{ \insertframenumber/\inserttotalframenumber } } } % couleurs \definecolor{defaultPredicat}{RGB}{121, 94, 38} \definecolor{definitionChar}{RGB}{175, 0, 219} \definecolor{argsAndPredicat}{RGB}{0, 96, 181} \definecolor{string}{RGB}{163, 99, 21} \definecolor{comment}{RGB}{0, 128, 0} \lstset{ frame=single, % encadré breaklines=true, % lignes dans le cadre columns=fullflexible, % contenu bien présenté dans le cadre language=Prolog, % language tabsize=4, % nb d'espace par tabulation % chiffres numbers=left, numberstyle=\tiny, % affichage basicstyle=\ttfamily, keywordstyle=\color{defaultPredicat}, identifierstyle=\color{argsAndPredicat}, stringstyle=\color{string}, commentstyle=\color{comment}, literate= {:-}{{\textcolor{definitionChar}{:- }}}1 % utf-8 fix source: https://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings {á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1 {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1 {à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1 {À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1 {ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 {Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 {â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1 {Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1 {ã}{{\~a}}1 {ẽ}{{\~e}}1 {ĩ}{{\~i}}1 {õ}{{\~o}}1 {ũ}{{\~u}}1 {Ã}{{\~A}}1 {Ẽ}{{\~E}}1 {Ĩ}{{\~I}}1 {Õ}{{\~O}}1 {Ũ}{{\~U}}1 {œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1 {ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1 {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1 {€}{{\euro}}1 {£}{{\pounds}}1 {«}{{\guillemotleft}}1 {»}{{\guillemotright}}1 {ñ}{{\~n}}1 {Ñ}{{\~N}}1 {¿}{{?`}}1 {¡}{{!`}}1, % espaces normaux sans underscore showspaces=false, showstringspaces=false, showtabs=false } \title{Heyawake en Prolog} \subtitle{Projet de fin de semestre} \author{Kévin Martins Da Veiga et Anri Kennel} \institute{Paris 8 - Programmation Déclarative et Bases de Données} \date{} \begin{document} \begin{frame} \titlepage \end{frame} \begin{frame}{Présentation et règles} \begin{columns}[T] \begin{column}{.48\textwidth} \textbf{But du jeu} \\ L'Heyawake est un puzzle joué dans une grille rectangulaire séparée en plusieurs aires dont le but est de colorer des cases en noir et blanc. \\ \rule{15em}{0.15mm} \\ \textbf{Example de plateau} \\ \begin{figure}[ht] \centering \includegraphics[width=2cm, height=2cm]{../rendu/default} \end{figure} \end{column} \hfill \hspace{5pt}\vrule\hspace{5pt} \begin{column}{.48\textwidth} \textbf{Règles du jeu} \\ \begin{itemize} \item Les numéros dans les aires indiquent le nombre de cases noires \item Les cases blanches ne doivent pas être isolés \item Les cases noires ne doivent pas se toucher \item Les cases blanches ne peuvent s'aligner sur plus de 2 aires \end{itemize} \end{column} \end{columns} \end{frame} \begin{frame}[fragile]{Explication code} On lance le programme avec le prédicat \emph{\texttt{run}} qui, récursivement, parcoure la grille du tableau en appellant le prédicat \emph{\texttt{aire}} qui sert à trouver les solutions. \begin{exampleblock}{Prédicat \emph{\texttt{run}}} \begin{lstlisting} run([]) :- write('0: case blanc, 1: case noire'). run([[X1, Y1, X2, Y2, E] | Q]) :- T is X2 - X1, aire(X1, Y1, X2,Y2, E, T), run(Q). \end{lstlisting} \end{exampleblock} \end{frame} \begin{frame} \begin{center} Conclusion \end{center} \end{frame} \end{document}