2019_2020:s3:concprogobjet:td:td6
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
2019_2020:s3:concprogobjet:td:td6 [2019/11/02 17:58] – [Partie 1 : Tutoriel EasyMock (1h grand maximum)] blay | 2019_2020:s3:concprogobjet:td:td6 [2019/11/06 12:40] (current) – [Partie 1 : Tutoriel EasyMock (1h grand maximum)] blay | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Tests d' | + | ====== Tests d' |
Ce TD vise | Ce TD vise | ||
- à vous apprendre à mettre en place des tests d' | - à vous apprendre à mettre en place des tests d' | ||
- à concevoir une petite application à plusieurs en prévoyant les tests d' | - à concevoir une petite application à plusieurs en prévoyant les tests d' | ||
+ | /* | ||
<note important> | <note important> | ||
Vous ne parviendrez peut etre pas à tout faire. | Vous ne parviendrez peut etre pas à tout faire. | ||
Line 9: | Line 10: | ||
- Ne trainez pas non plus ! | - Ne trainez pas non plus ! | ||
</ | </ | ||
+ | */ | ||
===== Partie 1 : Tutoriel EasyMock (1h grand maximum) ===== | ===== Partie 1 : Tutoriel EasyMock (1h grand maximum) ===== | ||
Line 15: | Line 17: | ||
- Voici le .jar dont vous avez besoin pour avoir accès à l' | - Voici le .jar dont vous avez besoin pour avoir accès à l' | ||
- | - Pour l' | + | - Créer un projet java |
- | - Voici l' | + | - Ajouter |
+ | - Voici l' | ||
public interface Collaborator { | public interface Collaborator { | ||
Line 167: | Line 170: | ||
===== Partie 2 : Un jeu de Quizz ===== | ===== Partie 2 : Un jeu de Quizz ===== | ||
- | Vous devez réaliser en groupe de 2 étudiants un jeu de quizz dont voici la spécification. | + | Vous devez réaliser en groupe de X étudiants un jeu de quizz dont voici la spécification. |
- | ==== Spécifications | + | |
+ | ==== Spécification | ||
* **V0 : Version de base** | * **V0 : Version de base** | ||
- | - En tant que joueur, je veux répondre à une question du quizz <color / | + | - En tant que joueur, je veux répondre à une question du quizz |
- Si j'ai la bonne réponse je gagne 1pt | - Si j'ai la bonne réponse je gagne 1pt | ||
- Si je n'ai pas la bonne réponse, la bonne réponse m'est donnée. | - Si je n'ai pas la bonne réponse, la bonne réponse m'est donnée. | ||
Line 180: | Line 184: | ||
- " | - " | ||
- " | - " | ||
- | - En tant que joueur, je veux jouer une partie de quizz, de façon à m' | + | - En tant que joueur, je veux jouer une partie de quizz, de façon à m' |
+ | |||
+ | ==== Modélisation ==== | ||
+ | |||
+ | === Exigences === | ||
+ | Voici les interfaces qui vous sont données et que vous devez respecter. | ||
+ | <code java> | ||
+ | public interface GameInterface { | ||
+ | |||
+ | void startGame(); | ||
+ | |||
+ | boolean isNotOver(); | ||
+ | |||
+ | String nextQuestion(); | ||
+ | |||
+ | boolean setCurrentUserAnswer(String answer); | ||
+ | |||
+ | String getRightAnswer(); | ||
+ | |||
+ | int getPoints(); | ||
+ | |||
+ | } | ||
+ | </code> | ||
+ | <code java> | ||
+ | public interface QuizInterface { | ||
+ | |||
+ | public String getQuestion(int currentQuestionNumber) ; | ||
+ | |||
+ | public boolean isGoodAnswer(int currentQuestionNumber, | ||
+ | |||
+ | public String getAnswer(int currentQuestionNumber); | ||
+ | |||
+ | public int size(); | ||
+ | |||
+ | public void addQuestion(QuestionInterface q1); | ||
+ | |||
+ | } | ||
+ | </code> | ||
+ | <code java> | ||
+ | public interface QuestionInterface { | ||
+ | |||
+ | String getAnswer(); | ||
+ | |||
+ | String getQuestion(); | ||
+ | |||
+ | boolean isGoodAnswer(String answer); | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | **Voici un code pour tester un jeu.** | ||
+ | <code java> | ||
+ | package quizzPK; | ||
+ | |||
+ | import java.util.Scanner; | ||
+ | |||
+ | public class mainTestGame { | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | Scanner sc = new Scanner(System.in); | ||
+ | |||
+ | QuizInterface quiz = new Quiz(); | ||
+ | QuestionInterface q1 = new Question(" | ||
+ | QuestionInterface q2 = new Question(" | ||
+ | QuestionInterface q3 = new Question(" | ||
+ | |||
+ | quiz.addQuestion(q1); | ||
+ | quiz.addQuestion(q2); | ||
+ | quiz.addQuestion(q3); | ||
+ | GameInterface game = new Game(quiz); | ||
+ | |||
+ | game.startGame(); | ||
+ | |||
+ | while (game.isNotOver()) { | ||
+ | System.out.println(game.nextQuestion() + " : ") ; | ||
+ | String answer = sc.nextLine(); | ||
+ | boolean valid = game.setCurrentUserAnswer(answer); | ||
+ | if (!valid ) { | ||
+ | System.out.println(" | ||
+ | } | ||
+ | else | ||
+ | System.out.println(" | ||
+ | } | ||
+ | |||
+ | System.out.println(" | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | } | ||
+ | </ | ||
+ | === A Faire === | ||
+ | - **Modélisez** par groupe de 2 ou 3 étudiants, le jeu | ||
+ | - En particulier, | ||
+ | - Une fois que vous êtes d' | ||
+ | - **Développez** séparément | ||
+ | - Etudiant 1 : Développez la classe '' | ||
+ | - Tester votre classe '' | ||
+ | - Etudiant 2 : Développez la classe '' | ||
+ | - Tester votre classe '' | ||
+ | - Intégrez vos codes. | ||
+ | |||
+ | L' | ||
+ | |||
+ | |||
+ | /* | ||
+ | === Headline === | ||
+ | |||
- 10 questions sont posées au joueur | - 10 questions sont posées au joueur | ||
- Seules des questions auxquelles le joueur n'a jamais répondu juste lui sont posées. | - Seules des questions auxquelles le joueur n'a jamais répondu juste lui sont posées. | ||
Line 212: | Line 324: | ||
* V1C : Des difficultés de questions. | * V1C : Des difficultés de questions. | ||
* V1D : Persistance : les questions sont stockées dans un fichier, de même pour les parties. | * V1D : Persistance : les questions sont stockées dans un fichier, de même pour les parties. | ||
- | + | */ | |
- | ==== A faire ==== | + | /* ==== A faire ==== |
- Conception : V0 (Environ 1/2 heure intense) | - Conception : V0 (Environ 1/2 heure intense) | ||
Line 237: | Line 349: | ||
- 8-O reprendre la question précédente. | - 8-O reprendre la question précédente. | ||
- Si vous êtes ici et que vous en avez envie ajoutez une autre extension. | - Si vous êtes ici et que vous en avez envie ajoutez une autre extension. | ||
+ | */ | ||
+ | |||
+ | /* | ||
Line 251: | Line 366: | ||
</ | </ | ||
+ | */ | ||
+ | /* | ||
==== A RENDRE ==== | ==== A RENDRE ==== | ||
- Document | - Document | ||
Line 262: | Line 379: | ||
Voici le document qui sera utilisé pour l' | Voici le document qui sera utilisé pour l' | ||
+ | */ | ||
2019_2020/s3/concprogobjet/td/td6.1572717520.txt.gz · Last modified: 2019/11/02 17:58 by blay