Projet ISN

AEFE 2015

Damier magique

Lycée Claudel d’Ottawa

Auteurs : Patrick Boissière, Yvan Ferrot et Ernesto Ramos

du 24 avril au 17 mai 2015. 

  •  On considère un damier rectangulaire de taille n par m et de cases blanches.
  •  La sélection d’une case change sa couleur ainsi que les cases voisines horizontales et verticales.
  • Le but du jeu est de passer d’un damier initialement blanc à un damier de couleur bleue.
  • Le programme devra mesurer la performance du joueur en comptant le nombre de coups et le pourcentage de cases bleues.

Présentation du jeu

Créer une version logicielle du jeu du « damier magique »

Damier blanc

Case 3x4 selectionnée

Case 1x4 selectionnée

YF : - Interface graphique du jeu

       - Mesurer le temps de jeu

       - Exporter le jeu dans javaprog

 

 

Organisation

▀ ▀ ▀ ▀ ▀

 ▀  ▀

▀ ▀ ▀ ▀

 ▀ ▀ ▀

ER : - Écriture dans un fichier

       - Tableau score en mode console 

       - Jeu en mode console

 

PB : - Jeu en mode graphique

        - Insertion de boîtes de dialogue

        - Insertion de fenêtres graphiques

        - Insertion de champs de texte

Finaliser   le   jeu   en   mode   console   et   graphique

Score texte

_ _ _ _

_ _ _ _

Score graphique

_ _ _ _

_ _ _ _

Valider score

Nouveau damier

Terminer

 

Damier

Enfin, le jeu qui fonctionne !

Difficultés

  1. Environnement de programmation de javascool non optimal
    • Absence de mode recherche
    • Reformatage du code pas optimal
    • Python, dont l’écriture est identé nous semble plus aisé à relire
       
  2. Les pistes de recherche pour améliorer la production
    • Positionnement des diverses fenêtres lors de l’exécution
       
  3. La gestion du tableau en mode string, qui rend difficile l’actualisation des données numériques comme la tentative d’intégrer un temps de calcul
  4. La difficulté de gestion de l’affichage graphique
  5. Entre java et javascool, la définition des permissions (public, private) qui rend la documentation java parfois difficilement transférable sur javascool

Difficultés rencontrées

Interface graphique. Réalisation du damier

Utilisation de la proglet codagePixels

  • accès à des outils de représentations graphiques 
  • manipuler une image de résolution variable
  • procédures hline (lignes horizontales) et vline (lignes verticales)
  • fonction rect pour colorier une des cases de ce damier 
  • Impossibilité de créer en javascool une nouvelle proglet contenant à la fois codagePixels et javaprog
  • Impossibilité de faire communiquer les variables du runnable vers le programme principal 

Solution proposée

  • Importer les fonctions de la proglet codagePixels dans le programme compilé sous javaProg
  • Utiliser les classes pour les passer en méthode

Évolution

Avec proglet codage pixels

Avec importation de fonctions

Réalisation du score

Imperfections constatées  (corrigées ultérieurement) :

  • Classement avec fusion des résultats de scores pour un damier nxp et pxn
  • Classement avec complétion des scores < 10 
  • Limitation du jeu à un damier 9x9 (score avec au maximum deux chiffres)
  • Tableau est en mode string 

Ce module demande le nom du joueur, le nombre de colonnes et de lignes et crée un tableau avec quelques cases vides

Le programme calcule le nombre de cases noires, affiche le résultat et l'enregistre sur un fichier score (1), lit le contenu du fichier et le modifie après triage (2)

(1)                    (2)

Programmation Objet

Patrick

Conclusion

  • Nous aurions dû davantage prendre en considération la gestion du temps et l’interface graphique utilisant javascool.
     
  • Cette réalisation nous a permis d’approfondir la connaissance d’un langage objet.
     
  • Nous envisageons de reprendre ce projet en Python afin de juger l’accessibilité de l’écriture du programme par des élèves.
     
  • Notre production en javascool/java (de la proglet embarqué jusqu’à la réalisation) ne nous semble pas imaginable pour un public d’élèves débutants.

deck

By isnclaudel

deck

  • 924