aboutsummaryrefslogtreecommitdiffstats
path: root/doc/Proposition initiale.tex
diff options
context:
space:
mode:
authorpiernov <piernov@piernov.org>2016-04-21 20:14:12 +0200
committerpiernov <piernov@piernov.org>2016-04-21 20:14:12 +0200
commit8b3612fce76d3d331acc7384c04bbfc83fd26470 (patch)
tree7a904882f2f1c00e4719b801ac8e149706ca2953 /doc/Proposition initiale.tex
parentcb613739dcfb693df277137d8f06d7f800f50145 (diff)
downloadcandybox-8b3612fce76d3d331acc7384c04bbfc83fd26470.tar.gz
candybox-8b3612fce76d3d331acc7384c04bbfc83fd26470.tar.bz2
candybox-8b3612fce76d3d331acc7384c04bbfc83fd26470.tar.xz
candybox-8b3612fce76d3d331acc7384c04bbfc83fd26470.zip
Add Proposition initiale document
Diffstat (limited to 'doc/Proposition initiale.tex')
-rw-r--r--doc/Proposition initiale.tex112
1 files changed, 112 insertions, 0 deletions
diff --git a/doc/Proposition initiale.tex b/doc/Proposition initiale.tex
new file mode 100644
index 0000000..cc84261
--- /dev/null
+++ b/doc/Proposition initiale.tex
@@ -0,0 +1,112 @@
+\documentclass{article}
+\usepackage{luatextra}
+\usepackage{polyglossia}
+\usepackage{ulem}
+\usepackage{framed}
+\usepackage{color}
+\usepackage{listings}
+\usepackage{geometry}
+\usepackage{amsmath}
+\usepackage{unicode-math}
+\usepackage{hyperref}
+
+\usepackage{ifluatex}
+\ifluatex
+ \usepackage{pdftexcmds}
+ \makeatletter
+ \let\pdfstrcmp\pdf@strcmp
+ \let\pdffilemoddate\pdf@filemoddate
+ \makeatother
+\fi
+\usepackage{svg}
+
+\setmathfont{xits-math.otf}
+
+\setmainlanguage{french}
+\setmainfont{Latin Modern Roman}
+
+\definecolor{dkgreen}{rgb}{0,0.6,0}
+\definecolor{gray}{rgb}{0.5,0.5,0.5}
+\definecolor{mauve}{rgb}{0.58,0,0.82}
+
+\lstset{language=bash,
+ basicstyle={\small\ttfamily},
+ keywordstyle=\color{blue},
+ commentstyle=\color{dkgreen},
+ stringstyle=\color{mauve},
+ tabsize=4
+}
+
+
+\geometry{margin={1in,1in}}
+
+\newcommand\image[2]{
+\directlua{
+local image = img.scan({filename = "#1"})
+
+image.height = image.height * #2
+image.width = image.width * #2
+
+node.write(img.node(image))
+}
+}
+
+\title{Organisation}
+\author{Alexandre RENOUX - Pierre-Emmanuel NOVAC}
+
+\begin{document}
+
+\maketitle
+%%\tableofcontents
+
+\section{Fonctionalités}
+
+\subsection{Mine}
+La quantité d'or disponible dans la mine augmente périodiquement. Ce comportement est géré côté client en Javascript à l'aide d'une méthode programmée par \lstinline{window.setInterval}. On n'enverra pas une requête au serveur à chaque incrémentation pour limiter les problèmes de latence et ne pas avoir un flot de données transférées trop important. L'utilisateur pourra choisir à tout moment de transférer la quantité d'or disponible dans la mine vers son compte courant. Cette opération effectuera une requête vers le
+bouton envoi requête au serveur avec le montant de la mine pour l'ajouter à l'or de la session de l'utilisateur. Cette opération passera par une requête au serveur, qui mettra alors à jour le solde et qui l'enverra au client. Le client remettra la quantité d'or dans la mine à zéro.
+
+\subsection{Guilde de mineurs}
+La création d'une guilde de mineurs demandera une certainer quantité d'or. Puis le recrutement de mineurs requierera aussi une quantité d'or. Ces requêtes seront envoyées au serveur qui décidera d'honorer ou non la demande, renvoyant au client les nouvelles informations pour mise à jour de l'affichage. Un nouveau mineur sera automatiquement assigné à la mine, et dès lors il apportera un bonus sur la quantité d'or perçue.
+
+
+\subsection{Magasin}
+Le magasin lira la liste des objets disponibles à partir d'un fichier stocké sur le serveur (en XML par exemple). Lors du chargement de la page cette liste sera transmise au client.
+bouton → réclamation d'un certain objet au serveur parmi une liste prédéfinie
+ → renvoi l'objet au clietn pour affichage
+ Les objets incluence lde pouvoir d'attaque (pourcentage de chance de toucher)
+
+\subsection{Doinjon} → bouton → entre dans le donjon et lance le combat
+ - déroulement du combat côté client (perte de point de vie et victoire/défaite)
+ ensuite envoi du résultat du combat
+ côté serveur: tableau des différents monstres à combattre dans l'ordre
+ À l'issue du combat seulement le résultat est envoyé au serveur car on récupère le niveau du monstre et le nombre d'expéreince gagné associé dans le tableau
+ incrémentation et augmentation de niveau potentiele
+ "n" monstre par étage
+ Si le boss est vaincu, appelle fonction de fin du donjon
+
+\subsection{bouton enregistrement/chargement de partie}: normalement toutes les données intéressantes sont dans \$SESSION côté serveur on transforme le tableau en fichier XML
+ bouton load: opération inverse càd on remplkit \$SESSION avec les données du XML et on envoi tout au client
+
+\subsection{Interface utilisateur}
+
+\section{Technologie}
+
+XHTML: pour affichage de la page web principale
+CSS: Bootstrap style des boutons
+Javascript: affichage dynamique, interaction dynamique avec l'interface utilisateur
+Ajax: interaction dynamique client/serveur. Envoi des données au serveur
+PHP: Session, stockage des données, envoie des données au client pour affichage
+XML: pour sauvegarder et charger une partie
+JSON: structure syntaxique pour transfert serveur/client
+Git: gestion du code
+
+Hébergement sur piernov.org
+
+\section{Planification}
+
+1ère semaine: mine, guilde, magasin
+2e semaine: donjon + save/load(XML)
+3e semaine: interface utilisateur, bugs, rapport, préparation soutenance.
+
+
+\end{document}