Difference between revisions of "Princess Lemming"

From air
Jump to navigation Jump to search
Line 67: Line 67:
   
 
==Manuel Développeur==
 
==Manuel Développeur==
  +
'''INTRODUCTION'''
  +
  +
Ce manuel donne toutes les informations nécessaires à la compréhension du jeu Ricommings telles que les conventions de codage utilisées. Le jeu Ricommings reprend les mêmes principes que le jeu Lemmings mais avec des spécificités particulières.
  +
  +
L’utilisateur remplit des données dans un fichier Caml afin de définir tous les paramètres requis dans le jeu, notamment les comportements des Ricommings . L’évolution de ceux-ci se fera à partir d’algorithmes implémentés en Java. La partie pourra être visualisée par l’utilisateur via une interface graphique.
  +
  +
L’architecture globale de notre programme est décrite par le graphe suivant :
  +
  +
  +
'''PARTIE 1'''
  +
'''1- Structure du fichier Ocaml'''
  +
Le fichier Ocaml input.ml est destiné à être rempli par l’utilisateur qui doit respecter la grammaire de ce langage et les types tels qu’ils ont été définis. Ces types sont invariables. Le non-respect de ceux-ci entraîne une erreur d'exécution lors de la génération du fichier XML par le fichier parser.ml.
  +
  +
Voici la structure des types à respecter :
  +
  +
  +
  +
'''2- Ecriture du fichier XML'''
  +
Pour générer le fichier XML, un parser n’est pas nécessaire (pas de manipulation de flux), ni une redéfinition de type sous forme de token. Il suffit juste de faire un appel à la fonction ecriretout qui permet d’écrire dans le fichier XML toutes les informations qui ont été saisies par l’utilisateur dans les structures prédéfinies.
  +
  +
Il faut cependant veiller à ne pas oublier ces deux instructions :
  +
  +
1. open String;;
  +
Cette instruction permet de faire un appel au module String qui fournit des fonctions pour manipuler les chaînes de caractères dont la fonction 'length' qui permet de calculer la taille des chaînes données en entrée par l’utilisateur.
  +
  +
2. let canalsorti = open_out "Parser.xml";;
  +
Cette ligne indique le fichier XML à créer ou à écraser s'il existe déjà.
  +
  +
La fonction ecriretout comporte trois sous-fonctions majeures :
  +
  +
→ ecriretoutmode permet de dérouler la liste des modes contenant chacune d’elles la map correspondante ainsi que le nombre de lemmings et leurs caractéristiques
  +
  +
→ ecriretoutcomportement qui décrit la liste des comportements à qui sont associés chacun un et un seul automate
  +
  +
Ces fonctions utilisent elles-mêmes des fonctions intermédiaires qui sont adaptées à d’éventuelles modifications (par exemple ajout de nouveaux attributs).
  +
Lorsque les types ont été respectés par l’utilisateur, le fichier XML est généré sans problème comme cela est visible dans l’exemple suivant :
  +
  +
Dans le cas contraire, un message d’erreur est généré pour indiquer le bon type à utiliser.
   
 
==Liens & Ressources==
 
==Liens & Ressources==

Revision as of 23:23, 3 July 2013

Logo
  • Encadrants: Eric GASCARD
  • Elèves RICM3: Patrick PEREA (chef de projet)

Rama CODAZZI

EL Hadji Malick FALL

Tianmao LAN

Ombeline ROSSI

Ye XIA


Description (Contrat)

Map

Ricommings est un jeu vidéo de réflexion dans lequel l’utilisateur doit mener de petits pingouins appelés Ricommings, jusqu’à la sortie. Il dispose pour cela d’un panel d’actions à leur faire réaliser, afin qu’ils interagissent avec leur environnement. Celui-ci est truffé de situation à première vue inextricables. Dans le jeu de base, le niveau est réussi lorsqu’un certain pourcentage de Ricommings atteint la sortie. Cet objectif est inscrit en bas de l’écran. Un timer indique également le temps restant pour réussir le niveau. Dans le second mode, seul le dernier Ricomming, un pingouin femelle, doit atteindre la sortie. Ses prédécesseurs ne sont destinés qu'à lui ouvrir la voie.

Architecture

Manuel Utilisateur

I- Fonctionnalités et détails

1- Dans les deux modes

Les Ricommings, lors de leur arrivée dans le niveau, se déplacent systématiquement vers la droite. Face à un mur, ils opèrent un demi-tour. Lorsqu’ils rencontrent du vide, ils chutent ; et meurent en rencontrant le sol s’ils tombaient à une trop grande vitesse. Nous rappelons que la chute accélère au fur et à mesure que le temps s’écoule. Un timer indique dans quelle durée il faut réussir l’objectif défini. Si le temps imparti est écoulé, le jeu s’arrête. En plus des boutons d’action des Ricommings, l’utilisateur dispose de plusieurs autres fonctionnalités :

