JEU ÉDUCATIF POUR ENFANTS - APPRENDRE LES CHIFFRES

Signaler
Messages postés
94
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2013
-
Messages postés
20
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
3 mai 2013
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51991-jeu-educatif-pour-enfants-apprendre-les-chiffres

Messages postés
20
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
3 mai 2013

Pour la synthèse vocale avec VBA applicatif c'est très facile du moins avec Office 97 car il y a les agents qui sont intégrés

Voici un exemple en VBA Word 97 que j'ai créé à partir de l'aide disponible chez Microsoft
*********************************************
Option Explicit
Public Abscisse, Ordonnée As Integer
Public Objet_Personnage As AgentObjects.Agent
Public Caractère_Personnage As AgentObjects.IAgentCtlCharacter
Public Personnage As String
Public Choix_Personnage As Variant
Public Assistant_Début As Integer
Sub Changer_Personnage()
If Personnage <> "" Then Au_revoir_Personnage
Personnage = ""
Call Lecture_Doc
End Sub
Sub Lecture_Doc()
Randomize
If Personnage <> "Merlin" And Personnage <> "Robby" And Personnage <> "Peedy" And Personnage <> "Genie" Then Call Préparation_Personnage
Dim Phrase_à_Lire As String
Abscisse Abscisse * Rnd(Abscisse) * 10: Ordonnée Ordonnée * Rnd(Ordonnée) * 5
If Abscisse < 10 Or Abscisse > Application.UsableWidth Then Abscisse = 50:
If Ordonnée < 10 Or Ordonnée > Application.UsableHeight Then Ordonnée = 25
Phrase_à_Lire = Selection.Range.Text
If Phrase_à_Lire < "A" Then Phrase_à_Lire = "Bonjour, je suis " & Personnage & "." & Chr$(13) & " il n'y a rien à lire ici ??Ou bien?"
With Caractère_Personnage
.Show
.MoveTo x:=Abscisse, y:=Ordonnée
.Play Animation:="Read"
.Speak Text:=Phrase_à_Lire
End With
End Sub
Public Sub Préparation_Personnage()
Dim Existe As Variant
Assistant_Début = Assistant.Visible
Assistant.Visible = True
Set Choix_Personnage = Assistant.NewBalloon
With Choix_Personnage
.Heading = "Choisir le personnage de votre préféré "
.Text = "Merlin c'est Merlin l'enchanteur" & Chr$(13) & "Robby c'est le robot qui parle" & Chr$(13) & "Peedy c'est un perroquet bavard" & Chr$(13) & "Genie c'est le génie des mille et une nuits"
.Labels(1).Text = "Merlin"
.Labels(2).Text = "Robby"
.Labels(3).Text = "Peedy"
.Labels(4).Text = "Genie"
Personnage = .Labels(.Show).Text
End With
If Personnage <> "Merlin" And Personnage <> "Robby" And Personnage <> "Peedy" And Personnage <> "Genie" Then Personnage = "Merlin"
Existe = Dir(Environ("Windir") & "\msagent\chars" & Personnage & ".acs")
If UCase(Existe) <> UCase(Personnage & ".acs") Then
MsgBox ("Le personnage de votre choix n'est pas correctement installé." & Chr$(13) & "Ce sera Merlin qui sera utilisé.")
Personnage = "Merlin"
Existe = Dir(Environ("Windir") & "\msagent\chars" & Personnage & ".acs")
If UCase(Existe) <> UCase(Personnage & ".acs") Then
MsgBox ("Votre système ne contient pas de lecteur vocal.")
Exit Sub
End If
End If
Set Objet_Personnage = New AgentObjects.Agent
Objet_Personnage.Connected = True
Objet_Personnage.Characters.Load CharacterID:=Personnage, LoadKey:=Personnage & ".acs"
Set Caractère_Personnage = Objet_Personnage.Characters(CharacterID:=Personnage)
End Sub
Public Sub Au_revoir_Personnage()
With Caractère_Personnage
.Show
.Speak Text:="Au revoir. J'espère que me choisirez la prochaine fois! Gros bisous de " & Personnage
.Play Animation:="Wave"
End With
Objet_Personnage.Characters.Unload Personnage
Set Caractère_Personnage = Nothing
Set Objet_Personnage = Nothing
Assistant.Visible = Assistant_Début
End Sub

***********************************
Pour utiliser la lecture de ce document il faut installer quelques personnages pour Windows 98 et les programmes audio.

