SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Javascript TP1 : Kill them all!
1. Objectif
Fonctionnement global 
Vous devez réaliser mini RPG simulant l’entrainement et les 
combats d’un gladiateur. 
Le jeux est rythmé en tours de jeux. Chaque tour le gladiateur 
s’entraine et améliore ses compétences puis combat dans 
l’arène. 
Le but du jeux est de remporter le maximum de combats avant 
de mourir dans l’arène.
Caractéristiques d’un gladiateur 
Un gladiateur est définie par : 
- un score de Force (en nombre de d6) 
- un score d’Agilité (en nombre de d6) 
- un score d’Endurance (en nombre de d6) 
- un nombre de points de vie 
Au début du jeux le survivant possède 1d6 en Force, Agilité et 
Endurance. De plus son nombre de points de vie est de 10.
L’entraînement 
Durant la phase d’entraînement, le joueur peut choisir une 
caractéristique (Force, Agilité ou Endurance) de son 
gladiateur à améliorer. Celle-ci augmente d’1d6. 
Le choix de la caractéristique à améliorer se fait sous la 
forme d’un « prompt ». Tant que le choix entré n’est pas 
valide, le jeux demande à l’utilisateur d’entrer un choix.
Les adversaires 
Pour chaque combat le jeux génère un adversaire semi 
aléatoire. Les caractéristiques de l’adversaire sont 
déterminées de la manière suivante : 
- L’adversaire dispose d’un nombre de points de 
caractéristiques égal à : 3 + Nombre de tours de jeux. 
- Le jeux répartis aléatoirement ses points entre les 
différentes caractéristiques sachant qu’aucune ne peut être 
égale à 0
Le combat 
Un combat se déroule sous forme de round qui s’enchaine 
jusqu’à la mort de l’un des combatants. 
A chaque round les deux adversaires attaquent en 
commençant par le joueur. Pour savoir si un combatant 
touche, il « lance » son score d’Agilité et touche pour tous 
les dés ayant fait un 4 ou plus. 
Le nombre de dégâts infligés est égal à : 
(Nombre de touche * Force) de l’attaquant - Endurance du 
défenseur
Exemple de combat (1) 
Crixus : Force 1d6 / Agilité 2d6 / Endurance 1d6 / PV 10 
Priscus : Force 2d6 / Agilité 1d6 / Endurance 1d6 / PV 10 
Round 1 
Crixus Attaque : 
- il lance 2d6, résultat : 4 et 6 
- il touche donc deux fois 
- il lance donc 2d6 (touche * Force) et fait 7. 
- Priscus lance 1d6 d’Endurance et fait 2 
- Priscus perd donc 7 - 2 = 5 points de vie 
Priscus Attaque : 
- il lance 1d6, résultat : 3 
- il ne touche donc pas 
Aucun des gladiateurs n’est à 0 point de vie, le combat continue
Exemple de combat (2) 
Crixus : Force 1d6 / Agilité 2d6 / Endurance 1d6 / PV 10 
Priscus : Force 2d6 / Agilité 1d6 / Endurance 1d6 / PV 5 
Round 2 
Crixus Attaque : 
- il lance 2d6, résultat : 2 et 5 
- il touche donc une fois 
- il lance donc 1d6 (touche * Force) et fait 6. 
- Priscus lance 1d6 d’Endurance et fait 1 
- Priscus perd donc 6 - 1 = 5 points de vie 
Priscus Attaque : 
- il lance 1d6, résultat : 2 
- il ne touche donc pas 
Priscus est à 0 point de vie, le combat s’arrête.
2. Evaluation
ToDo 
Envoyer vos fichier à 
jean.michel35@gmail.com 
avec en objet 
[EPSI-B2-TP1] nom
Grille de notation 
- Boucle de jeux : 5pt 
- Entrainement du gladiateur : 4pt 
- Generation de l’adversaire : 3pt 
- Gestion du combat : 8pt
Malus 
- Rendus jusqu’à h+1 : - 4 
- Rendus de h+1 à h+3 : -8 
- Rendus de h+3 à h+6 : -13 
- Rendus après h+6 : -17
Merci pour votre attention.
Crédits 
Spartacus - Steven S. DeKnight 
http://www.starz.com/originals/spartacus

