les 7 differences

Transcription

les 7 differences
Université de CAEN
Campus II
UFR Sciences
Département d’Informatique
Licence Informatique
PROJET ANNUEL : EIAO
« LES 7 DIFFERENCES »
MAUDOUIT Ludovic
Responsable de projet :
Mme LAMBERT Françoise
Rapport de Projet
soutenu le 2/3 juin 2004
Université de CAEN
Campus II
UFR Sciences
Département d’Informatique
Licence Informatique
PROJET ANNUEL : EIAO
« LES 7 DIFFERENCES »
MAUDOUIT Ludovic
Responsable de projet :
Mme LAMBERT Françoise
Rapport de Projet
soutenu le 2/3 juin 2004
REMERCIEMENTS
Je tiens à remercier pour ce projet les programmeurs du site www.developpez.com et
notamment « necromance », « Gilles Louïse », « Trap D », « Greybird » ou bien encore
« ZiKo », leur aide pour la réalisation de mon logiciel m’a été extrêmement bénéfique, et
sans eux mon projet serait nettement de moins bonne qualité.
Je remercie également Mme Lambert Françoise, responsable du projet, pour ses conseils et
son suivi du projet tout au long de l’année.
Je remercie aussi Guillaume Zunino, élève de licence informatique, qui m’a initié à la
pratique de C++ Builder 6 et avec qui j’ai longuement discuté de mon projet étant donné que
nous étions tous les deux sans binôme. J’en profite également pour remercier les élèves de
licence informatique avec qui j’ai pu discuter des choix à faire pour mon logiciel.
De plus, je remercie mon amie Alicia ainsi que ma mère pour leurs relectures attentives de
mon rapport ainsi que pour leurs conseils.
Je remercie tout particulièrement les artistes : Nightwish, Rhapsody, Adema, Linkin Park,
Moby, Jean Michel Jarre, t.A.T.u et Prodigy, dont les musiques m’ont été indispensables
durant la réalisation de ce rapport et tout au long de la programmation de mon projet.
SOMMAIRE
INTRODUCTION
4
I.
5
II.
CERNER LE TRAVAIL DEMANDE
DEMANDE...
1. Visite à l’IMP de Saint Sever…
2. …les enfants rencontrés…
3. …me donnent l’idée de mon jeu
4. Synthèse du travail demandé
5
6
6
7
…POUR Y REMEDIER : « LES 7 DIFFERENCES
IFFERENCES »
8
A. UN LOGICIEL D’APPRENTISSAGE DE L’OBSERVATION ET DE LA
CONCENTRATION
1. Un logiciel…
2. …à deux utilisations…
3. …faisant travailler le sens de l’observation ainsi que la
concentration…
4. …à l’aide d’images
8
12
12
13
B. STRUCTURE DU PROGRAMME
1.
2.
3.
4.
Modèle environnemental
C++ Builder 6
Deux formes principales
Bref exemple de code
14
15
15
16
CONCLUSION
18
BIBLIOGRAPHIE
19
INTRODUCTION
Dans le cadre de la licence informatique, je devais réaliser un projet tout au long de l’année.
J’ai choisi le thème EIAO, c'est-à-dire Enseignement Intelligemment Assisté par Ordinateur.
Ce projet « annuel » a pour but de réaliser un logiciel pour les enfants de l’IMP de Saint
Sever. Celui-ci devra leur permettre de travailler des notions qui ne sont pas forcement
acquises comme comprendre un calendrier ou lire l’heure, mais aussi de leur faire travailler la
mémoire, la concentration, l’observation, la perspicacité etc.
Ce qui m’a poussé à me lancer dans la conception de ce projet c’est qu’il m’est apparu très
intéressant de travailler enfin sur un projet ayant un but concret, une finalité, contrairement à
d’autres que j’ai pu réaliser tout au long de mon cursus universitaire.
Dans le cas présent, le logiciel permet d’aider des jeunes handicapés, c’est à mon avis une
expérience des plus enrichissantes.
De plus la liberté relative de conception est très appréciable, c'est-à-dire qu’à part le fait de
devoir aider les jeunes, rien ne m’était imposé dans la conception du logiciel, j’avais une
totale liberté dans le choix du langage, dans le choix des exercices proposés etc. Une
autonomie me permettant de me diriger dans la direction que je voulais.
C’est un projet idéal pour pouvoir montrer mon imagination, ma créativité et mes propres
idées pédagogiques pouvant aider ces jeunes.
De plus, dans mon cas, étant seul pour réaliser ce projet, je n’avais pas de contraintes
supplémentaires, c'est-à-dire que je pouvais penser librement sans craindre que mon travail ne
déplaise à mon binôme. Cependant, il m’a clairement manqué du temps pour optimiser mon
logiciel même si cette optimisation ne se ressent pas du tout lors de l’exécution du logiciel.
Mon logiciel, « Les 7 différences », fait donc travailler l’élève sur l’observation ainsi que la
concentration et l’attention, qualités sans lesquelles on ne peut résoudre le problème posé, et
ce, à l’aide d’images modifiées voire créées par mes soins pour ainsi les adapter aux élèves.
En premier lieu nous allons nous pencher sur la problématique du travail demandé afin de
cerner les contraintes et mieux percevoir les objectifs, puis nous allons tenter de répondre à
ces objectifs en analysant mon logiciel (« Les 7 différences ») d’un point de vue fonctionnel
puis d’un point de vue technique.
I. CERNER LE TRAVAIL DEMANDE
DEMANDE…
Cette partie est une introduction pour présenter ce qui était attendu de ma part pour ce projet.
Je vais donc vous parler de l’IMP, de ma rencontre avec les jeunes et comment m’est venu
l’idée de mon jeu.
1. Visite à l’IMP de Saint Sever…
IMP signifie Institut Médico-Pédagogique, ces instituts reçoivent des enfants handicapés,
atteints de déficiences à prédominances intellectuelles. Ces instituts sont des internats, semiexternats ou externats.
Ce concept d’éducation spécialisée est apparu au début du XXème siècle mais n’a pris son
essor qu’après la Seconde Guerre Mondiale. Dans ces instituts les enfants bénéficient de
l’intervention d’éducateurs spécialisés, assistantes sociales, psychologues, rééducateurs etc.
L’IMP se situe dans le Calvados, plus précisément à Saint Sever, près de Vire. Depuis CAEN,
le trajet prend environ une heure.
Je pense qu’il était nécessaire d’aller à l’IMP rencontrer ces jeunes, en effet j’avais du mal à
m’imaginer comment celui-ci fonctionnait.
C’est donc accompagné de deux binômes que j’ai été visité l’IMP un jeudi matin. Dès notre
arrivée nous visitons les locaux nous intéressants, c'est-à-dire tous les locaux où les jeunes se
servent d’ordinateurs. De belles machines, des logiciels divers et variés, bref, tout indique une
salle info normale !
Ensuite nous parlons de nos projets avec l’éducatrice, Mme Ozenne, qui est la personne de
l’IMP avec laquelle nous sommes en contact pour ce projet. Nous lui posons donc tous
diverses questions mais pour moi beaucoup de points sont encore obscurs car à cet instant je
pense faire un QCM ainsi qu’un jeu de chronologie mais je m’aperçois que beaucoup de mes
amis en font déjà un et qu‘il existe de nombreux exercices du même type déjà installé à
l’IMP.
Enfin, nous rencontrons les jeunes.
2. …les enfants rencontrés…
Je commence donc à tester avec eux les logiciels des anciens étudiants mais aussi les jeux de
professionnels, certains ne marchent pas, d’autres sont beaucoup trop faciles pour les jeunes
car mal adaptés, d’autres encore sont trop difficiles, bref, peu de logiciels conviennent en fait
aux élèves sur la panoplie de ceux installés sur les machines de l’IMP.
Les jeunes que je rencontre ce jour là sont âgés d’environ 16-17 ans, cependant il y en a des
plus jeunes et des plus vieux. Comme il existe divers types de jeu, chacun y trouve malgré
tout plus ou moins son compte. Chacun navigue quand il veut durant son temps libre entre les
salles informatiques, les salles télés, ils sont donc bercés par les mêmes choses que nous
durant leurs activités.
C’est alors que je commence à parler avec eux de leurs passions, des émissions qu’ils
regardent, des dessins animés qu’ils aiment, du sport en général de leurs films préférés et je
m’aperçois qu’ils aiment exactement, à peu de choses près, les même choses que moi que ce
soit du point de vue cinématographique ou musical !
3. …me donnent l’idée de mon jeu
J’avais, comme je l’ai déjà dit, penser tout d’abord à un QCM et à un jeu de chronologie.
Mais au fur et à mesure ce choix me paressait de plus en plus banal étant donné ce qui avait
déjà été présenté les années précédentes. Je voulais vraiment réaliser quelque chose de plus
personnel.
C’est alors que je pense à réaliser un logiciel pouvant à la fois aborder tous ces thèmes mais
jouable par tous, et de plus, un logiciel qui n’a pas déjà été (ou très peu) réalisé. Un jeu de
différences ! Plusieurs thèmes au choix, comme le sport, le cinéma, les séries télés, avec une
difficulté variable selon l’image et de plus un jeu que je n’ai pas du tout vu lors de mon
séjour.
Ce qui me parait tout aussi intéressant dans ce logiciel c’est la manipulation d’images, je ne
suis pas programmeur dans l’âme mais j’adore faire du design, du graphisme, « les 7
différences » est donc une excellente opportunité pour allier les deux !
Enfin je tiens mon idée, il ne me reste plus qu’à la programmer.
4. Synthèse du travail demandé
Les consignes générales pour ce projet sont en fait de réaliser un logiciel fiable et robuste qui
tourne réellement, d’une simplicité d’utilisation y compris pour l’éducatrice.
Mon logiciel n’inclut pas de suivi du travail de l’élève par l’éducatrice, car cela n’aurait pas
réellement d’intérêt pour ce type de jeu. De même il n’y a pas de « correction pédagogique » à
proprement parler, seulement une solution de l’exercice. Cela est du au fait que je considère
mon logiciel comme un « passe-temps éducatif » entre des logiciels plus « sérieux ».
De plus, l’interface du logiciel doit contenir de belles images sans fond d’écran envahissant.
Les textes doivent être en gros et la police variée. L’information contenue sur l’écran doit être
simple et efficace.
En fait, il s’agit vraiment de créer un logiciel adapté à ces jeunes car les programmes déjà
existants sont soit pour jeunes enfants, donc beaucoup trop enfantins, puérils pour eux, soit
trop complexes et incompréhensibles.
Il faut donc innover, créer un cadre attrayant et adapté à leur âge tout en respectant leurs goûts
et leurs centres d’intérêt. Il faut essayer de leur faire comprendre des choses simples mais
souvent non acquises, comme les notions de différences, de temps, savoir lire un calendrier,
l’heure etc. Dans mon cas, faire travailler leur sens de l’observation me semblait intéressant
car cela amenait une concentration et une attention obligatoirement nécessaire pour satisfaire
à l’exercice, satisfaire à la recherche des sept différences.
Le choix du langage est lui aussi totalement libre, (l’IMP est sous Windows 98 et 2000 mais
bientôt quelques ordinateurs seront équipés de XP) en ce qui me concerne j’ai choisi C++
Builder 6 mais je reviendrai sur ce choix plus tard.
II. …POUR Y REMEDIER : « LES 7 DIFFERENCES »
A. UN LOGICIEL D’APPRENTISSAGE DE L’OBSERVATION ET DE LA
CONCENTRATION
Je vais donc vous présenter dans cette partie mon logiciel, « les 7 différences ». Nous allons
voir ce qu’il fait travailler, son fonctionnement ainsi que les diverses étapes du jeu.
1. Un logiciel…
« Les 7 Différences » est donc un logiciel réalisé afin d’aider les jeunes de l’IMP de Saint
Sever. Se reposant principalement sur les images, sa première fenêtre, avec le logo
représentant le jeu, invite l’élève à cliquer pour commencer le jeu.
J’ai évidemment beaucoup insisté sur le design, le graphisme pour cette fenêtre. En effet, elle
représente mon jeu donc cela était nécessaire. L’élève clique sur l’image pour véritablement
entrer dans le programme.
Ensuite il doit entrer son nom, son prénom, son adresse, son code postal et sa ville dans les
cases appropriées situées sur l’enveloppe. Cette idée m’est venue en parlant avec Mme
Lambert de leurs difficultés à écrire justement leur nom et leur adresse, c’est donc un moyen
parfait pour les inciter à apprendre à les écrire et de plus, savoir remplir une enveloppe.
S’il n’a pas rempli toutes les cases, un message le lui fait savoir. La couleur de fond de cet
écran est aléatoire, elle change à chaque démarrage du jeu.
La case « TON PRENOM » est importante pour le reste du jeu. En effet, les divers messages
apparaissant à l’écran, de type « veux-tu quitter ? », « veux-tu retourner à l’accueil ?» etc.,
font appel au prénom de l’élève. J’ai fais ce choix pour impliquer au maximum l’élève dans le
jeu.
L’éducatrice doit surveiller ce que tape l’élève dans cette fenêtre. Le test ne fait que regarder
si toutes les cases sont remplies, mais en aucun cas il ne peut vérifier si les informations que
l’élève a rentrées sont valables, il peut entrer n’importe quoi.
Ensuite l’élève est amené à choisir son thème d’exercice parmi les 4 thèmes suivants, cette
fenêtre est la page d’accueil :
• Le cinéma (29 images)
• Le sport (12 images)
• Les jeux vidéo (19 images)
• Les séries télés – les dessins animés (8 - 27 images)
L’élève, s’il le désire, peut également choisir de faire tous les thèmes, c'est-à-dire que les
images de tous les thèmes seront mélangées. Il aura donc une session composée de toutes les
images, soit au maximum environ 100 images.
Il choisit son thème en cliquant sur l’image correspondant à celui-ci. De plus il entre le
nombre d’images qu’il veut réaliser durant la session. Ces deux étapes peuvent également très
bien être réalisées par l’éducateur encadrant l’élève. Si l’élève (ou l’éducateur) veut lancer le
jeu sans vraiment faire attention au nombre d’images qui composera la session, alors il suffit
d’entrer par exemple « 1000 » dans la case correspondante. L’élève quittera alors le jeu quand
bon lui semble, ou quand le thème qu’il a choisi ne contient plus d’images. Par défaut, l’élève
fera une session de sept images.
Ensuite c’est le jeu qui est réellement lancé, l’élève arrive sur une fenêtre de jeu de ce type :
C’est la fenêtre principale de jeu, celle qui accompagnera l’élève tout au long de la session.
En fait, seules les images changeront, ainsi que la couleur du fond. Nous allons étudier,
détailler un peu cette fenêtre.
On a donc :
-
-
les deux images, celle de gauche est l’image originale et celle de droite
l’image modifiée (avec les sept différences)
les quatre boutons de jeu (décrits plus bas)
la consigne de l’exercice écrite en gros (en rouge ou noire) et centrée en
haut. C’est évidemment la même pour toutes les fenêtres.
une phrase indiquant à l’utilisateur combien de fautes il lui reste. Cette
phrase utilise en fait un compteur qui enregistre le nombre de clics de
l’utilisateur sur l’image, en dehors d’une zone de différences, c’est cela que
j’appelle une « faute ». Ce compteur est une sécurité : en effet, il empêche
l’élève de cliquer partout sur l’image pour trouver les différences car
lorsque le compteur arrive à « 0 » alors l’élève doit recommencer
l’exercice.
un menu en haut à gauche où l’utilisateur peut quitter le jeu (ce qu’il peut
également faire par la « croix » placée en haut à droite de toute fenêtre
Windows). Il peut modifier la couleur de fond du jeu autant de fois qu’il le
veut, pour y apporter un peu de changement. Il peut afficher la date et
l’heure, (case « Date/Heure ») c’est un petit gadget pour les plus grands. Il
peut aussi, avec la case « A Propos », afficher une petite fenêtre sur
l’auteur du logiciel et une petite description du logiciel.
La fenêtre principale de jeu contient donc quatre boutons :
C’est le bouton « ACCUEIL ». Quand l’utilisateur clique dessus, une
fenêtre de confirmation lui demande s’il désire vraiment retourner à
l’accueil, et quitter sa session. Rappel : l’accueil est la fenêtre où l’élève
choisit son thème.
Le deuxième bouton : « RECOMMENCER ». Celui-ci permet à l’élève de
recommencer l’exercice qu’il est en train de faire. De même, une fenêtre
de confirmation lui demande s’il souhaite recommencer l’exercice et donc
perdre ce qu’il vient de faire. Il peut bien sûr recommencer autant de fois
qu’il le souhaite.
Le bouton « SOLUTION ». Celui-ci est destiné à l’éducatrice. En effet, ce
bouton permet, à l’aide du mot de passe détenu par celle-ci, de montrer la
solution de l’exercice (= indiquer l’emplacement des sept différences). Ce
bouton est à utiliser à bon escient, au cas où l’élève n’arrive vraiment pas à
faire l’exercice. Sinon le jeu perd de son intérêt.
Le bouton « VALIDER ». Lorsque l’élève pense avoir trouvé les sept
différences il lui suffit de cliquer sur ce bouton pour passer à l’exercice
suivant. S’il n’a pas coché sept différences un message s’affiche lui indiquant
qu’il y en a encore à trouver.
On a également le bouton « RETOUR » :
Il permet de revenir à l’écran précédent. Il n’apparaît pas dans la fenêtre
principale de jeu car retourner en arrière n’a aucun intérêt entre les exercices.
Il apparaît juste dans les fenêtres de choix du thème et dans celle où
l’utilisateur entre son nom etc. Lorsque l’on clique sur celui-ci, un message
de confirmation s’affiche également.
L’élève joue en cliquant sur les parties qui lui semblent modifiées par rapport à l’image
originale. Lors d’un clic sur une partie non modifiée, le compteur de fautes diminue, et lors
d’un clic sur une différence le message « BRAVO ! » s’affiche.
On remarque que sur la vignette de droite le bâton a
disparu par rapport à la vignette originale de gauche.
Lorsque l’élève clique à l’emplacement de la différence,
le message « BRAVO ! » apparaît.
2. …à deux utilisations…
Mon logiciel a en fait la particularité de pouvoir se jouer de deux manières différentes. Sa
conception lui permet en effet de pouvoir être un jeu à la fois longue session, c'est-à-dire que
l’élève peut faire une vingtaine d’images (voire plus) et un jeu courte session car il peut aussi
faire quand bon lui semble une ou deux images sans réellement de but précis, juste pour se
divertir.
Le « choix » s’effectue à la page d’accueil lorsque l’utilisateur choisit le nombre d’images qui
vont composer sa session. Il n’y a pas de réel choix de type de session, tout dépend du nombre
d’images que l’utilisateur veut faire. Concrètement le jeu ne change pas, il reste identique,
mais le jeu peut à la fois être un véritable logiciel pédagogique de travail mais aussi un
divertissement, pourquoi pas entre deux logiciels plus sérieux.
3. …faisant travailler le sens de l’observation ainsi que la
concentration…
Comme je l’ai déjà dit, le principal but pédagogique des « sept différences » est de faire
travailler le sens de l’observation, la concentration ainsi que l’attention des élèves.
En effet, ces qualités sont nécessaires pour avancer dans le programme, une personne qui
n’est pas attentive ne remarquera jamais les détails clés indiquant les différences entre les
images. De même, si l’utilisateur n’observe pas correctement toute l’image il risque de passer
à coté d’une différence.
Ce jeu est donc adapté à tout le monde, car il est toujours bon de travailler son attention et son
sens de l’observation. Adulte ou enfant, handicapé ou non, chacun y trouvera sans aucun
doute son compte !
4. …à l’aide d’images
Mon logiciel repose bien sûr sur les images. Toutes les images des « sept différences » ont été
modifiées et adaptées par mes soins. En effet cela était nécessaire à mon avis pour que le
logiciel convienne aux jeunes.
Les images qui leur sont proposées d’habitude sont beaucoup trop enfantines. Je leur propose
ici des images très diverses, de cinéma, de jeux vidéo, de séries TV, de dessins animés, de
sports, donc qui correspondent à leurs goûts et qui rendent le logiciel beaucoup plus attractif.
De plus cela permet au logiciel d’être également accessible à d’autres utilisateurs étant donné
que les images ne sont pas ciblées à un certain type de personne mais bien à tout le monde.
On retrouve donc dans le logiciel :
-
pour la partie « cinéma » : des images de films et des affiches de films
comme Spider Man, Gladiator, Final Fantasy, Matrix, Shrek….
pour la partie « dessins animés / séries TV » : Friends, Dragon Ball Z,
Dawson, Astérix, Les Simpsons, Stargate…
pour la partie « sports » : du foot, de l’athlétisme, du basket, du hockey, du
tennis…
et pour les « jeux vidéo » : Tomb Raider, Warcraft 3, Zelda, Mario…
Ce travail de modification d’images a en fait été la partie la plus longue de mon projet, J’ai du
modifier une centaine d’images afin de rendre le jeu le plus attractif et le plus accessible
possible. Cela m’a permis de travailler sur des logiciels de retouche d’images (Micrografx
Picture Publisher 10, Paint) et de les connaître parfaitement.
Mon logiciel est, et je le regrette, « fermé ». Etant donné que j’ai à chaque fois sept
différences sur chaque image, il n’est pas forcément évident d’ajouter des images avec
seulement sept différences. C’est un choix de programmation, je n’ai vraiment pas eu le temps
de gérer l’ajout d’images, ni l’emplacement des labels (indiquant l’emplacement des
différences). Je le regrette mais j’ai fais mon possible pour que mon logiciel soit tout de même
assez complet pour qu’il puisse se jouer même sans ajouter d’images par la suite, et je pense y
être arrivé.
B. STRUCTURE DU PROGRAMME
Nous allons voir dans cette partie la structure du programme d’un point de vue beaucoup plus
technique.
1. Modèle environnemental
Deux acteurs s’articulent autour du système : l’éducateur et l’élève.
1
1
ELEVE
EDUCATEUR
•
L’élève résout l’exercice demandé, c'est-à-dire coche les sept différences. Il peut
également changer la couleur de fond. Il peut aussi bien sûr se servir des boutons qui
sont à sa disposition. Cependant, comme il n’a pas le mot de passe, le bouton
« SOLUTION » est destiné à l’éducateur.
•
L’éducateur n’a pas un rôle prépondérant dans ce logiciel, son rôle est d’encadrer
l’élève, lui donner la solution de l’exercice en cas de grosses difficultés etc.
L’éducateur ouvre aussi la session de l’élève (même si l’élève peut très bien réaliser
cela seul).
Echanges d’informations acteurs <--> système :
Résout l’exercice (cherche
les 7 différences)
Interagit avec la fenêtre de jeu
(couleur de fond + boutons)
ELEVE
Accompagne, aide, encadre l’élève
Ouvre une session
Donne la solution de
l’exercice (au besoin)
EDUCATEUR
Ma partie « Génie Logiciel » n’est pas très étoffée. Du fait que je n’ai pas utilisé de classes, je
ne peux pas présenter mon répertoire de classes ainsi qu’un diagramme UML de celles-ci.
J’ai fait le choix de ne pas utiliser de classes car cela ne m’a pas paru nécessaire dans ma
programmation aux vues de la conception du jeu. Cependant celles-ci auraient sans doute pu
apporter une optimisation certaine à mon jeu (surtout en terme de « poids »), même ci cela ne
se ressent absolument pas en jouant aux « 7 différences ».
Le manque de temps et le fait d’être seul ne m’a également pas poussé à m’engager dans la
conception de ces classes, mon programme fonctionnant parfaitement sans.
2. C++ Builder 6
Pour réaliser mon programme j’ai donc choisi le logiciel « C++ Builder 6 » de Borland.
Pour Laurent Berne, consultant d’un gros site français d’outils de programmation :
“ C++ Builder 6 est la parfaite alliance entre la simplicité d'un RAD (Rapid Application
Development) qui a fait ses preuves depuis des années, et l'utilisation du C++ sans
concession. La richesse et la qualité des composants de C++Builder 6 vous permet de vous
concentrer sur les parties de code vraiment utile et d'aller droit à l'essentiel. Par la diversité
des technologies utilisées C++Builder 6 vous permet de concevoir des applications fiables et
compatibles avec les standards les plus récents. C++Builder 6 est un outil précieux dans le
monde du développement Professionnel où vitesse et fiabilité sont de rigueur. Par sa richesse
de composants de qualité, il permet au développeur de se dégager des soucis d'interfaçage et
lui permet de se concentrer sur les parties de code vraiment utile, d'aller droit à l'essentiel.
Par la diversité des technologies utilisées, il permet au développeur de concevoir des
applications fiables et compatibles avec les standards les plus récents. Se priver de
C++Builder 6, c'est se priver d'un outil précieux dans le monde du développement où vitesse
et fiabilité sont de rigueur. ”
Ce logiciel m’a donc permis de programmer un logiciel pour répondre aux attentes de
madame Ozenne, et ce de manière assez peu complexe.
En effet, il permet de gérer facilement la création de formes diverses ainsi que les boutons et
menus nécessaires pour faire un tel projet. Bien évidemment il fallait tout de même modifier
le code à la main pour y insérer ses propres choix, et faire ses modifications.
3. Deux formes principales
Mon logiciel repose sur trois formes principales. Je parle de « forme » car c’est l’appellation
donnée à une fenêtre par C++ Builder 6.
La forme qui correspond à la fenêtre principale de jeu est la plus importante. C’est en effet
celle que l’on rencontre le plus souvent dans le jeu, car elle est utilisée par toutes les images.
C’est la même forme mais avec des images différentes à chaque fois. Le code est donc le
même à chaque exercice, seuls les images et l’emplacement des labels (un label pour une
différence) changent.
La seconde forme principale correspond au choix du thème par l’utilisateur. C’est cette forme
qui créée la session que va faire l’utilisateur en fonction de son choix de thème. Lors du clic
sur l’image représentant le thème choisi, cette forme ajoute toutes les images du thème dans
une liste. La session se déroule ensuite en appelant aléatoirement les formes ajoutées dans
cette liste. Cette fenêtre est régulièrement appelée lorsque l’utilisateur veut changer de thème
etc.
On a deux autres formes dans le jeu mais celles-ci ne sont pas aussi importantes. Il s’agit de la
première fenêtre rencontrée qui n’est autre que l’écran d’accueil donc une simple image.
La seconde forme est celle où l’utilisateur rentre son nom etc. sur l’enveloppe. A part le fait
que le fond d’écran change aléatoirement à chaque lancement du jeu, rien de compliqué dans
la programmation de cette forme.
4. Bref exemple de code
Exemple du code : lorsque l’utilisateur clique sur l’image en dehors d’une zone de différences
(l’utilisateur clique en l’occurrence sur “Image2”)
void __fastcall TForm4::Image2Click(TObject *Sender)
{ //ici l'utilisateur a cliqué sur l'image en dehors d'une zone de différences
Label10->Caption = AnsiString(--Image2->Tag); //on diminue donc le compteur
if (Image2->Tag == 0 )//si le compteur arrive à 0
{
//alors l'utilisateur a perdu
Application->MessageBoxA("
TU AS FAIT TROP D'ERREURS,
RECOMMENCE !
", "ATTENTION", MB_OK | MB_ICONSTOP);
//on envoie un message lui disant qu'il doit recommencer l'exercice
Image2->Tag = 5; // On remet le compteur à 5
Label10->Caption = AnsiString(Image2->Tag);
Label1->Caption = " ";
Label2->Caption = " "; //et on réinitialise le tout (les labels et le compteur)
Label3->Caption = " ";
Label4->Caption = " ";
Label5->Caption = " ";
Label6->Caption = " ";
Label7->Caption = " ";
}
}
Comme on peut le voir ce code n’est pas extrêmement compliqué. Tout se déroule en agissant
sur les labels. Lorsque l’utilisateur clique sur un label, on y fait apparaître le message
« BRAVO ! » de cette manière :
void __fastcall TForm4::Label1Click(TObject *Sender)
{
Label1->Caption = "BRAVO !";
}
Ensuite, recommencer l’exercice revient en fait à faire disparaître l’affichage « BRAVO ! » de
tous les labels. Evidemment on ajoute à cela quelques tests et des messages.
Le code source des « sept différences » (ainsi que le rapport etc.) est disponible à l’adresse
suivante : http://ludovic.maudouit.free.fr/ProjetAnnuel.
Cependant, le code complet ne sera disponible que lorsque le projet sera entièrement terminé
c'est-à-dire vers le 1er juin 2004, avant la soutenance.
CONCLUSION
En programmant « les sept différences » je pense avoir réussi à créer un logiciel qui permettra
d’aider les jeunes de l’IMP. Sa simplicité d’utilisation, son ergonomie ainsi que son design
très clair répondent en tous points aux attentes exigées.
Programmer ce jeu m’a réellement plu et je suis fier de l’avoir conçu étant donné mon niveau
général en programmation. La motivation était présente tout au long de la conception ce qui
m’a fortement incité à réaliser quelque chose de fonctionnel et de ludique.
Mon seul regret est le fait de ne pas avoir pu faire de classes. Cependant je ne me suis pas
penché plus que ça sur le problème étant donné que mon programme tourne tout aussi bien
sans. J’ai clairement manqué de temps, peut être m’y suis-je pris trop tard, mais je n’avais en
plus pas de binôme pour m’aider. D’un point de vue optimisation du code, les classes auraient
sûrement permis à mon logiciel d’être beaucoup plus léger même si son poids actuel n’est pas
non plus excessif pour un jeu de ce type, étant donné le nombre d’images qu’il contient.
Mon logiciel contient une centaine d’images, j’en ai ajouté autant que le temps me le
permettait afin de le rendre le plus complet possible. J’aurai disposé de temps supplémentaire,
j’aurai bien évidemment ajouté d’autres images. Cependant le nombre d’images actuel permet
d’occuper l’élève pendant de longues heures à n’en pas douter !
La création du jeu « les 7 différences » m’a permis d’allier ma passion pour le graphisme et la
programmation. La partie retouche d’images m’a pris énormément de temps, je connais donc
maintenant le logiciel Micrografx Picture Publisher 10 (un Photoshop moins cher) aussi bien
(voire même sûrement mieux) que C++ Builder 6. Apprendre à me servir de ces deux
programmes a élargit considérablement mes connaissances ainsi que mes compétences en
informatique.
BIBLIOGRAPHIE
Tutoriaux C++ divers :
“Guide du developpeur Borland C++ Builder 6 pour Windows”
Sams – “Borland C++ Builder 6 Developer's Guide”
Sites C++ divers :
Divers autres tutoriaux en ligne sur :
http://www.developpez.com/cours/
http://www.programmersheaven.com/
http://www.allprog.com/Sommaire.htm
http://www.cppfrance.com/index.aspx
ABSTRACT
The aim of the projet cis to do a software which will help the young handicapped boys of the
« IMP » of Saint-Sever. It must be a reliable and ergonomic software.
The software must allow those handicapped boys to understand simple but unknown things
like notions of calendar, time and duration.
All those things must take place in an attractive frame with few complicated words, but the
whole must not be too childish because IMP’s pupils are 15 to 20 years old and their hobbies
are like the hobbies of young people of the same age, like cinema, video games, cartoons.
The goal of my software is to improve the pupils’observation and concentration skills.
Entitled “The 7 differences” my program consists in searching the seven differences between
two pictures that have been modified by me to adapt them in need and at the taste of the
pupils. The game consists in clicking on the parts of the picture to reach the next picture of the
session. Pupil can choose between many themes like cinema, video games, cartoons and
sports. He can also begin the exercise again and at every moment, the educator can give, with
a password, the solution of the exercise to the pupil by clicking on a button.
Pupil can choose how many pictures will compose the session. There are approxymately a
hundred pictures. So the program could serve as a pastime or as a full software.
RESUME
Dans le cadre de la licence informatique, je devais réaliser un projet tout au long de l’année.
J’ai choisi le thème EIAO, c'est-à-dire Enseignement Intelligemment Assisté par Ordinateur.
Ce projet « annuel » a pour but de réaliser un logiciel pour les enfants de l’IMP de Saint
Sever.
Ce qui m’a poussé à me lancer dans la conception de ce projet c’est qu’il m’est apparu très
intéressant de travailler enfin sur un projet ayant un but concret, une finalité, contrairement à
d’autres que j’ai pu réaliser tout au long de mon cursus universitaire. Dans le cas présent, le
logiciel permet d’aider des jeunes handicapés, c’est à mon avis une expérience des plus
enrichissantes.
C’est un projet idéal pour pouvoir montrer mon imagination, ma créativité et mes propres
idées pédagogiques pouvant aider ces jeunes.
Mon logiciel, « Les 7 différences », fait donc travailler l’élève sur l’observation ainsi que la
concentration et l’attention, qualités sans lesquelles on ne peut résoudre le problème posé, et
ce, à l’aide d’images modifiées voire créées par mes soins pour ainsi les adapter aux élèves.
Le but est donc de cliquer sur les sept différences de l’image pour ensuite passer à l’image
suivante. L’élève peut à tout moment recommencer l’exercice, retourner à l’accueil.
L’éducatrice, en cas de difficultés rencontrées par l’élève, peut lui donner la solution à l’aide
d’un mot de passe.