2021-03-15 21:18:23 +01:00
|
|
|
\documentclass{article}
|
|
|
|
|
|
|
|
\usepackage[utf8x]{inputenc} % encodage utf-8
|
|
|
|
\usepackage[french]{babel} % en français
|
|
|
|
\usepackage[T1]{fontenc} % encodage T1 police
|
|
|
|
\usepackage[hidelinks]{hyperref} % lien dans table des matières
|
|
|
|
\usepackage{listings} % intégration code
|
2021-03-16 01:27:08 +01:00
|
|
|
\usepackage[dvipsnames]{xcolor} % couleur
|
2021-03-15 21:18:23 +01:00
|
|
|
|
2021-03-16 01:27:08 +01:00
|
|
|
\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}
|
2021-03-15 21:18:23 +01:00
|
|
|
\lstset{
|
|
|
|
frame=single, % encadré
|
2021-03-16 01:27:08 +01:00
|
|
|
breaklines=true, % lignes dans le cadre
|
|
|
|
columns=fullflexible, % contenu bien présenté dans le cadre
|
|
|
|
% 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,
|
2021-03-15 21:18:23 +01:00
|
|
|
showstringspaces=false, % espaces normaux
|
2021-03-16 01:27:08 +01:00
|
|
|
language=Prolog % language
|
2021-03-15 21:18:23 +01:00
|
|
|
}
|
|
|
|
\author{Kévin Martins Da Veiga [20009472] et Anri Kennel [20010664]}
|
|
|
|
\title{Projet Heyawake en Prolog}
|
|
|
|
\date{}
|
|
|
|
|
|
|
|
\begin{document}
|
|
|
|
|
|
|
|
\maketitle
|
|
|
|
\tableofcontents
|
|
|
|
\newpage
|
|
|
|
|
|
|
|
\section{Présentation du Projet}
|
|
|
|
\subsection{Introduction et règles du jeu}
|
|
|
|
\noindent L'Heyawake est un puzzle joué dans une grille rectangulaire séparés en plusieurs aires dont le but
|
|
|
|
est de colorés des cellules en noir et blanc en accord avec les règles :
|
|
|
|
\\\indent -> Certaines aires contiennent un chiffre qui montre combien il y a de cellules noires dans l'aire
|
|
|
|
\\\indent\indent -> Région avec un 0 ne doivent pas avoir de cellules noires
|
|
|
|
\\\indent\indent -> Région avec un 1 contient une cellule noire
|
|
|
|
\\\indent -> Toutes les cellules blanches doivent être connectés en un seul groupe, pas de groupe isolés, elles doivent toutes être reliés
|
|
|
|
\\\indent -> Deux cellules noires de peuvent être l'un à côté de l'autre horizontalement et verticalement (en diagonale, c'est possible)
|
|
|
|
\\\indent\indent -> Ca veut dire que les cellules noires doivent être que entourés de cellules blanches
|
|
|
|
\\\indent -> Une rangée de cellule blanche ne peuvent pas être alignée au-delà de 2 aires
|
|
|
|
\subsection{Réalisation}
|
|
|
|
|
|
|
|
\section{Résolution d'une grille avec des aires}
|
|
|
|
\subsection{On a essayé\dots}
|
|
|
|
|
|
|
|
\section{Le programme}
|
|
|
|
\subsection{La fonction principal en détail}
|
|
|
|
\subsection{Listing des prédicats utilisés}
|
|
|
|
\subsection{On a pas réussi\dots}
|
|
|
|
|
|
|
|
\newpage
|
|
|
|
\section{Annexe : les codes}
|
|
|
|
\subsection{Programme qui ne fonctionne pas}
|
|
|
|
\lstinputlisting{../resolveur.pl}
|
|
|
|
|
|
|
|
\end{document}
|