User Tools

Site Tools


2013_2014:s2:td:etudedecas:etape2

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
2013_2014:s2:td:etudedecas:etape2 [2014/05/07 08:41]
blay [Retour sur l'interface de Match]
2013_2014:s2:td:etudedecas:etape2 [2014/05/21 18:59] (current)
blay [Des codes fonctionnels]
Line 23: Line 23:
  
 <box round rgb(185,​211,​238) rgb(220,​226,​255) 95%|A Faire :  > <box round rgb(185,​211,​238) rgb(220,​226,​255) 95%|A Faire :  >
-  * Comprenez brièvement ces codes  +  * Comprenez brièvement ces modèles et les interfaces 
-  * Pour exécuter ​ces codes :  +  * Pour exécuter ​les codes :  
-       ​- Sauvegarder le {{:​2013_2014:​s2:​td:​etudedecas:​pistepk.jar|.jar}} dans un répertoire. +        * Soit sous JCreator en récupérant {{:​2013_2014:​s2:​td:​etudedecas:​escrimes2t2014.zip|l'​archive}} puis   ​[[2013_2014:​s2:​td:​etudedecas:​etape2:​Jcreator|constuire un projet JCreator]] 
-       ​- Sauvegarder le {{:​2013_2014:​s2:​td:​etudedecas:​testpiste.zip|.zip}} (exemple simple d'​utilisation) dans le même répertoire. +        * Soit "à la main"  
-       ​- De-ziper le fichier d'​exemple : unzip testPK.zip si besoin mais un double clique devrait suffire. +          ​- Sauvegarder le {{:​2013_2014:​s2:​td:​etudedecas:​pistepk.jar|.jar}} dans un répertoire. 
-       ​- Compilation de l'​implémentation de l'​interface :  +          - Sauvegarder le {{:​2013_2014:​s2:​td:​etudedecas:​testpk.zip|.zip}} (exemple simple d'​utilisation) dans le même répertoire. 
-          * ''​javac -cp pistePK.jar pistePK/​testPK/​Match1.java''​ ((On pourrait faire mieux en sauvegardant les fichiers .class dans un autre répertoire,​ nous visons simplement à vous conduire à comprendre les codes.)) +          - De-ziper le fichier d'​exemple : unzip testPK.zip si besoin mais un double clique devrait suffire. 
-       ​-  Compilation de la classe principale de test :  +          - Compilation de l'​implémentation de l'​interface :  
-          * ''​javac -cp .:​pistePK.jar pistePK/​testPK/​TestPist.java ''​ +                 ​* ''​javac -cp pistePK.jar pistePK/​testPK/​Match1.java''​ ((On pourrait faire mieux en sauvegardant les fichiers .class dans un autre répertoire,​ nous visons simplement à vous conduire à comprendre les codes.)) 
-       ​-  Exécution de la classe principale de test :  +           ​-  Compilation de la classe principale de test :  
-          * ''​java -cp .:​pistePK.jar pistePK.testPK.TestPist''​  +                * ''​javac -cp .:​pistePK.jar pistePK/​testPK/​TestPist.java ''​ 
-          * Chaque interface représente une machine. Dès qu'il y a une différence de 5 points entre 2 joueurs dans les 3 minutes, le joueur qui a le plus marqué a gagné. Puis pendant 2mn c'est le premier qui touche qui gagne. Enfin s'il y a toujours égalité, au validate, on tire au sort. ...  Pour modifier le nombre de points, comme nous n'​avons pas la machine réelle, c'est vous qui cliquez sur addPoint.+           ​-  Exécution de la classe principale de test :  
 +               ​* ''​java -cp .:​pistePK.jar pistePK.testPK.TestPist''​  
 +      * Chaque interface représente une machine. Dès qu'il y a une différence de 5 points entre 2 joueurs dans les 3 minutes, le joueur qui a le plus marqué a gagné. Puis pendant 2mn c'est le premier qui touche qui gagne. Enfin s'il y a toujours égalité, au validate, on tire au sort. ...  Pour modifier le nombre de points, comme nous n'​avons pas la machine réelle, c'est vous qui cliquez sur addPoint.
           * Quand l'​arbitre pense que c'est ok, il clique sur //​Validate//​. (Ne pas oublier de relancer le chrono si besoin).           * Quand l'​arbitre pense que c'est ok, il clique sur //​Validate//​. (Ne pas oublier de relancer le chrono si besoin).
           * Quand le round est terminé, par //next//, l'​arbitre passe au round suivant. Chaque match se compose de 3 rounds.           * Quand le round est terminé, par //next//, l'​arbitre passe au round suivant. Chaque match se compose de 3 rounds.
Line 42: Line 44:
  
 {{:​2013_2014:​s2:​td:​etudedecas:​pistepk.zip| Archive des codes livrés}} {{:​2013_2014:​s2:​td:​etudedecas:​pistepk.zip| Archive des codes livrés}}
 +
 +{{:​2013_2014:​s2:​td:​etudedecas:​piste.zip|Certains étudiants travaillent à présent avec eclipse, alors voici les codes sous forme d’archive de projet Eclipse en 1.6.}}
 +
 ==== Retour sur l'​interface de Match ==== ==== Retour sur l'​interface de Match ====
  
Line 93: Line 98:
 public class Match implements MatchInterface { public class Match implements MatchInterface {
 </​code>​ </​code>​
 +//Rappel : une classe qui implémente une interface doit implémenter toutes les méthodes définies par l'​interface.//​
  
 <box round rgb(185,​211,​238) rgb(220,​226,​255) 95%|A Faire :  > <box round rgb(185,​211,​238) rgb(220,​226,​255) 95%|A Faire :  >
Line 99: Line 105:
 </​box>​ </​box>​
  
-//Rappel : une classe qui implémente une interface doit implémenter toutes les méthodes définies par l'​interface.//​+
 ==== Approche incrémentale ==== ==== Approche incrémentale ====
  
Line 105: Line 111:
  
 <box round rgb(185,​211,​238) rgb(220,​226,​255) 95%|A Faire :  > <box round rgb(185,​211,​238) rgb(220,​226,​255) 95%|A Faire :  >
-  - Commencez par créer une piste et tester +  - Commencez par créer une piste et tester ​pour être sûr que vous allez savoir l'​intégrer dans votre propre algorithme. 
-  - Par exemple, vous pouvez reprendre les codes fournis ​pour être sûr que vous allez savoir ​l'intégrer.+  - Par exemple, vous pouvez reprendre les codes de tests fournis ​à l'étape 1 du TD, Test..
 </​box>​ </​box>​
  
-<code java> 
-  FencingPiste pist1 = new FencingPiste(1);​ 
-  FencingPiste pist2 = new FencingPiste(2);​ 
-  Match m1 = new Match();//​attention à bien mettre vos propres parametres dans les constructeurs et votre propre type "​Match"​ 
-  Match m2 = new Match(); 
-  Match m3 = new Match(); 
-  
-  pist1.addMatch(m1);​ 
-  pist1.addMatch(m2);​ 
-  pist2.addMatch(m3);​ 
-  
-  pist1.start();​ 
-  pist2.start();​ 
-  
-  while (!(pist1.isOver() && pist2.isOver()) ​ ) { 
- Thread.sleep(6000);​ 
- System.out.println("​pas fini-------------------"​);​ 
-  } 
-  
-  System.out.println("​gagnant de m1" + m1.getWinner());​ 
-  System.out.println("​gagnant de m2" + m2.getWinner());​  
-  System.out.println("​gagnant de m3" + m3.getWinner());​  
-  
-/* 
- * Quand tous les matchs ont eu lieu sur toutes les pistes on re-initialise les match 
- * puis on ré-affecte les pistes. 
- * On ferme les pistes inutiles 
- */ 
- ​pist1.clear();​ 
- ​Match1 m4 = new Match1(); 
- ​pist1.addMatch(m4);​ 
- ​pist1.start();​ 
-// On ferme l'​autre piste 
- ​pist2.close();​ 
-</​code>​ 
  
 ==== Intégration : Lancement d'une compétition ==== ==== Intégration : Lancement d'une compétition ====
2013_2014/s2/td/etudedecas/etape2.1399444863.txt.gz · Last modified: 2014/05/07 08:41 by blay