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
-
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
-
Les pistes de recherche pour améliorer la production
-
Positionnement des diverses fenêtres lors de l’exécution
-
Positionnement des diverses fenêtres lors de l’exécution
- 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
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