SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Javascript Projet : Barbarian Quest
0. Objectif
Le principe 
Vous devez réaliser par équipe de 2 un jeu de type rogue-like. 
Ce projet sera réalisé en plusieurs étapes durant les cours de 
Javascript et servira d’évaluation de contrôle continue.
Rogue-like ? 
Dans un rogue-like, le joueur doit, tour par tour, explorer 
un ou plusieurs souterrains. Ce type de jeu est parfois 
désigné sous le terme PMT pour Porte, Monstre, Trésor. 
Graduellement, le personnage affronte des monstres plus 
puissants, gagne de l'expérience et des objets de plus 
grande valeur, à la manière de certains jeux de rôle. 
http://fr.wikipedia.org
Et visuellement ? 
Le jeux sera réalisé sous forme de 2d isométrique. Pour cela 
il sera mis à disposition un certain nombre d’assets (fichiers 
html/css, interface utilisateurs, tilesets & sprites) en licence 
Creative Commons.
1. Le donjon
Niveau 
Chaque étage du donjon correspond à un niveau. Pour 
terminer le niveau en cours le joueur doit arriver jusqu’à 
l’escalier conduisant à l’étage suivant. 
Chaque niveau est généré aléatoirement avec les éléments 
suivants : mures, obstacles, objets et ennemies. La taille du niveau 
augmente au fur et à mesure de la progression du joueur.
Typologie d’un niveau (1) 
Un niveau est une matrice composé de cases (tile). Les 
niveaux font toujours 16 tiles de large et entre 10 et 70 tiles 
de haut. 
Par convention nous considérerons la tile en haut à gauche 
comme étant la tile (0,0).
Typologie d’un niveau (2) 
Il existe 4 types de tile : 
- les murs 
- les obstacles 
- les escaliers d’entrée et sortie 
- les portails
Génération de niveau (1) 
Règles de génération aléatoire : 
- la hauteur du niveau est égale à 10 + (N° du niveau * [0-5]) 
avec un maximum de 70 
- Les deux premières lignes et la dernière ligne sont 
constituées de mur 
- La première et dernière tile de chaque ligne sont 
constituées de mur 
- L’escalier d’entrée est placé sur la case la plus en haut à 
gauche possible 
- L’escalier de sortie est placé sur la case la plus en bas à 
droite possible 
- Le joueur commence le jeux à droite de l’escalier d’entrée
Génération de niveau (2) 
Règles de génération aléatoire : 
- Sur les tiles vides, sont placées aléatoirement un nombre 
d’obstacles égale à : (hauteur/5) +/- [0-3] 
- Un obstacle ne peut pas être adjacent à un mur. 
- Un niveau à une chance sur dix de contenir un portail 
- Un portail doit être placé sur une case vide dans la moitié 
inferieur du niveau.
Exercice 1 
Créer un objet tile contenant les propriétés : 
- type (wall, start, end, portal, decorum et obstacle) 
- blocking (true, false) 
Créer un objet level contenant les propriétés : 
- width 
- height 
- style (cave, castle, catacomb ou mucus) 
- map (un tableau de tile)
Exercice 2 
Ajouter une méthode generateMap au prototype de level. 
Cette méthode doit permettre de générer un tableau à deux 
dimensions de tile selon les règles définies.
2. Design
Objectif
Structure HTML 
<div id="game"> 
<ul> 
<li class="wall" style="margin: 0px 0px 0px 0px;"> 
<div class="element"></div> 
</li> 
<li class="wall" style="margin: 0px 0px 0px 64px;"> 
<div class="element"></div> 
</li> 
<li class="wall" style="margin: 0px 0px 0px 128px;"> 
<div class="element"></div> 
</li> 
<!-- ... --> 
</ul> 
</div>
Css rules (1) 
- Chaque tile est représenté par un li 
- Tous les li représentant un tile de type ‘wall’ ont la class ‘wall’ 
- Tous les li de la dernière ligne ont la class ‘lastLine’ 
Tous les li sont positionnés en absolut et doivent donc avoir : 
- une marge left de : colonne * 64 les lignes impaires 
- une marge left de : (colonne * 64) + 32 les lignes paires 
- une marge top de : ligne * 16
Exercice 0 
Refactorer le code réalisé précédemment pour ajouter un 
objet Element à Tile. 
- L’objet tile contient une propriété ‘type’ pouvant être égale 
à ‘wall’ ou ‘floor’. 
- L’objet ‘element’ contient une propriété ‘type’ pouvant être 
égale à ‘start’, ‘end’ ou ‘portal’.
Exercice 1 
Télécharger les assets ici : https://www.dropbox.com/sh/ 
oq2yynb83me4qg8/AABNKYYPPHCVswfQIgvT9Lzma?dl=0 
Ajouter vos fichiers JS à game.html
Exercice 2 
Créer une méthode toHtml() pour les objets level, tile et 
element. Cette méthode doit permettre de transformer 
l’objet en code html pour être affiché dans la page du jeux.
3. Interactions
Exercice 0 
Mettre à jour les assets ici : https://www.dropbox.com/sh/ 
u9wsq7mbsw9plus/AAB9Kc5TqYR8xWKb4m1VJVa5a?dl=0
Exercice 1 
Refactorer la méthode toHtml() de tile pour ajouter trois div 
avec les class ‘action’, ’actionMarker’ et ‘character’. 
Afficher le joueur sur le jeux en ajoutant la class ‘player’ au 
div contenant la class ‘character’ de la bonne tile.
Exercice 2 
Créer un événement permettant d’afficher au survol un carré 
dépendant de l’action possible de l’utilisateur. Il suffit 
d’ajouter pour cela une class ‘hoverMove’, ‘hoverAction’ ou 
‘hoverNone’ sur le div avec la class ‘actionMarker’.
Exercice 3 
Créer un événement permettant de déplacer le joueur d’une 
case au click de la sourie.
Exercice 4 
Permettre à l’utilisateur de pouvoir descendre ou monter 
d’un niveau. A chaque changement de niveau le compteur ce 
met à jour.
Merci pour votre attention.
Crédits 
64x64 isometric roguelike tiles- Denzi, Alex Korol, Edger, Wan-ichi, So-Miya, Haruko Numata, Tatsuya, AllegroHack tiles, Dainokata, Zmy 
http://opengameart.org/content/64x64-isometric-roguelike-tiles 
environment - kirill777 
http://opengameart.org/content/environment 
Concept art of a necromancer. - kirill777 
http://opengameart.org/content/necromancer