Mais conteúdo relacionado

Destaque

Html & Css #5 : positionement
Html & Css #5 : positionementHtml & Css #5 : positionement
Html & Css #5 : positionementJean Michel
 
Javascript #2.2 : jQuery
Javascript #2.2 : jQueryJavascript #2.2 : jQuery
Javascript #2.2 : jQueryJean Michel
 
Une introduction à Javascript
Une introduction à JavascriptUne introduction à Javascript
Une introduction à JavascriptJean Michel
 
PHP #4 : sessions & cookies
PHP #4 : sessions & cookiesPHP #4 : sessions & cookies
PHP #4 : sessions & cookiesJean Michel
 
#3 html in the real world
#3 html in the real world#3 html in the real world
#3 html in the real worldJean Michel
 
Javascript #11: Space invader
Javascript #11: Space invaderJavascript #11: Space invader
Javascript #11: Space invaderJean 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
 
#1 entreprendre au xxiè siècle
#1 entreprendre au xxiè siècle#1 entreprendre au xxiè siècle
#1 entreprendre au xxiè siècleJean Michel
 
Gestion de projet #3 : besoin client
Gestion de projet #3 : besoin clientGestion de projet #3 : besoin client
Gestion de projet #3 : besoin clientJean Michel
 
PHP #3 : tableaux & formulaires
PHP #3 : tableaux & formulairesPHP #3 : tableaux & formulaires
PHP #3 : tableaux & formulairesJean Michel
 
Javascript #7 : manipuler le dom
Javascript #7 : manipuler le domJavascript #7 : manipuler le dom
Javascript #7 : manipuler le domJean Michel
 
Javascript #3 : boucles & conditions
Javascript #3 : boucles & conditionsJavascript #3 : boucles & conditions
Javascript #3 : boucles & conditionsJean Michel
 
PHP & MYSQL #5 : fonctions
PHP & MYSQL #5 :  fonctionsPHP & MYSQL #5 :  fonctions
PHP & MYSQL #5 : fonctionsJean Michel
 
Startup & entrepreneuriat #2.1: disrupt me
Startup & entrepreneuriat #2.1: disrupt meStartup & entrepreneuriat #2.1: disrupt me
Startup & entrepreneuriat #2.1: disrupt meJean Michel
 
Javascript #10 : canvas
Javascript #10 : canvasJavascript #10 : canvas
Javascript #10 : canvasJean Michel
 
Wordpress #2 : customisation
Wordpress #2 : customisationWordpress #2 : customisation
Wordpress #2 : customisationJean Michel
 
Html & Css #6 : formulaires
Html & Css #6 : formulairesHtml & Css #6 : formulaires
Html & Css #6 : formulairesJean Michel
 
Architecture logicielle #5 : hipsto framework
Architecture logicielle #5 : hipsto frameworkArchitecture logicielle #5 : hipsto framework
Architecture logicielle #5 : hipsto frameworkJean Michel
 
Javascript #8 : événements
Javascript #8 : événementsJavascript #8 : événements
Javascript #8 : événementsJean Michel
 

Destaque (20)

Html & Css #5 : positionement
Html & Css #5 : positionementHtml & Css #5 : positionement
Html & Css #5 : positionement
 
Javascript #2.2 : jQuery
Javascript #2.2 : jQueryJavascript #2.2 : jQuery
Javascript #2.2 : jQuery
 
Une introduction à Javascript
Une introduction à JavascriptUne introduction à Javascript
Une introduction à Javascript
 
PHP #4 : sessions & cookies
PHP #4 : sessions & cookiesPHP #4 : sessions & cookies
PHP #4 : sessions & cookies
 
#3 html in the real world
#3 html in the real world#3 html in the real world
#3 html in the real world
 
Javascript #11: Space invader
Javascript #11: Space invaderJavascript #11: Space invader
Javascript #11: Space invader
 
Architecture logicielle #3 : object oriented design
Architecture logicielle #3 : object oriented designArchitecture logicielle #3 : object oriented design
Architecture logicielle #3 : object oriented design
 
#1 entreprendre au xxiè siècle
#1 entreprendre au xxiè siècle#1 entreprendre au xxiè siècle
#1 entreprendre au xxiè siècle
 