2- Dans le second mode

Les Ricommings doivent assurer ici la sécurité de la Ricomming, qui n’est pas capable d’interagir avec le niveau et ne fait que suivre ses congénères masculins. Ces derniers doivent tout faire pour qu’elle arrive saine et sauve à la porte.

II- Installation

Ricommings nécessite d’avoir OCaml et la Machine Virtuelle Java (JVM) en version 1.7. Ensuite, il faut extraire le fichier .zip. Vous obtiendrez alors un dossier nommé « Ricommings » contenant un script d'exécution qu’il suffira juste de lancer (init.bat sous Windows ou init.sh sous Linux). Ce dossier contient également le fichier de configuration input.ml qui respecte toute la syntaxe du langage d’entrée du jeu mais qui reste éditable sous certaines conditions formelles à respecter cependant : Vous ne devez en aucun cas définir une action différente de celles spécifiées ci-dessus : angel,bash,bashEnd,bridging,climb,climbing,die,digging,explose,fall,falling,float,floating,gone,leave,leave,list,miningfloat,floating,gone,leave,mining,turnback,turnBack_blocker,walk,walkAC, walking.

Il en est de même pour les conditions que sont : hole,out of map,wall,exit,ground,wall + could climb,wall + could bash,blocker,ground+fast,could float,emptiness,cannot climb,climb,angel,bomb,bridge,get to ground,get to top,ground + fast,end,no wall.

En ce qui concerne les id des états, ils doivent obligatoirement compris dans l’intervalle [0;11]. Les modes du jeu sont facile ou difficile et les natures des Lemmings bon ou princesse. Pour le reste des éléments, il vous convient de les définir comme bon vous le semble tant qu’ils restent cohérents.


III- Utiliser le jeu

Le menu présente plusieurs options :

● Charger une sauvegarde

● Choisir le mode de jeu

● Choisir un niveau correspondant à une map

Manuel Développeur

INTRODUCTION

Ce manuel donne toutes les informations nécessaires à la compréhension du jeu Ricommings telles que les conventions de codage utilisées. Le jeu Ricommings reprend les mêmes principes que le jeu Lemmings mais avec des spécificités particulières.

L’utilisateur remplit des données dans un fichier Caml afin de définir tous les paramètres requis dans le jeu, notamment les comportements des Ricommings . L’évolution de ceux-ci se fera à partir d’algorithmes implémentés en Java. La partie pourra être visualisée par l’utilisateur via une interface graphique.

L’architecture globale de notre programme est décrite par le graphe suivant :


PARTIE 1 1- Structure du fichier Ocaml Le fichier Ocaml input.ml est destiné à être rempli par l’utilisateur qui doit respecter la grammaire de ce langage et les types tels qu’ils ont été définis. Ces types sont invariables. Le non-respect de ceux-ci entraîne une erreur d'exécution lors de la génération du fichier XML par le fichier parser.ml.

Voici la structure des types à respecter :


2- Ecriture du fichier XML Pour générer le fichier XML, un parser n’est pas nécessaire (pas de manipulation de flux), ni une redéfinition de type sous forme de token. Il suffit juste de faire un appel à la fonction ecriretout qui permet d’écrire dans le fichier XML toutes les informations qui ont été saisies par l’utilisateur dans les structures prédéfinies.

Il faut cependant veiller à ne pas oublier ces deux instructions :

1. open String;; Cette instruction permet de faire un appel au module String qui fournit des fonctions pour manipuler les chaînes de caractères dont la fonction 'length' qui permet de calculer la taille des chaînes données en entrée par l’utilisateur.

2. let canalsorti = open_out "Parser.xml";; Cette ligne indique le fichier XML à créer ou à écraser s'il existe déjà.

La fonction ecriretout comporte trois sous-fonctions majeures :

→ ecriretoutmode permet de dérouler la liste des modes contenant chacune d’elles la map correspondante ainsi que le nombre de lemmings et leurs caractéristiques

→ ecriretoutcomportement qui décrit la liste des comportements à qui sont associés chacun un et un seul automate

Ces fonctions utilisent elles-mêmes des fonctions intermédiaires qui sont adaptées à d’éventuelles modifications (par exemple ajout de nouveaux attributs). Lorsque les types ont été respectés par l’utilisateur, le fichier XML est généré sans problème comme cela est visible dans l’exemple suivant :

Dans le cas contraire, un message d’erreur est généré pour indiquer le bon type à utiliser.

Liens & Ressources