Weitere ähnliche Inhalte

Andere mochten auch

PHP #4 : sessions & cookies
PHP #4 : sessions & cookiesPHP #4 : sessions & cookies
PHP #4 : sessions & cookiesJean Michel
 
Wordpress #3 : content strategie
Wordpress #3 : content strategieWordpress #3 : content strategie
Wordpress #3 : content strategieJean Michel
 
Architecture logicielle #5 : hipsto framework
Architecture logicielle #5 : hipsto frameworkArchitecture logicielle #5 : hipsto framework
Architecture logicielle #5 : hipsto frameworkJean Michel
 
Javascript #2.2 : jQuery
Javascript #2.2 : jQueryJavascript #2.2 : jQuery
Javascript #2.2 : jQueryJean Michel
 
Javascript #11: Space invader
Javascript #11: Space invaderJavascript #11: Space invader
Javascript #11: Space invaderJean Michel
 
WebApp #4 : Consuming REST APIs
WebApp #4 : Consuming REST APIs WebApp #4 : Consuming REST APIs
WebApp #4 : Consuming REST APIs Jean Michel
 
Html & Css #5 : positionement
Html & Css #5 : positionementHtml & Css #5 : positionement
Html & Css #5 : positionementJean Michel
 
Les modèles économiques du web
Les modèles économiques du webLes modèles économiques du web
Les modèles économiques du webJean Michel
 
Architecture logicielle #4 : mvc
Architecture logicielle #4 : mvcArchitecture logicielle #4 : mvc
Architecture logicielle #4 : mvcJean Michel
 
Javascript #7 : manipuler le dom
Javascript #7 : manipuler le domJavascript #7 : manipuler le dom
Javascript #7 : manipuler le domJean Michel
 
PHP #3 : tableaux & formulaires
PHP #3 : tableaux & formulairesPHP #3 : tableaux & formulaires
PHP #3 : tableaux & formulairesJean Michel
 
Wordpress #1 : introduction
Wordpress #1 : introductionWordpress #1 : introduction
Wordpress #1 : introductionJean Michel
 