Gestion de projet #3 : besoin client
Gestion de projet #3 : besoin clientGestion de projet #3 : besoin client
Gestion de projet #3 : besoin client
 
PHP #3 : tableaux & formulaires
PHP #3 : tableaux & formulairesPHP #3 : tableaux & formulaires
PHP #3 : tableaux & formulaires
 
Javascript #7 : manipuler le dom
Javascript #7 : manipuler le domJavascript #7 : manipuler le dom
Javascript #7 : manipuler le dom
 
Javascript #3 : boucles & conditions
Javascript #3 : boucles & conditionsJavascript #3 : boucles & conditions
Javascript #3 : boucles & conditions
 
PHP & MYSQL #5 : fonctions
PHP & MYSQL #5 :  fonctionsPHP & MYSQL #5 :  fonctions
PHP & MYSQL #5 : fonctions
 
Startup & entrepreneuriat #2.1: disrupt me
Startup & entrepreneuriat #2.1: disrupt meStartup & entrepreneuriat #2.1: disrupt me
Startup & entrepreneuriat #2.1: disrupt me
 
Javascript #10 : canvas
Javascript #10 : canvasJavascript #10 : canvas
Javascript #10 : canvas
 
Wordpress #2 : customisation
Wordpress #2 : customisationWordpress #2 : customisation
Wordpress #2 : customisation
 
Html & Css #6 : formulaires
Html & Css #6 : formulairesHtml & Css #6 : formulaires
Html & Css #6 : formulaires
 
Architecture logicielle #5 : hipsto framework
Architecture logicielle #5 : hipsto frameworkArchitecture logicielle #5 : hipsto framework
Architecture logicielle #5 : hipsto framework
 
Projet timezone
Projet timezoneProjet timezone
Projet timezone
 
Javascript #8 : événements
Javascript #8 : événementsJavascript #8 : événements
Javascript #8 : événements
 

Mais de 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
 
Architecture logicielle #4 : mvc
Architecture logicielle #4 : mvcArchitecture logicielle #4 : mvc
Architecture logicielle #4 : mvcJean Michel
 
Wordpress #3 : content strategie
Wordpress #3 : content strategieWordpress #3 : content strategie
Wordpress #3 : content strategieJean 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 #1 : introduction
Wordpress #1 : introductionWordpress #1 : introduction
Wordpress #1 : introductionJean Michel
 
PHP #7 : guess who?
PHP #7 : guess who?PHP #7 : guess who?
PHP #7 : guess who?Jean 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
 
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
 
Startup #5 : pitch
Startup #5 : pitchStartup #5 : pitch
Startup #5 : pitchJean Michel
 
WebApp #4 : Consuming REST APIs
WebApp #4 : Consuming REST APIs WebApp #4 : Consuming REST APIs
WebApp #4 : Consuming REST APIs Jean Michel
 
WebApp #2 : responsive design
WebApp #2 : responsive designWebApp #2 : responsive design
WebApp #2 : responsive designJean Michel
 
WebApp #1 : introduction
WebApp #1 : introductionWebApp #1 : introduction
WebApp #1 : introductionJean Michel
 

Mais de Jean Michel (18)

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
 
Architecture logicielle #4 : mvc
Architecture logicielle #4 : mvcArchitecture logicielle #4 : mvc
Architecture logicielle #4 : mvc
 
Wordpress #3 : content strategie
Wordpress #3 : content strategieWordpress #3 : content strategie
Wordpress #3 : content strategie
 
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 #1 : introduction
Wordpress #1 : introductionWordpress #1 : introduction
Wordpress #1 : introduction
 
PHP #7 : guess who?
PHP #7 : guess who?PHP #7 : guess who?
PHP #7 : guess who?
 
PHP #6 : mysql
PHP #6 : mysqlPHP #6 : mysql
PHP #6 : mysql
 
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
 
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
 
Startup #5 : pitch
Startup #5 : pitchStartup #5 : pitch
Startup #5 : pitch
 
WebApp #4 : Consuming REST APIs
WebApp #4 : Consuming REST APIs WebApp #4 : Consuming REST APIs
WebApp #4 : Consuming REST APIs
 
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
 
