Avant de commencer le cours
- Nous allons utiliser un éditeur de texte, le logiciel Atom, que vous pouvez le télécharger sur SelfService si vous utilisez un ordinateur fourni par le CSF ou le télécharger ici si vous utilisez votre propre ordinateur.
- JavaScript est un langage de programmation pour le web et donc nécessite au minimum un fichier .html pour fonctionner. Cette page explique où nous écrivons notre code JavaScript. Nous allons utiliser le troisième endroit mentionné, dans un fichier (.js) séparé.
Liste de devoirs
- Travail 1
- Travail 2
- Travail 3
- Choisis ta propre aventure 1
- Choisis ta propre aventure 2
- Dialogueur
- Dialogueur intelligent
- Nourribot
- Jeu des devinettes
- Cartes mémoires (flashcards)
- La Grotte
- Calculbot
- Factorisation
- Étoiles
- Fonctions
- Gratteux
- Roulette
- Jeu de hasard
Travail 1
Date d'achèvement estimée (durée) : 6 octobre (1 cours)
Consignes : Voir le pdf.
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- commentaires
- indentation
- variables
- html
- lier un fichier .html et un fichier .js
Évaluation : Ce devoir a un poids de 2 et sera évalué selon cette grille d'évaluation.
Évaluation par ses pairs : pas obligatoire, mais toujours une bonne idée
Leçons pertinentes
- Commentaires, indentation et syntaxe de base en JavaScript - Pierre Giraud
- Var - Définition - SMNArnold
- Var - Initialisation - SMNArnold
- Var - Modification - SMNArnold
- Structure minimale d’une page HTML valide
- let - SMNArnold
- Nommer ses variables - SMNArnold
Travail 2
Date d'achèvement estimée (durée) : 15 octobre (2 cours)
Consignes : Voir le pdf.
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- alert
- console.log
- opérateurs arithmétiques (+, -, /, *, **, %)
- opérateurs d'affectation (+=, -=, /=, *=, %= )
Évaluation : Ce devoir a un poids de 2 et sera évalué selon cette grille d'évaluation.
Évaluation par ses pairs : pas obligatoire, mais toujours une bonne idée
Leçons pertinentes
Travail 3
Date d'achèvement estimée (durée) : 21 octobre (2 cours)
Consignes : Voir le pdf.
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- chaîne de caractères
- nombre
- booléen
- opérateurs de comparaison (==, !=, >, <, >=, <=, ===, !==)
- typeof
- concaténation
Évaluation : Ce devoir a un poids de 2 et sera évalué selon cette grille d'évaluation.
Évaluation par ses pairs : pas obligatoire, mais toujours une bonne idée
Leçons pertinentes
- Chaine de caractères - SMNArnold
- Nombre - SMNArnold
- Booléen - SMNArnold
- Les opérateurs de comparaison - SMNArnold
- Typeof - SMNArnold
- La concaténation - Pierre Giraud
Choisis ta propre aventure 1
Date d'achèvement estimée (durée) : 9 novembre (2 cours)
Consignes : Voir le pdf.
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- les conditionnels (if, else if, else)
Évaluation : Ce devoir a un poids de 4 et sera évalué selon cette grille d'évaluation.
Solution
l’élément footer doit être contenu dans l’élément body
Évaluation par ses pairs : pas obligatoire, mais toujours une bonne idée
Leçons pertinentes
- exercice pour pratiquer : écrire un programme pour déterminer si un nombre est pair ou impair (facultatif)
- exercice: écrire un programme pour déterminer si un nombre est positif ou négatif (facultatif)
- Les conditionnels - SMNArnold
Choisis ta propre aventure 2
Date d'achèvement estimée (durée) : 15 novembre (2 cours)
Consignes : Voir le pdf.
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- les boucles while
Évaluation : Ce devoir a un poids de 2 et sera évalué selon cette grille d'évaluation.
Évaluation par ses pairs : pas obligatoire, mais toujours une bonne idée
Leçons pertinentes
- exercice pour pratiquer : écrire un programme que demande à l'utilisateur de déviner un chiffre entre 0 et 10 et continue à demander jusqu'à ce que l'utilisateur choisisse le bon chiffre (facultatif)
- La boucle JavaScript while - Pierre Giraud
Dialogueur
Date d'achèvement estimée (durée) : 13 janvier (2 cours)
Consignes : Créer un dialogueur (bot conversationnel) qui pose trois (3) questions à l'utilisateur et répond aux questions avec des réponses aléatoires (choisies par hasard d'une liste).
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- Math.random()
- entrée utilisateur
- afficher de l'information à l'utilisateur
- les tableaux
- les indices de tableau
Évaluation : Ce devoir a un poids de 2 et sera évalué selon cette grille d'évaluation.
Évaluation par ses pairs : obligatoire, choisir deux autres élèves.
Leçons pertinentes
- La méthode Math.random() - vidéo
- La méthode Math.random() - SMNArnold
- La méthode Math.floor() - SMNArnold
- Introduction aux tableaux - vidéo
- Les tableaux - SMNArnold
- Comment créer un dialogueur - vidéo
Dialogueur intelligent
Date d'achèvement estimée (durée) : 17 janvier (1 cours)
Consignes : Créer un dialogueur qui pose une série de questions à l'utilisateur. Le dialogueur doit comprendre les réponses et répondre de façon appropriée. Voir l'exemple du produit final pour plus de détails.
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- les conditionnels (if, else if, else)
- Concaténation des chaînes de caractères (strings)
- Les opérateurs de comparaison (==, !=, <, >, <=, >=, ===, !==)
- Les opérateurs logiques (&&, ||, !)
Évaluation : Ce devoir a un poids de 2 et sera évalué selon cette grille d'évaluation.
Évaluation par ses pairs : obligatoire, choisir deux autres élèves.
Leçons pertinentes
- Les conditionnels - SMNArnold
- Les opérateurs de comparaison - SMNArnold
- Les opérateurs logiques - SMNArnold
- Comment créer un dialogueur plus complexe - vidéo
Nourribot
Date d'achèvement estimée (durée) : 24 janvier (2 cours)
Consignes : Créer un programme (nourribot) qui demande à l'utilisateur sa nourriture préférée et sauvegarde la réponse. Il aura au moins trois (3) listes de nourriture. Le programme suggera un restaurant d'une liste selon la réponse de l'utilisateur.
Il y aura au moins trois (3) listes de restaurants (ex. une liste de restaurants thaï, une liste de restaurants du style « diner » et une liste de restaurants japonais). Si l'utilisateur tape une nourriture japonaise (ex. sushi, ramen ou katsu), le nourribot va recommander un restaurant aléatoire de la liste de restaurants japonais.
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- méthodes de string, trim(), toLowerCase()
- méthodes de Math, Math.floor(), Math.random()
- les conditionnels (if, else if, else)
- les tableaux
- méthodes de tableau, includes()
Évaluation : Ce devoir a un poids de 3 et sera évalué selon cette grille d'évaluation.
Une note sur l'évaluation : Pour avoir une note élevée, ton programme devraient être à la fois fiable et convivial. Fiable veut dire que le programme peut gérer des entrées d'utilisateur inhabituelles et inattendues. Convivial veut dire que le programme est facile à utiliser, les instructions sont claires pour l'utilisateur et le dialogue est intéressant.
Évaluation par ses pairs :
Faire un clic ici pour voir qui évaluera ton travail :
Leçons pertinentes
- exercice pour pratiquer : Créer une liste de noms et demander à l'utilisateur son nom. Si leur nom est dans la liste, donner une certaine réponse.
- trim(), toLowerCase(), includes() - Pierre Giraud
- trim() - vidéo Pierre Giraud
- toLowerCase() - vidéo Pierre Giraud
- includes() - vidéo
Jeu des devinettes
Date d'achèvement estimée (durée) : 28 janvier (2 cours)
Consignes : Il y aura deux (2) joueurs. Le programme donnera au joueur 1 un sujet général. Le joueur 1 va entrer un mot associé avec le sujet. Ensuite, nous allons effacer l'écran. Le programme donnera au joueur 2 le même sujet général et joueur 2 aura 3 tentatives pour deviner le mot du joueur 1.
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- les boucles for
Évaluation : Ce devoir a un poids de 5 et sera évalué selon cette grille d'évaluation.
Une note sur l'évaluation : Pour avoir une note élevée, ton programme devraient être à la fois fiable et convivial. Fiable veut dire que le programme peut gérer des entrées d'utilisateur inhabituelles et inattendues. Convivial veut dire que le programme est facile à utiliser, les instructions sont claires pour l'utilisateur et le dialogue est intéressant.
D'autres fonctions possibles : sujet général aléatorie, rendre le jeu rejouable (agréable à rejouer plusieurs fois), dire à l'utilisateur si un mot a déjà été essayé, dire à l'utilisateur combien de tentatives restent, utiliser les vrais noms des utilisateurs, permettre de choisir le nombre de tentatives qu'aura Joueur 2, etc.
Évaluation par ses pairs :
Faire un clic ici pour voir qui évaluera ton travail :
Leçons pertinentes
- les boucles for - SMNArnold
- exercice: Fast and Furious - SMNArnold
- exercice: tableau Fast and Furious - SMNArnold
- les boucles for - vidéo
Cartes mémoires (flashcards)
Date d'achèvement estimée (durée) : 7 février (3 cours)
Consignes : Créer un programme de cartes mémoires (flashcards) qui pose une série de questions. Le programme va poser ces questions à l'utilisateur et dire si la réponse était bonne ou mauvaise. La programme se termine quand toute les questions ont été posées ou quand l'utilisateur entre « fini ».
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- les tableaux
- les boucles for
- la méthode de tableau .length()
- break; (pour sortir d'une boucle)
Évaluation : Ce devoir a un poids de 5 et sera évalué selon cette grille d'évaluation.
Une note sur l'évaluation : Pour avoir une note élevée, ton programme devraient être à la fois fiable et convivial. Fiable veut dire que le programme peut gérer des entrées d'utilisateur inhabituelles et inattendues. Convivial veut dire que le programme est facile à utiliser, les instructions sont claires pour l'utilisateur et le dialogue est intéressant.
D'autres fonctions possibles : questions aléatoires, afficher un score (pointage), répéter les questions auxquelles l'utilisateur avait des mauvaises réponses, etc.
Évaluation par ses pairs :
Faire un clic ici pour voir qui évaluera ton travail :
Leçons pertinentes
- la méthode de tableau .length()
- Comment utiliser un tableau avec une boucle for - vidéo
- Les méthodes de tableau (pour aller plus loin) - vidéo
- Les méthodes de tableau (pour aller plus loin) - article
- Utiliser une instruction break pour sortir prématurément d’une boucle (vers le bas de l'article)
- la méthode de tableau .length() avec une boucle for - vidéo
La Grotte
Date d'achèvement estimée (durée) : 15 février (3 cours)
Consignes : Créer un programme qui représente une grotte (caverne) qui descend dans la Terre. Ça doit être généré de façon aléatoire pour donner l'impression que c'est « naturel ». Voir l'exemple pour mieux comprendre.
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- méthode de string, repeat()
- les boucles for
- interagir avec la page web avec document.getElementById().innerHTML
- Math.random()
Évaluation : Ce devoir a un poids de 5 et sera évalué selon cette grille d'évaluation.
Une note sur l'évaluation : Pour avoir une note élevée, ton programme devraient être à la fois fiable et convivial. Fiable veut dire que le programme peut gérer des entrées d'utilisateur inhabituelles et inattendues. Convivial veut dire que le programme est facile à utiliser, les instructions sont claires pour l'utilisateur et le dialogue est intéressant.
D'autres fonctions possibles : d'autres types de variation des murs de la grotte, des petites cavernes non connexes qui apparaissent dans les murs, des « roches » placées de façon aléatoire dans la grotte, etc.
Évaluation par ses pairs :
Faire un clic ici pour voir qui évaluera ton travail :
Leçons pertinentes
- méthode de string, repeat() - Mozilla Developer Network
- méthode de string, repeat() - vidéo
- Comment interagir avec une page web - vidéo
- Comment commencer cet exercice (La grotte) - vidéo
Calculbot
Date d'achèvement estimée (durée) : 23 février (2 cours)
Consignes : Créer un programme que demande à l'utilisateur un premier chiffre et un deuxième. Ensuite, demander à l'utilisateur de choisir une opération mathématique. Le programme fera le calcul et affichera le résultat.
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- opérateurs arithmétiques (+, -, /, *, **, %)
- convertir une chaîne de caractères (string) en nombre
Évaluation : Ce devoir a un poids de 3 et sera évalué selon cette grille d'évaluation.
Une note sur l'évaluation : Pour avoir une note élevée, ton programme devraient être à la fois fiable et convivial. Fiable veut dire que le programme peut gérer des entrées d'utilisateur inhabituelles et inattendues. Convivial veut dire que le programme est facile à utiliser, les instructions sont claires pour l'utilisateur et le dialogue est intéressant.
D'autres fonctions possibles : accepter plusieurs manières d'entrér l'opérateur (ex. +, plus, additionner, sommer), offrir la possibilité de faire un autre calcul avec le résultat, etc.
Évaluation par ses pairs :
Faire un clic ici pour voir qui évaluera ton travail :
Leçons pertinentes
Factorisation
Date d'achèvement estimée (durée) : 4 avril (3 cours)
Consignes : Créer un programme que accepte un nombre entier de l'utilisateur, trouve tous les facteurs (diviseurs) de cet entier, les ajoute à un tableau, et imprime la liste des facteurs. Par exemple: résultat « Les facteurs de 12 sont 1, 2, 3, 4, 6, 12 » (stocké dans le programme comme [1, 2, 3, 4, 6, 12])
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- les boucles for
- convertir une chaîne de caractères (string) en nombre
- méthode de string, join()
- méthode de string, push()
Évaluation : Ce devoir a un poids de 3 et sera évalué selon cette grille d'évaluation.
Une note sur l'évaluation : Pour avoir une note élevée, ton programme devraient être à la fois fiable et convivial. Fiable veut dire que le programme peut gérer des entrées d'utilisateur inhabituelles et inattendues. Convivial veut dire que le programme est facile à utiliser, les instructions sont claires pour l'utilisateur et le dialogue est intéressant.
D'autres fonctions possibles : des entrées multiples, donner des options pour comment afficher les résultats, afficher les facteurs en pairs qui se multiplient ensemble pour former le nombre, afficher la liste en bon français (ex. 1, 2, 3, 4, 6 et 12).
Évaluation par ses pairs :
Faire un clic ici pour voir qui évaluera ton travail :
Leçons pertinentes
Étoiles
Date d'achèvement estimée (durée) : 8 avril (2 cours)
Consignes : Créer un programme qui demande un chiffre (un entier) de l'utilisateur et affiche des étoiles disposées dans une configuration triangulaire. Voir l'exemple pour plus de détails.
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- les boucles for imbriquées
Évaluation : Ce devoir a un poids de 2 et sera évalué selon cette grille d'évaluation.
Une note sur l'évaluation : Pour avoir une note élevée, ton programme devraient être à la fois fiable et convivial. Fiable veut dire que le programme peut gérer des entrées d'utilisateur inhabituelles et inattendues. Convivial veut dire que le programme est facile à utiliser, les instructions sont claires pour l'utilisateur et le dialogue est intéressant.
D'autres fonctions possibles : forcer l'utilisateur d'entrer un entier, permettre l'utilisateur de choisir un symbole autre qu'une étoile, donner l'option de générer d'autres formes (losange, carré, rectangle, etc).
Évaluation par ses pairs : obligatoire, choisir deux autres élèves.
Leçons pertinentes
Fonctions
Date d'achèvement estimée (durée) : 28 avril (4 cours)
Consignes : Créer un programme avec une variable qui représente une quantité d'argent. Initialise cette variable avec un montant.
Ce programme aura aussi 2 fonctions :
- une fonctionne accepte deux entiers et et retourne un entier aléatoire entre (et incluant) ces deux valeurs. qui
- une fonctionne accepte deux nombres, et , somme les deux valeurs, affiche combien l'utilisateur a gagné ou perdu et combien d'argent reste, et retourne le montant restant.
Exemples :- différenceMontant(50, -7) va afficher « Vous avez perdu 7$, il vous reste 43$ » et va retourner 43.
- différenceMontant(250, 100) va afficher « Vous avez gagné $100, il vous reste $350 » et va retourner 350.
qui
Vous pouvez tester vos fonctions sur Codepen avec ces liens : entierAléatoire et différenceMontant.
Vos fonctions doivent respecter certaines règles :
- une fonctionne devrait être cohérente (ne fait qu'une chose à la fois).
- une fonctionne devrait être indépendante (ne modifie pas des variables globales).
- une fonctionne devrait être concise (court, simple à comprendre et bien commenté).
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- Déclaration de fonction
- Variables locales d'une fonction
- Variables externes (globales)
- les arguments d'une fonction
- Renvoyer une valeur return
- Math.random()
Évaluation : Ce devoir a un poids de 4 et sera évalué selon cette grille d'évaluation.
Une note sur l'évaluation : Pour avoir une note élevée, ton programme devraient être à la fois fiable, convivial et bien commenté. Fiable veut dire que le programme peut gérer des entrées d'utilisateur inhabituelles et inattendues. Convivial veut dire que le programme est facile à utiliser, les instructions sont claires pour l'utilisateur et le dialogue est intéressant. Bien commenté veut dire qu'il y a une introduction au début avec ton nom, la date et l'objectif du programme ainsi que des commentaires pour expliquer tout qui n'est pas évident.
Pour les fonctions, fiable et conviviale veut dire qu'elles sont cohérente, indépendante et concise. Pour qu'une fonctionne soit bien commenté, tu dois expliquer ce que la fonctionne fait, quels paramètres (variables) la fonctionne accepte, quels sont les types de ces variables et quelles variables (avec leurs type) sont retournées par la fonctionne.
D'autres fonctions possibles : à toi de décider. Pas nécessaire pour avoir une note de 100 % sur ce travail.
Évaluation par ses pairs : obligatoire, choisir deux autres élèves.
Leçons pertinentes
- résumé des fonctions - javascript.info
- Déclaration de fonction - javascript.info
- Variables locales d'une fonction - javascript.info
- Variables externes (globales) - javascript.info
- les arguments d'une fonction - javascript.info
- Renvoyer une valeur return - javascript.info
- les fonctions - SMNArnold
- exercice: Little Mac - SMNArnold
- les fonctions - Pierre Giraud
- le contexte (scope) des variables - SMNArnold
- la portée des variables et retour des fonctions - Pierre Giraud
Gratteux
Date d'achèvement estimée (durée) : 10 mai (4 cours)
Consignes : Créer une copie de ton travail Fonctions et ajouter une nouvelle fonction qui simule un gratteux. Un gratteux est un jeu de chance en forme de papier coloré et plastifié qui coûte un certain montant (souvent 3$, 5$, 10$ et 20$). On gratte certaines sections du gratteux pour révéler ce qui est caché (normalement des symboles qui doit être correspondants) et le prix qu'on gagne (ou qu'on aurait pu gagner). Le joueur gagne (ou non) un montant aléatoire. Le plus le montant qu'on gagne est élévé, le moins la probabilité de gagner ce montant l'est. Ton jeu doit respecter la règle « la casino gagne toujours » (The house always wins) et tu dois prouver (mathématiquement ou programmatiquement) que c'est le cas (soit dans les commentaires, sur ton autoévaluation ou dans ton fichier .html). Ta fonction sera nommée va accepter un nombre et retourne un nombre représentant le montant gagné (si positif) ou perdu (si négatif).
Ce projet deviendra un jeu de casino ou le joueur pourra joueur plusieurs jeux de chance. Il faut alors ajouter une boucle de jeu avec un menu à ton programme. Pour le moment, ton menu contiendra juste une seule option, joueur un gratteux. Ton programme doit obligatoirement utiliser une fonction déjà créée dans le travail précédent, c'est à dire . Tu peux l'utiliser dans ta boucle de jeu. Si, pour générer l'aspect de hasard, ton programme se sert de Math.random() pour créer des entiers aléatoires, alors tu dois aussi utiliser ta fonction .
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- fonctions
Évaluation : Ce devoir a un poids de 4 et sera évalué selon cette grille d'évaluation.
Une note sur l'évaluation : Pour avoir une note élevée, ton programme devraient être à la fois fiable, convivial et bien commenté. Fiable veut dire que le programme peut gérer des entrées d'utilisateur inhabituelles et inattendues. Convivial veut dire que le programme est facile à utiliser, les instructions sont claires pour l'utilisateur et le dialogue est intéressant. Bien commenté veut dire qu'il y a une introduction au début avec ton nom, la date et l'objectif du programme ainsi que des commentaires pour expliquer tout qui n'est pas évident.
Pour les fonctions, fiable et conviviale veut dire qu'elles sont cohérente, indépendante et concise. Pour qu'une fonctionne soit bien commenté, tu dois expliquer ce que la fonctionne fait, quels paramètres (variables) la fonctionne accepte, quels sont les types de ces variables et quelles variables (avec leurs type) sont retournées par la fonctionne.
D'autres fonctions possibles : ajouter un argument (entier)
représentant la difficulté (exemple 1, 2 ou 3). La difficulté augmentera la récompense sans augementer le coût à jouer, ajouter du texte qui aide à simuler l'acte de gratter (par exemple, donner des options pour des cases à gratter avant de réveler le résultat).Évaluation par ses pairs : obligatoire, choisir deux autres élèves.
Leçons pertinentes
Roulette
Date d'achèvement estimée (durée) : 24 mai (4 cours)
Consignes : Créer une copie de ton travail Gratteux et ajouter une nouvelle fonction qui simule le jeu de roulette. La roulette est un jeu de hasard populaire dans les casinos. Voir les leçons pertinentes pour en apprendre plus. Il y a beaucoup de types de mises possibles, mais pour ce travail, on te demande de programmer les mises suivantes :
- numéro plein
- manques ou passes
- pair ou impair
- rouge ou noir ou vert
Ton jeu doit respecter la règle « la casino gagne toujours » (The house always wins) et tu dois prouver (mathématiquement ou programmatiquement) que c'est le cas (soit dans les commentaires, sur ton autoévaluation ou dans ton fichier .html). Pour ce jeu, la page Wikipédia offre un tableau des paiement des mise. Ta fonction sera nommée va accepter un nombre et retourne un nombre représentant le montant gagné (si positif) ou perdu (si négatif).
Roulette sera le deuxième jeu de chance jouable dans ton casino. Il faut modifier ta boucle de jeu et ton menu. Ton programme doit obligatoirement utiliser des fonctions déjà créées dans les travaux précédents. Il faut aussi avoir un système pour assurer que le joueur a assez d'argent pour jouer chaque jeu.
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- fonctions
Évaluation : Ce devoir a un poids de 4 et sera évalué selon cette grille d'évaluation.
Une note sur l'évaluation : Pour avoir une note élevée, ton programme devraient être à la fois fiable, convivial et bien commenté. Fiable veut dire que le programme peut gérer des entrées d'utilisateur inhabituelles et inattendues. Convivial veut dire que le programme est facile à utiliser, les instructions sont claires pour l'utilisateur et le dialogue est intéressant. Bien commenté veut dire qu'il y a une introduction au début avec ton nom, la date et l'objectif du programme ainsi que des commentaires pour expliquer tout qui n'est pas évident.
Pour les fonctions, fiable et conviviale veut dire qu'elles sont cohérente, indépendante et concise. Pour qu'une fonctionne soit bien commenté, tu dois expliquer ce que la fonctionne fait, quels paramètres (variables) la fonctionne accepte, quels sont les types de ces variables et quelles variables (avec leurs type) sont retournées par la fonctionne.
D'autres fonctions possibles : ajouter une interface graphique, soit sur la page html, soit avec du texte dans une alert(). Ajouter la possibilité de faire plus de mises, comme décris dans la section de la page Wikipédia sur les mises.
Évaluation par ses pairs : obligatoire, choisir deux autres élèves.
Leçons pertinentes
Jeu de hasard
Date d'achèvement estimée (durée) : 9 juin (6 cours)
Consignes : Créer un jeu de hasard pour compléter ton casino. Si vous n'avez pas d'idées, n'oublie pas que tout jeu pourrait être un jeu de hasard si l'on doit payer pour jouer et s'il y a une récompense pour gagner! Jeux possibles : Blackjack, Yahtzee, Guerre, Pêche, etc. Ton jeu sera évalué selon sa complexité et la bonne utilisation des concepts appris cette année.
Ton jeu doit respecter la règle « la casino gagne toujours » (The house always wins) et tu dois prouver (mathématiquement ou programmatiquement) que c'est le cas (soit dans les commentaires, sur ton autoévaluation ou dans ton fichier .html).
Ce jeu va compléter ton casino. Il faut modifier ta boucle de jeu et ton menu. Ton programme doit obligatoirement utiliser des fonctions déjà créées dans les travaux précédents. Il faut aussi avoir un système pour assurer que le joueur a assez d'argent avant de pouvoir jouer un jeu.
Il faut utiliser le français en tout temps. La communication entre le programme et l'utilisateur, les commentaires dans le code et même les noms des variables et des fonctions doivent être tous en français.
Il faut utiliser les concepts JavaScript suivants :
- aucun
Évaluation : Ce devoir a un poids de 6 et sera évalué selon cette grille d'évaluation.
Une note sur l'évaluation : Pour avoir une note élevée, ton programme devraient être à la fois fiable, convivial et bien commenté. Fiable veut dire que le programme peut gérer des entrées d'utilisateur inhabituelles et inattendues. Convivial veut dire que le programme est facile à utiliser, les instructions sont claires pour l'utilisateur et le dialogue est intéressant. Bien commenté veut dire qu'il y a une introduction au début avec ton nom, la date et l'objectif du programme ainsi que des commentaires pour expliquer tout qui n'est pas évident.
Pour les fonctions, fiable et conviviale veut dire qu'elles sont cohérente, indépendante et concise. Pour qu'une fonctionne soit bien commenté, tu dois expliquer ce que la fonctionne fait, quels paramètres (variables) la fonctionne accepte, quels sont les types de ces variables et quelles variables (avec leurs type) sont retournées par la fonctionne.
Évaluation par ses pairs : obligatoire, choisir trois autres élèves.
Leçons pertinentes
- aucun