Dev Web 101 #2 : development for dummies
Dev Web 101 #2 : development for dummiesDev Web 101 #2 : development for dummies
Dev Web 101 #2 : development for dummiesJean Michel
 
Architecture logicielle #3 : object oriented design
Architecture logicielle #3 : object oriented designArchitecture logicielle #3 : object oriented design
Architecture logicielle #3 : object oriented designJean Michel
 
Javascript #4.2 : fonctions for pgm
Javascript #4.2 : fonctions for pgmJavascript #4.2 : fonctions for pgm
Javascript #4.2 : fonctions for pgmJean Michel
 
Javascript #2 : valeurs, types & opérateurs
Javascript #2 : valeurs, types & opérateursJavascript #2 : valeurs, types & opérateurs
Javascript #2 : valeurs, types & opérateursJean Michel
 
PHP #7 : guess who?
PHP #7 : guess who?PHP #7 : guess who?
PHP #7 : guess who?Jean Michel
 

Andere mochten auch (20)

PHP #4 : sessions & cookies
PHP #4 : sessions & cookiesPHP #4 : sessions & cookies
PHP #4 : sessions & cookies
 
Wordpress #3 : content strategie
Wordpress #3 : content strategieWordpress #3 : content strategie
Wordpress #3 : content strategie
 
Architecture logicielle #5 : hipsto framework
Architecture logicielle #5 : hipsto frameworkArchitecture logicielle #5 : hipsto framework
Architecture logicielle #5 : hipsto framework
 
Javascript #2.2 : jQuery
Javascript #2.2 : jQueryJavascript #2.2 : jQuery
Javascript #2.2 : jQuery
 
Javascript #11: Space invader
Javascript #11: Space invaderJavascript #11: Space invader
Javascript #11: Space invader
 
WebApp #4 : Consuming REST APIs
WebApp #4 : Consuming REST APIs WebApp #4 : Consuming REST APIs
WebApp #4 : Consuming REST APIs
 
Html & Css #5 : positionement
Html & Css #5 : positionementHtml & Css #5 : positionement
Html & Css #5 : positionement
 
Les modèles économiques du web
Les modèles économiques du webLes modèles économiques du web
Les modèles économiques du web
 
Architecture logicielle #4 : mvc
Architecture logicielle #4 : mvcArchitecture logicielle #4 : mvc
Architecture logicielle #4 : mvc
 
Javascript #7 : manipuler le dom
Javascript #7 : manipuler le domJavascript #7 : manipuler le dom
Javascript #7 : manipuler le dom
 
PHP #3 : tableaux & formulaires
PHP #3 : tableaux & formulairesPHP #3 : tableaux & formulaires
PHP #3 : tableaux & formulaires
 
Wordpress #1 : introduction
Wordpress #1 : introductionWordpress #1 : introduction
Wordpress #1 : introduction
 
PHP #6 : mysql
PHP #6 : mysqlPHP #6 : mysql
PHP #6 : mysql
 
Dev Web 101 #2 : development for dummies
Dev Web 101 #2 : development for dummiesDev Web 101 #2 : development for dummies
Dev Web 101 #2 : development for dummies
 
Architecture logicielle #3 : object oriented design
Architecture logicielle #3 : object oriented designArchitecture logicielle #3 : object oriented design
Architecture logicielle #3 : object oriented design
 
Javascript #4.2 : fonctions for pgm
Javascript #4.2 : fonctions for pgmJavascript #4.2 : fonctions for pgm
Javascript #4.2 : fonctions for pgm
 
#4 css 101
#4 css 101#4 css 101
#4 css 101
 
Javascript #2 : valeurs, types & opérateurs
Javascript #2 : valeurs, types & opérateursJavascript #2 : valeurs, types & opérateurs
Javascript #2 : valeurs, types & opérateurs
 
Projet timezone
Projet timezoneProjet timezone
Projet timezone
 
PHP #7 : guess who?
PHP #7 : guess who?PHP #7 : guess who?
PHP #7 : guess who?
 

Ähnlich wie Javascript #9 : barbarian quest

Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5SmartnSkilled
 
Création d'une application html5 utilisant canvas, svg et les animations css3
Création d'une application html5 utilisant canvas, svg et les animations css3Création d'une application html5 utilisant canvas, svg et les animations css3
Création d'une application html5 utilisant canvas, svg et les animations css3davrous
 
