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
gggggggg
▀ ▀ ▀ ▀ ▀
▀ ▀ ▀ ▀ ▀
▀ ▀ ▀ ▀ ▀
▀ ▀ ▀ ▀ ▀
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
Gestion du projet
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
Greffe du jeu & premier livrable

Fichier des scores
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
Greffe du fichier des scores
et deuxième livrable
Difficultés
-
Environnement de programmation de javascool non optimal pour :
- l'absence de mode recherche
- le reformatage du code, l'absence d'auto-complétion
- Python, dont l’écriture est identé nous semble plus aisé à relire
-
Les pistes de recherche pour améliorer la production
- Positionnement des diverses fenêtres lors de l’exécution
- Une autre gestion du score
-
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
-
La difficulté de gestion de l’affichage graphique
- Entre java et javascool, la définition des permissions (public, private) qui rend la documentation java parfois difficilement transférable sur javascool
Conclusion
-
Nous aurions dû davantage prendre en considération la gestion du temps et l’interface graphique utilisant javascool.
-
Très bonne expérience d'un travail collaboratif
-
Cette réalisation nous a permis d’approfondir la gestion d'événement du type "clics de souris", la connaissance d’un langage objet, la manipulation de fichiers.
-
Nous envisageons de reprendre ce projet en Python afin de comparer les deux langages sur les points précis qui nous ont posés des difficultés
- Notre production en javascool/java (de la proglet embarqué jusqu’à la réalisation) semble accessible à des élèves jusqu'au premier livrable, c'est à dire en restant bien dans l'environnement des proglets.
- Pour trouver des projets à supports ludiques originaux, le site MAth.en.Jeans semble prometteur.
Copy of deck
By Patrick BOISSIÈRE
Copy of deck
- 1,264