Programmation informatique 11/12

Introduction au JavaScript

Remerciements

Avant de commencer le cours


Liste de devoirs

  1. Travail 1
  2. Travail 2
  3. Travail 3
  4. Choisis ta propre aventure 1
  5. Choisis ta propre aventure 2
  6. Dialogueur
  7. Dialogueur intelligent
  8. Nourribot
  9. Jeu des devinettes
  10. Cartes mémoires (flashcards)
  11. La Grotte
  12. Calculbot
  13. Factorisation
  14. Étoiles
  15. Fonctions
  16. Gratteux
  17. Roulette
  18. 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 :

É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 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 :

É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 :

É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


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 :

É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


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 :

É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


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 :

É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

Exemple du produit final


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 :

É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

Exemple du produit final


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 :

É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 :
  • L'élève 1 sera évalué par les élèves 8 et 11.
  • L'élève 2 sera évalué par les élèves 7 et 10.
  • L'élève 3 sera évalué par les élèves 5 et 7.
  • L'élève 4 sera évalué par les élèves 3 et 9.
  • L'élève 5 sera évalué par les élèves 10 et 4.
  • L'élève 6 sera évalué par les élèves 11 et 13.
  • L'élève 7 sera évalué par les élèves 9 et 5.
  • L'élève 8 sera évalué par les élèves 6 et 3.
  • L'élève 9 sera évalué par les élèves 4 et 8.
  • L'élève 10 sera évalué par les élèves 13 et 2.
  • L'élève 11 sera évalué par les élèves 1 et .
  • L'élève 13 sera évalué par les élèves 2 et 6.
  • Leçons pertinentes

    Exemple du produit final


    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 :

    É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 :
  • L'élève 1 sera évalué par les élèves 8 et 13.
  • L'élève 2 sera évalué par les élèves 11 et .
  • L'élève 3 sera évalué par les élèves 7 et 6.
  • L'élève 4 sera évalué par les élèves 10 et 1.
  • L'élève 5 sera évalué par les élèves 2 et 3.
  • L'élève 6 sera évalué par les élèves 9 et 5.
  • L'élève 7 sera évalué par les élèves 6 et 2.
  • L'élève 8 sera évalué par les élèves 13 et 4.
  • L'élève 9 sera évalué par les élèves 3 et 8.
  • L'élève 10 sera évalué par les élèves 1 et 7.
  • L'élève 11 sera évalué par les élèves 4 et 10.
  • L'élève 13 sera évalué par les élèves 5 et 9.
  • Leçons pertinentes

    Exemple du produit final


    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 :

    É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 :
  • L'élève 1 sera évalué par les élèves 3 et 6.
  • L'élève 2 sera évalué par les élèves 6 et 10.
  • L'élève 3 sera évalué par les élèves 4 et 2.
  • L'élève 4 sera évalué par les élèves 11 et 1.
  • L'élève 5 sera évalué par les élèves 9 et 7.
  • L'élève 6 sera évalué par les élèves 13 et 9.
  • L'élève 7 sera évalué par les élèves 2 et 5.
  • L'élève 8 sera évalué par les élèves 7 et 11.
  • L'élève 9 sera évalué par les élèves 5 et 13.
  • L'élève 10 sera évalué par les élèves 8 et 4.
  • L'élève 11 sera évalué par les élèves 1 et 8.
  • L'élève 13 sera évalué par les élèves 10 et 3.
  • Leçons pertinentes


    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 :

    É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 :
  • L'élève 1 sera évalué par les élèves 4 et 5.
  • L'élève 2 sera évalué par les élèves 10 et 7.
  • L'élève 3 sera évalué par les élèves 8 et 11.
  • L'élève 4 sera évalué par les élèves 11 et 1.
  • L'élève 5 sera évalué par les élèves 9 et 6.
  • L'élève 6 sera évalué par les élèves 1 et 13.
  • L'élève 7 sera évalué par les élèves 5 et 4.
  • L'élève 8 sera évalué par les élèves 2 et 3.
  • L'élève 9 sera évalué par les élèves 6 et 8.
  • L'élève 10 sera évalué par les élèves 7 et 9.
  • L'élève 11 sera évalué par les élèves 13 et 2.
  • L'élève 13 sera évalué par les élèves 3 et 10.
  • Leçons pertinentes

    Exemple du produit final


    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 :

    É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 :
  • L'élève 1 sera évalué par les élèves 11 et 4.
  • L'élève 2 sera évalué par les élèves 6 et 8.
  • L'élève 3 sera évalué par les élèves 8 et 1.
  • L'élève 4 sera évalué par les élèves 5 et 11.
  • L'élève 5 sera évalué par les élèves 9 et 10.
  • L'élève 6 sera évalué par les élèves 13 et 7.
  • L'élève 7 sera évalué par les élèves 1 et 2.
  • L'élève 8 sera évalué par les élèves 2 et 9.
  • L'élève 9 sera évalué par les élèves 10 et 3.
  • L'élève 10 sera évalué par les élèves 3 et 13.
  • L'élève 11 sera évalué par les élèves 7 et 6.
  • L'élève 13 sera évalué par les élèves 4 et 5.
  • 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 :

    É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 :
  • L'élève 1 sera évalué par les élèves 8 et 6.
  • L'élève 2 sera évalué par les élèves 13 et 9.
  • L'élève 3 sera évalué par les élèves 7 et 1.
  • L'élève 4 sera évalué par les élèves 1 et 3.
  • L'élève 5 sera évalué par les élèves 11 et 4.
  • L'élève 6 sera évalué par les élèves 4 et 11.
  • L'élève 7 sera évalué par les élèves 9 et 5.
  • L'élève 8 sera évalué par les élèves 5 et 13.
  • L'élève 9 sera évalué par les élèves 10 et 2.
  • L'élève 10 sera évalué par les élèves 2 et 7.
  • L'élève 11 sera évalué par les élèves 3 et 8.
  • L'élève 13 sera évalué par les élèves 6 et 10.
  • Leçons pertinentes

    Exemple du produit final


    É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 :

    É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

    Exemple du produit final


    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 :

    1. une fonctionne entierAleatoire qui accepte deux entiers minimum et maximum et retourne un entier aléatoire entre (et incluant) ces deux valeurs.
    2. une fonctionne différenceMontant qui accepte deux nombres, montantAvant et différence, 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.

    Vous pouvez tester vos fonctions sur Codepen avec ces liens : entierAléatoire et différenceMontant.

    Vos fonctions doivent respecter certaines règles :

    1. une fonctionne devrait être cohérente (ne fait qu'une chose à la fois).
    2. une fonctionne devrait être indépendante (ne modifie pas des variables globales).
    3. 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 :

    É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


    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 jouerGratteux va accepter un nombre cout 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 différenceMontant. 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 entierAléatoire.

    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 :

    É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) difficulté 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 :

    1. numéro plein
    2. manques ou passes
    3. pair ou impair
    4. 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 jouerRoulette va accepter un nombre argentInitial 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 :

    É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 :

    É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