W3 cafe ie10etwindows8
W3 cafe ie10etwindows8W3 cafe ie10etwindows8
W3 cafe ie10etwindows8davrous
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascriptcodedarmor
 
[Paris Unity3D meetup] - Système d’instancing dans endless legend reskin
[Paris Unity3D meetup] - Système d’instancing dans endless legend reskin[Paris Unity3D meetup] - Système d’instancing dans endless legend reskin
[Paris Unity3D meetup] - Système d’instancing dans endless legend reskinBeMyApp
 
Javascript : que fait ce code?
Javascript : que fait ce code?Javascript : que fait ce code?
Javascript : que fait ce code?Ruau Mickael
 

Ähnlich wie Javascript #9 : barbarian quest (10)

Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5
 
Création d'une application html5 utilisant canvas, svg et les animations css3
Création d'une application html5 utilisant canvas, svg et les animations css3Création d'une application html5 utilisant canvas, svg et les animations css3
Création d'une application html5 utilisant canvas, svg et les animations css3
 
W3 cafe ie10etwindows8
W3 cafe ie10etwindows8W3 cafe ie10etwindows8
W3 cafe ie10etwindows8
 
Introduction a jQuery
Introduction a jQueryIntroduction a jQuery
Introduction a jQuery
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
 
L'animation newschool en html5
L'animation newschool en html5L'animation newschool en html5
L'animation newschool en html5
 
Apprenez le jQuery
Apprenez le jQueryApprenez le jQuery
Apprenez le jQuery
 
[Paris Unity3D meetup] - Système d’instancing dans endless legend reskin
[Paris Unity3D meetup] - Système d’instancing dans endless legend reskin[Paris Unity3D meetup] - Système d’instancing dans endless legend reskin
[Paris Unity3D meetup] - Système d’instancing dans endless legend reskin
 
Javascript : que fait ce code?
Javascript : que fait ce code?Javascript : que fait ce code?
Javascript : que fait ce code?
 
Introduction au Jquery
Introduction au JqueryIntroduction au Jquery
Introduction au Jquery
 

Mehr von Jean Michel

Startup #7 : how to get customers
Startup #7 : how to get customersStartup #7 : how to get customers
Startup #7 : how to get customersJean Michel
 
HTML & CSS #10 : Bootstrap
HTML & CSS #10 : BootstrapHTML & CSS #10 : Bootstrap
HTML & CSS #10 : BootstrapJean Michel
 
Javascript #10 : canvas
Javascript #10 : canvasJavascript #10 : canvas
Javascript #10 : canvasJean Michel
 
Architecture logicielle #2 : TP timezone
Architecture logicielle #2 : TP timezoneArchitecture logicielle #2 : TP timezone
Architecture logicielle #2 : TP timezoneJean Michel
 
Architecture logicielle #1 : introduction
Architecture logicielle #1 : introductionArchitecture logicielle #1 : introduction
Architecture logicielle #1 : introductionJean Michel
 
Wordpress #2 : customisation
Wordpress #2 : customisationWordpress #2 : customisation
Wordpress #2 : customisationJean Michel
 
PHP & MYSQL #5 : fonctions
PHP & MYSQL #5 :  fonctionsPHP & MYSQL #5 :  fonctions
PHP & MYSQL #5 : fonctionsJean Michel
 
PHP #2 : variables, conditions & boucles
PHP #2 : variables, conditions & boucles PHP #2 : variables, conditions & boucles
PHP #2 : variables, conditions & boucles Jean Michel
 
PHP #1 : introduction
PHP #1 : introductionPHP #1 : introduction
PHP #1 : introductionJean Michel
 
Startup #5 : pitch
Startup #5 : pitchStartup #5 : pitch
Startup #5 : pitchJean Michel
 
Javascript #8 : événements
Javascript #8 : événementsJavascript #8 : événements
Javascript #8 : événementsJean Michel
 
WebApp #2 : responsive design
WebApp #2 : responsive designWebApp #2 : responsive design
WebApp #2 : responsive designJean Michel
 
Gestion de projet #4 : spécification
Gestion de projet #4 : spécificationGestion de projet #4 : spécification
Gestion de projet #4 : spécificationJean Michel
 