Sous Windows XP tout est installé par défaut avec le personnage Merlin.
Peedy le perroquet, Robby le robot, Genie le génie, sont disponibles sur le site de PC mou de Guillaume Porte à la rubrique fenêtre.
Lhttsfrf.exe
Il faut installer, pour avoir une voix française disponible sur le poste ainsi que les modules suivants :
Msagent.exe Peedy.exe Robby.exe Genie.exe Merlin.exe Spchapi.exe Agt040c.exe

Dans ce document il y a des macros qui doivent s’exécuter correctement. Pour cela il faut autoriser Word de le faire. Mettre le niveau de sécurité minimum par le menu Outils / Options / Sécurité.

Ensuite ajouter aux boutons un bouton associé à la macro Lecture. Lecture Doc

Cette Macro peut être utilisée dans tous les produits Office avec très peu de modification


Pour que le personnage puisse lire il faut sélectionner un texte et que le premier caractère de la sélection soit une lettre de l’alphabet. Ensuite appuyer sur le bouton lecture

Lorsqu’il y a des signes opératoires comme le système considère que tout ce qui suit sont des nombres. Il traduit les caractères en chiffre et dicte un nombre assez grand.

Suivant les personnages l’intonation est plus ou moins bien respectée


On peut aussi installer la voix sur le système avec cet outil :
"Méga blocnotesISpGaItPoSp.exe" et "Méga Blocnotes 5.4 Update.exe"

Ou encore avec cet outil : RSSolo4FrenchVirginie.exe

La voix Virginie, remplace la voix américaine Sam disponible par défaut dans le système XP

Avec Word 2007 les personnages animés ayant disparus (Objet Assistant) il faut reprendre le programme avec un menu qui se passera de la partie NewBalloon etc.


Voici un autre exemple pour avoir une idée des mouvements disponibles avec les personnages (repris à partir des exemples Microsoft)
*************************************************
Option Explicit
Public Objet_Personnage As AgentObjects.Agent
Public Caractère_Personnage As AgentObjects.IAgentCtlCharacter
'Const Personnage = "Genie"
Public Personnage As String
Public Sub Préparation_Personnage()
'Début:
Personnage = InputBox("Choisir le personnage de votre choix " & Chr$(13) & "Merlin" & Chr$(13) & "Robby" & Chr$(13) & "Peedy" & Chr$(13) & "Genie", "Choix du lecteur", "Merlin")
'Choix:
'On Error Resume Next
Set Objet_Personnage = New AgentObjects.Agent
Objet_Personnage.Connected = True
Objet_Personnage.Characters.Load CharacterID:=Personnage, LoadKey:=Personnage & ".acs"
'On Error GoTo Erreur_Choix
Set Caractère_Personnage = Objet_Personnage.Characters(CharacterID:=Personnage)
'Exit Sub
'Erreur_Choix:
'MsgBox ("Votre personnage n'est pas installé ou il y a une erreur dans l'orthographe" & Chr$(13) & "Ce sera donc Merlin le personnage choisit.")
'On Error GoTo 0
'GoTo Choix
End Sub

Public Sub Présentation_Personnage()
With Caractère_Personnage
.Show
.Play Animation:="Greet"
.Play Animation:="Restpose"
.Speak Text:="Bonjour!"
.Play Animation:="Announce"
.Speak Text:="Je m'apelle" & Personnage & "."
.Play Animation:="Pleased"
.Speak Text:="Tu as l'air content de me voir."
.MoveTo x:=250, y:=500
.Speak Text:="Je te montre un truc"
.Play Animation:="Hide"
.Play Animation:="Show"
.Speak Text:="quelques animations."
.Speak Text:="Voici une baguette magique."
.Play Animation:="DoMagic1"
.Play Animation:="Restpose"
.Play Animation:="DoMagic2"
.Play Animation:="Pleased"
.Play Animation:="Restpose"
.Play Animation:="Suggest"
.Speak Text:="Quand j'ai une suggestion, "
.Speak Text:="je montre une ampoule allumée!"
.Play Animation:="Pleased"
.Play Animation:="Restpose"
.Speak Text:="Je sais lire, "
.Play Animation:="Read"
.Speak Text:="et écrire."
.Play Animation:="Write"
.Play Animation:="Pleased"
.Play Animation:="Restpose"
.Speak Text:="Merci."
.Play Animation:="Wave"
.Speak Text:="Au revoir."
.Hide
End With
End Sub

Public Sub Au_revoir_Personnage()
Objet_Personnage.Characters.Unload Personnage
Set Caractère_Personnage = Nothing
Set Objet_Personnage = Nothing
End Sub
*********************************************************
En VB il suffira de reprendre les modules Office 97 et les intégrés dans le répertoire du programme.


Bonne programmation.

Salutations
Messages postés
9
Date d'inscription
jeudi 17 décembre 2009
Statut
Membre
Dernière intervention
25 juillet 2010