WebApp #1 : introduction
WebApp #1 : introductionWebApp #1 : introduction
WebApp #1 : introduction
 

Javascript #5.2 : tp1 gladiateurs!

  • 1. Javascript TP1 : Kill them all!
  • 3. Fonctionnement global Vous devez réaliser mini RPG simulant l’entrainement et les combats d’un gladiateur. Le jeux est rythmé en tours de jeux. Chaque tour le gladiateur s’entraine et améliore ses compétences puis combat dans l’arène. Le but du jeux est de remporter le maximum de combats avant de mourir dans l’arène.
  • 4. Caractéristiques d’un gladiateur Un gladiateur est définie par : - un score de Force (en nombre de d6) - un score d’Agilité (en nombre de d6) - un score d’Endurance (en nombre de d6) - un nombre de points de vie Au début du jeux le survivant possède 1d6 en Force, Agilité et Endurance. De plus son nombre de points de vie est de 10.
  • 5. L’entraînement Durant la phase d’entraînement, le joueur peut choisir une caractéristique (Force, Agilité ou Endurance) de son gladiateur à améliorer. Celle-ci augmente d’1d6. Le choix de la caractéristique à améliorer se fait sous la forme d’un « prompt ». Tant que le choix entré n’est pas valide, le jeux demande à l’utilisateur d’entrer un choix.
  • 6. Les adversaires Pour chaque combat le jeux génère un adversaire semi aléatoire. Les caractéristiques de l’adversaire sont déterminées de la manière suivante : - L’adversaire dispose d’un nombre de points de caractéristiques égal à : 3 + Nombre de tours de jeux. - Le jeux répartis aléatoirement ses points entre les différentes caractéristiques sachant qu’aucune ne peut être égale à 0
  • 7. Le combat Un combat se déroule sous forme de round qui s’enchaine jusqu’à la mort de l’un des combatants. A chaque round les deux adversaires attaquent en commençant par le joueur. Pour savoir si un combatant touche, il « lance » son score d’Agilité et touche pour tous les dés ayant fait un 4 ou plus. Le nombre de dégâts infligés est égal à : (Nombre de touche * Force) de l’attaquant - Endurance du défenseur
  • 8. Exemple de combat (1) Crixus : Force 1d6 / Agilité 2d6 / Endurance 1d6 / PV 10 Priscus : Force 2d6 / Agilité 1d6 / Endurance 1d6 / PV 10 Round 1 Crixus Attaque : - il lance 2d6, résultat : 4 et 6 - il touche donc deux fois - il lance donc 2d6 (touche * Force) et fait 7. - Priscus lance 1d6 d’Endurance et fait 2 - Priscus perd donc 7 - 2 = 5 points de vie Priscus Attaque : - il lance 1d6, résultat : 3 - il ne touche donc pas Aucun des gladiateurs n’est à 0 point de vie, le combat continue
  • 9. Exemple de combat (2) Crixus : Force 1d6 / Agilité 2d6 / Endurance 1d6 / PV 10 Priscus : Force 2d6 / Agilité 1d6 / Endurance 1d6 / PV 5 Round 2 Crixus Attaque : - il lance 2d6, résultat : 2 et 5 - il touche donc une fois - il lance donc 1d6 (touche * Force) et fait 6. - Priscus lance 1d6 d’Endurance et fait 1 - Priscus perd donc 6 - 1 = 5 points de vie Priscus Attaque : - il lance 1d6, résultat : 2 - il ne touche donc pas Priscus est à 0 point de vie, le combat s’arrête.
  • 11. ToDo Envoyer vos fichier à jean.michel35@gmail.com avec en objet [EPSI-B2-TP1] nom
  • 12. Grille de notation - Boucle de jeux : 5pt - Entrainement du gladiateur : 4pt - Generation de l’adversaire : 3pt - Gestion du combat : 8pt
  • 13. Malus - Rendus jusqu’à h+1 : - 4 - Rendus de h+1 à h+3 : -8 - Rendus de h+3 à h+6 : -13 - Rendus après h+6 : -17
  • 14. Merci pour votre attention.
  • 15. Crédits Spartacus - Steven S. DeKnight http://www.starz.com/originals/spartacus