WebApp #1 : introduction
WebApp #1 : introductionWebApp #1 : introduction
WebApp #1 : introductionJean Michel
 

Mehr von Jean Michel (16)

Startup #7 : how to get customers
Startup #7 : how to get customersStartup #7 : how to get customers
Startup #7 : how to get customers
 
HTML & CSS #10 : Bootstrap
HTML & CSS #10 : BootstrapHTML & CSS #10 : Bootstrap
HTML & CSS #10 : Bootstrap
 
Javascript #10 : canvas
Javascript #10 : canvasJavascript #10 : canvas
Javascript #10 : canvas
 
Architecture logicielle #2 : TP timezone
Architecture logicielle #2 : TP timezoneArchitecture logicielle #2 : TP timezone
Architecture logicielle #2 : TP timezone
 
Architecture logicielle #1 : introduction
Architecture logicielle #1 : introductionArchitecture logicielle #1 : introduction
Architecture logicielle #1 : introduction
 
Wordpress #2 : customisation
Wordpress #2 : customisationWordpress #2 : customisation
Wordpress #2 : customisation
 
PHP & MYSQL #5 : fonctions
PHP & MYSQL #5 :  fonctionsPHP & MYSQL #5 :  fonctions
PHP & MYSQL #5 : fonctions
 
PHP #2 : variables, conditions & boucles
PHP #2 : variables, conditions & boucles PHP #2 : variables, conditions & boucles
PHP #2 : variables, conditions & boucles
 
PHP #1 : introduction
PHP #1 : introductionPHP #1 : introduction
PHP #1 : introduction
 
Startup #5 : pitch
Startup #5 : pitchStartup #5 : pitch
Startup #5 : pitch
 
Javascript #8 : événements
Javascript #8 : événementsJavascript #8 : événements
Javascript #8 : événements
 
Projet timezone
Projet timezoneProjet timezone
Projet timezone
 
WebApp #3 : API
WebApp #3 : APIWebApp #3 : API
WebApp #3 : API
 
WebApp #2 : responsive design
WebApp #2 : responsive designWebApp #2 : responsive design
WebApp #2 : responsive design
 
Gestion de projet #4 : spécification
Gestion de projet #4 : spécificationGestion de projet #4 : spécification
Gestion de projet #4 : spécification
 
WebApp #1 : introduction
WebApp #1 : introductionWebApp #1 : introduction
WebApp #1 : introduction
 