merci à vous tous et surtout à delattre13 pour vos commentaires. Grace à vous, delattre13, je vais modifier ce petit jeu en proposant le clavier comme interface en plus de la souris. JŽ avais déjà dans lŽ idée de créer dŽ autres jeux sur le même principe: lettres, formes, couleurs, ... Et je suis admiratif du travail que vous aviez fait sur votre ancetre car il était bcp plus difficile de programmé à lŽ époque. Bravo! Quand à mon fils il adore aussi jouer etentendre la voix de son papou sur le pc et voir ses photos lorsquíl donne la bonne réponse ;-) mais jŽ aimerais faire le jeu de calcul avec un module de synthese vocale. Si qqun peut mŽ aider sur ce point ?... Merci encore.
Messages postés
20
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
3 mai 2013

Merci beaucoup pour votre gentillesse et votre disponibilité
Ce nouveau lien fonctionne.
Pour le jeu il est opérationnel et très simple.

Sur CPC464 avec synthétiseur vocal j'ai écrit un programme pour bébé qui lui permettait d'utiliser le clavier avec diverses fonctionnalités et dès 3 mois il a eu accès à l'ordinateur au début dans les bras puis dès qu'il a commencé à marcher il s'en servait tout seul.
1 - On tape une touche du clavier et ça affiche (en majuscule et minuscule pour les lettres) et prononce le caractère saisi ou cela affiche le code et prononce le nom de la touche pour les flèches de direction, retour arrière, etc. Avec en option l'ordinateur choisi un caractère qu'il affiche et prononce et attend la saisie de ce caractère ou touche.
2 - Quand la touche [Espace] ou [Entrer] était appuyée le mot saisi était prononcé et affiché toujours sur 2 lignes une en majuscule et l'autre en minuscule.
3 - Quand des chiffres étaient saisis ils étaient prononcés et si [Entrer] ou une des touches opérande [+], [-], [*], [/], était saisie cela prononçait le nombre et il s'écrivait en chiffre sur une ligne et en lettres en dessous exemple la suite 123 était prononcée et cela affichait cent-vingt-trois.
Si on tapait [1 + 2 =] cela affichait et prononçait 1 + 2 = 3
Un plus deux égale trois
En fait pour prononcer les chiffres et nombres ou les touches saisis je les transformais en mots et le c'est le mot qui passait dans la routine de prononciation. Limite de -99.999 à + 99.999 pour les nombres pour un enfant c'est largement suffisant avec la prononciation officielle de 1903 qui comprend Septante, Octante, Nonante. En effet on ne dit pas 20 + 10 mais trente alors pourquoi dire 60 + 10 au lieu de septante.
4 - Le même programme incluait un module musical qui affichait la note (sur 8 octaves) sur la portée et affichait le nom de la note en lettre. Ce module permettait d'enregistrer et d'éditer la partition musicale.
5 - Ce même programme incluait un module de dessin.

La totalité du programme faisait 14 Ko avec 16 Ko de musique en binaire en mémoire (22mn de musique continue). L'ordinateur sur une petite table basse était allumé 24h/24. Bien sûr enfant calme et respectueux du matériel à sa disposition et toujours à sa demande.

Résultat à 18 mois bébé savait lire tous les caractères du clavier sur n'importe quel support et à trois ans il a commencé la musique avec l'apprentissage de l'écriture des notes sur la portée en clef de Sol et Fa sur son cahier de musique.

Le module de synthèse vocale incluait un code particulier pour la prononciation des caractères qui rend ce programme difficile à traduire pour PC à moins de connaître les codes pour le module TTS Virginie fournit par Microsoft en voie française. De même la gestion des fenêtres pour l'éditeur musical est propre au CPC464 et les routines assembleur utilisées dans le programme sont spécifiques au CPC464. De plus la découpe des notes en mots de 11 bits (4 pour le nom, 4 pour l'octave, et 3 pour la durée) était nécessaire pour économiser de la place on ne disposait que de 64Ko au total dont 32Ko partagés avec la Rom Basic et 16 Ko pour l'affichage. Mais heureusement documentation abondante et très détaillée sur les routines et l'assembleur du Z80 qui incluait 4 pointeurs sur 16 bits.

Maintenant il existe des petits ordinateurs pour bébé qui ne font que dire la touche appuyée ou épelle et prononce les mots des images pour chaque lettres avec un petit module musical mais il n'y a pas l'affichage en lettre avec la qualité du PC.

Salutations
Messages postés
5
Date d'inscription
lundi 29 décembre 2008
Statut
Membre
Dernière intervention
19 juillet 2010

Merci beaucoup
Afficher les 12 commentaires