Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
infoh100-projet1 [2013/11/25 21:03]
stefeppe
infoh100-projet1 [2013/12/05 06:22]
stefeppe
Line 8: Line 8:
   * **//Dois-je rédiger les commentaires (//''​docstrings''//​) en anglais?//​** \\   * **//Dois-je rédiger les commentaires (//''​docstrings''//​) en anglais?//​** \\
 Si l'​anglais est l'​option préférée,​ nous ne sanctionnerons pas les commentaires en français. Mieux vaut un commentaire en français clair, qu'une description anglaise incompréhensible. Si l'​anglais est l'​option préférée,​ nous ne sanctionnerons pas les commentaires en français. Mieux vaut un commentaire en français clair, qu'une description anglaise incompréhensible.
 +
 +  * **//​J'​ai des problèmes pour importer le module PYC fourni avec l'​énoncé. Que dois-je faire?//** \\
 +Nous avons mis à disposition une version //non compilée// du module. Celui-ci est à importer de manière similaire que la version compilée: ​
 +  - décompresser le fichier fourni "​boggle_mod.tar.gz",​
 +  - copier le fichier Boggle_mod.py dans le répertoire de votre projet,
 +  - importer dans votre code avec ''​import Boggle_mod''​ (ceci //​remplace//​ l'​ancien import!)
 +Pour les étudiants ayant utilisé les modules **compilés**,​ il n'y a **rien** à faire. Les deux versions (compilée et non-compilée) fonctionnent de la même manière et contiennent les mêmes fonctions!
 +
 +  * **//Puis-je utiliser plus d'un //''​return''//​ dans une fonction?//​** \\
 +Non: un seul ''​return''​ par fonction. Il s'agit là d'une convention adoptée dans ce cours. Cela ne devrait d'​ailleurs pas avoir de répercutions dramatiques sur votre code.
  
   * **//Puis-je utiliser la librairie //''​random''//​ (et/ou d'​autres)?//​** \\   * **//Puis-je utiliser la librairie //''​random''//​ (et/ou d'​autres)?//​** \\
-La librairie random ayant été vue lors des travaux pratiques, l'​utilisation de //toutes// les fonctions qui la composent est permise. Il en va de même pour l'​ensemble des méthodes liées aux stringslistes ​et tuples.+La librairie random ayant été vue lors des travaux pratiques, l'​utilisation de //toutes// les fonctions qui la composent est permise. Il en va de même pour l'​ensemble des méthodes liées aux types ''​str''​''​list'' ​et ''​tuple''​.
  
-  * **//Que font les fonctions fournies ​"//​word_in_place//​" ​et "//​word_on_board//​"?//** +  * **//Que font les fonctions fournies //''​word_in_place''​// et //''​word_on_board''​//?//** 
-  - "​**word_on_board**"​\\ +  - "**''​word_on_board''​**"​\\ 
-Cette fonction renvoie True si le mot est présent dans la grille EN RESPECTANT LES RÈGLES DU BOGGLE. Donc dans la grille ci dessous :\\ +Cette fonction renvoie ​''​True'' ​si le mot est présent dans la grille EN RESPECTANT LES RÈGLES DU BOGGLE. Donc dans la grille ci dessous :\\ 
-A B S E\\+''​A B S E\\
 A L U H\\ A L U H\\
 **M** **E** Y T\\ **M** **E** Y T\\
-N **R** B J\\ +N **R** B J''​\\ 
-la fonction renvoie True pour "​MER"​ mais pas pour "​SALUT"​+la fonction renvoie ​''​True'' ​pour "''​MER''​" mais pas pour "''​SALUT''​"
  
-word_on_board("​MER",​ board) == True +''​word_on_board("​MER",​ board) == True''​ 
-word_on_board("​SALUT",​ board) == False +''​word_on_board("​SALUT",​ board) == False''​
- +
-EXPLICATION DE word_in_place :+
  
 +  - "​**''​word_in_place''​**"​\\
 Elle fait la même chose uniquement si le mot commence dans la case donnée en paramètre (attention les indices commencent à 0 donc la case en haut à gauche est la case 0,0) Elle fait la même chose uniquement si le mot commence dans la case donnée en paramètre (attention les indices commencent à 0 donc la case en haut à gauche est la case 0,0)
-Dans l'​exemple ci dessus : +Dans l'​exemple ci dessus :\\ 
-word_in_place("​MER",​ board, 0, 1) == False +''​word_in_place("​MER",​ board, 0, 1) == False''​\\ 
-word_in_place("​MER",​ board, 2, 0) == True +''​word_in_place("​MER",​ board, 2, 0) == True''​\\ 
-word_in_place("​MER",​ board, 3, 1) == False +''​word_in_place("​MER",​ board, 3, 1) == False''​
- +
-Le sujet sera modifié pour être plus clair pour tous.+
  
-Il est évident que word_on_board appellera word_in_place (de la même manière que play_boggle appelera play_one_round).+Il est évident que ''​word_on_board'' ​appellera ​''​word_in_place'' ​(de la même manière que ''​play_boggle'' ​appelera ​''​play_one_round''​).
 Ce découpage imposé est là pour vous aider. Ce découpage imposé est là pour vous aider.
  
-CONSEILS:+  * **//Faut-il placer aléatoirement les dés sur le tableau?//​** \\ 
 +En d'​autres termes, //les dés du tableau doivent-ils,​ en plus d'​afficher une face aléatoire, être placés également aléatoirement sur le tableau//? La réponse estoui. Le premier dé renvoyé par ''​get_dices()''​ ne doit donc pas se retrouver systématiquement sur la première case du tableau; cette position (ainsi que celle des autres dés) doit changer aléatoirement d'une partie à l'​autre.
  
-word_in_place est la fonction la plus difficile ​du projet. +  * **//​L'​énoncé ​du projet ​spécifie qu'un jeu est composé de 5 toursA quoi alors sert la fonction ''​ask_yes_no''​ fournie?//​** \\ 
-Vous pouvez coder les fonctions dans l'ordre que vous voulez, vous pouvez ​coder par exemple word_on_board en considérant que word_in_place marche.+Il s'agit d'une ambiguïté de l'énoncé. Concrètement, vous pouvez:  
 +  - demander à l'​utilisateur s'il veut rejouer après les 5 tours, ou  
 +  - ne rien lui demander et quitter le programme après les 5 tours. ​  
 +Nous acceptons les deux possibilités.
 
infoh100-projet1.txt · Last modified: 2013/12/05 06:22 by stefeppe