Javascript #9 : barbarian quest

  • 1. Javascript Projet : Barbarian Quest
  • 3. Le principe Vous devez réaliser par équipe de 2 un jeu de type rogue-like. Ce projet sera réalisé en plusieurs étapes durant les cours de Javascript et servira d’évaluation de contrôle continue.
  • 4. Rogue-like ? Dans un rogue-like, le joueur doit, tour par tour, explorer un ou plusieurs souterrains. Ce type de jeu est parfois désigné sous le terme PMT pour Porte, Monstre, Trésor. Graduellement, le personnage affronte des monstres plus puissants, gagne de l'expérience et des objets de plus grande valeur, à la manière de certains jeux de rôle. http://fr.wikipedia.org
  • 5. Et visuellement ? Le jeux sera réalisé sous forme de 2d isométrique. Pour cela il sera mis à disposition un certain nombre d’assets (fichiers html/css, interface utilisateurs, tilesets & sprites) en licence Creative Commons.
  • 7. Niveau Chaque étage du donjon correspond à un niveau. Pour terminer le niveau en cours le joueur doit arriver jusqu’à l’escalier conduisant à l’étage suivant. Chaque niveau est généré aléatoirement avec les éléments suivants : mures, obstacles, objets et ennemies. La taille du niveau augmente au fur et à mesure de la progression du joueur.
  • 8. Typologie d’un niveau (1) Un niveau est une matrice composé de cases (tile). Les niveaux font toujours 16 tiles de large et entre 10 et 70 tiles de haut. Par convention nous considérerons la tile en haut à gauche comme étant la tile (0,0).
  • 9. Typologie d’un niveau (2) Il existe 4 types de tile : - les murs - les obstacles - les escaliers d’entrée et sortie - les portails
  • 10. Génération de niveau (1) Règles de génération aléatoire : - la hauteur du niveau est égale à 10 + (N° du niveau * [0-5]) avec un maximum de 70 - Les deux premières lignes et la dernière ligne sont constituées de mur - La première et dernière tile de chaque ligne sont constituées de mur - L’escalier d’entrée est placé sur la case la plus en haut à gauche possible - L’escalier de sortie est placé sur la case la plus en bas à droite possible - Le joueur commence le jeux à droite de l’escalier d’entrée
  • 11. Génération de niveau (2) Règles de génération aléatoire : - Sur les tiles vides, sont placées aléatoirement un nombre d’obstacles égale à : (hauteur/5) +/- [0-3] - Un obstacle ne peut pas être adjacent à un mur. - Un niveau à une chance sur dix de contenir un portail - Un portail doit être placé sur une case vide dans la moitié inferieur du niveau.
  • 12. Exercice 1 Créer un objet tile contenant les propriétés : - type (wall, start, end, portal, decorum et obstacle) - blocking (true, false) Créer un objet level contenant les propriétés : - width - height - style (cave, castle, catacomb ou mucus) - map (un tableau de tile)
  • 13. Exercice 2 Ajouter une méthode generateMap au prototype de level. Cette méthode doit permettre de générer un tableau à deux dimensions de tile selon les règles définies.
  • 16. Structure HTML <div id="game"> <ul> <li class="wall" style="margin: 0px 0px 0px 0px;"> <div class="element"></div> </li> <li class="wall" style="margin: 0px 0px 0px 64px;"> <div class="element"></div> </li> <li class="wall" style="margin: 0px 0px 0px 128px;"> <div class="element"></div> </li> <!-- ... --> </ul> </div>
  • 17. Css rules (1) - Chaque tile est représenté par un li - Tous les li représentant un tile de type ‘wall’ ont la class ‘wall’ - Tous les li de la dernière ligne ont la class ‘lastLine’ Tous les li sont positionnés en absolut et doivent donc avoir : - une marge left de : colonne * 64 les lignes impaires - une marge left de : (colonne * 64) + 32 les lignes paires - une marge top de : ligne * 16
  • 18. Exercice 0 Refactorer le code réalisé précédemment pour ajouter un objet Element à Tile. - L’objet tile contient une propriété ‘type’ pouvant être égale à ‘wall’ ou ‘floor’. - L’objet ‘element’ contient une propriété ‘type’ pouvant être égale à ‘start’, ‘end’ ou ‘portal’.
  • 19. Exercice 1 Télécharger les assets ici : https://www.dropbox.com/sh/ oq2yynb83me4qg8/AABNKYYPPHCVswfQIgvT9Lzma?dl=0 Ajouter vos fichiers JS à game.html
  • 20. Exercice 2 Créer une méthode toHtml() pour les objets level, tile et element. Cette méthode doit permettre de transformer l’objet en code html pour être affiché dans la page du jeux.
  • 22. Exercice 0 Mettre à jour les assets ici : https://www.dropbox.com/sh/ u9wsq7mbsw9plus/AAB9Kc5TqYR8xWKb4m1VJVa5a?dl=0
  • 23. Exercice 1 Refactorer la méthode toHtml() de tile pour ajouter trois div avec les class ‘action’, ’actionMarker’ et ‘character’. Afficher le joueur sur le jeux en ajoutant la class ‘player’ au div contenant la class ‘character’ de la bonne tile.
  • 24. Exercice 2 Créer un événement permettant d’afficher au survol un carré dépendant de l’action possible de l’utilisateur. Il suffit d’ajouter pour cela une class ‘hoverMove’, ‘hoverAction’ ou ‘hoverNone’ sur le div avec la class ‘actionMarker’.
  • 25. Exercice 3 Créer un événement permettant de déplacer le joueur d’une case au click de la sourie.
  • 26. Exercice 4 Permettre à l’utilisateur de pouvoir descendre ou monter d’un niveau. A chaque changement de niveau le compteur ce met à jour.
  • 27. Merci pour votre attention.
  • 28. Crédits 64x64 isometric roguelike tiles- Denzi, Alex Korol, Edger, Wan-ichi, So-Miya, Haruko Numata, Tatsuya, AllegroHack tiles, Dainokata, Zmy http://opengameart.org/content/64x64-isometric-roguelike-tiles environment - kirill777 http://opengameart.org/content/environment Concept art of a necromancer. - kirill777 http://opengameart.org/content/necromancer