Page 1 sur 1

Exercices de Frappes des caractères

Publié : sam. 20/sept./2014 11:21
par Ar-S
Bonjour,

Pour mes petits élèves, j'ai fait un petit "jeu" de tape au clavier. Il est très basique mais a suffit à les faire bien marrer.
Il comprend 7 niveaux (levels),
Si les 5 premiers sont faciles, les 3 derniers sont plus corsés.
Le 5 fera travailler votre patience, le 6 votre concentration, le 7 votre dextérité :mrgreen:


Notes :
- Les retours à la lignes sont automatiques
- Si vous souhaitez commencer à un level > 1 éditez le raccourcis du programme et ajouter le level souhaité (de 1 à 7) aux paramètres. (ex : exofrappe02.exe 3 pour débloquer les trois 1ers levels.
- Épileptiques s'abstenir de faire le niv 6 :idea:

EnJoYeZ

Code : Tout sélectionner

; Exercice de frappe claviers by Ar-S // 09-14 // PB 5.30x86


Declare.s Levelhard(maxcara)
Declare InitButtonLevel()

Enumeration 0
#PRIM
EndEnumeration  

Enumeration 1
  #B1
  #B2
  #B3
  #B4
  #B5
  #B6
  #B7
  
  #Consigne
  #TXT
  #EXO
  #VALIDER
  #T
  #TC
EndEnumeration

Global.b EnCours,nbPTS,GoTimer,rebour,cheat
Global.s L1,L2,L3,L4,L5,L6,L7
Global Pos, NewPos
Global Catchclipb$

rebour = 10
GoTimer=0
nbPTS = 0
FTXT = LoadFont(#PB_Any,"Arial",14,#PB_Font_HighQuality)
L1 = "Allo, Action, Biscotte, Chien, Chine, Découvrir, Efficace, énergie, Fibre, Figue, Grès, grue, Gras, GROS, GRAND, Hôtel, Hibou, ici, idées, iceberg, joyeux, Jacques, Jean, Koala, kamikazes, Kératine, "
L1 + "kilogramme, là-haut, lacets, lagune, là-dessus, Miniature, Militant, Nénuphare, opéra, Obscurité, Pirouette" 
L2 = "é'èà=éç';:,!)çéè"+Chr(34)+"ééèà$*/+-*ç';:,!)çéèè°)36ééèà$*/+-*(àé)/**éepdo_-èàé"
L3 = "*)_.:êç-~é?*ï6Ê2he£@jr,:0à#é°'()ï68zdEZ@jr,:0à#é°Ô"
L4 = "Noël, monemail@nomdomain.com, http://www.ecole-primevere.org/, €uro, Métalique, N°1, "+Chr(34)+"80+16=96, Après la virgule on place un espace mais pas avant. C'est identique avec le point. Ce level est maintenant bientÔt terminé."
L4 + "(Sachez seulement que le é en majuscule s'obtient en combinant ALT+144). Voilà c'est TERMINÉ"
L5 = Levelhard(250)
L6 = Levelhard(80)
L7 = Levelhard(10)

Global m$ = "Recopiez les caractères ci dessus puis validez le pour passer au level suivant !"
Global clp$ = "On ne triche pas avec moi mécréant ! ;)"
clp$+Chr(10)+" Recommence donc ce level ! Mouhahahahaaaa"


Procedure.s Levelhard(maxcara)
Protected GenCode.s
RandomSeed(ElapsedMilliseconds())
For i = 1 To maxcara
	Car.s = Chr(Random (126,48) ) +","
	GenCode.s + Car
Next
ProcedureReturn GenCode
EndProcedure

Procedure.s GetLevelName()
	Level.s = GetGadgetText(GetActiveGadget())
	ProcedureReturn Level
EndProcedure


Procedure StartLevel()
Protected L.s, Consigne.s
Shared EnCours

L.s = GetLevelName()
Choix = MessageRequester("C'est parti !","Commencer ou recommencer le "+L.s+ " ?", 0|#PB_MessageRequester_YesNo|#MB_ICONQUESTION)
Select L.s
	Case "Level 1" : Consigne = L1
	Case "Level 2" : Consigne = L2
	Case "Level 3" : Consigne = L3
	Case "Level 4" : Consigne = L4
	Case "Level 5" : Consigne = L5
	Case "Level 6" : Consigne = L6
	Case "Level 7" : Consigne = L7
EndSelect

Select Choix
	Case 6 ; oui
		EnCours = GetActiveGadget()
		SetGadgetText(#Consigne,Consigne.s)
		SetGadgetText(#Exo,"")
		SetActiveGadget(#Exo)
		
		If Consigne = L6
			GoTimer = 1
		ElseIf Consigne = L7
			GoTimer = 2
		Else
			GoTimer = 0	
		EndIf
		
EndSelect
		
EndProcedure

Procedure InitButtonLevel()
	Protected  gadget
	gadget  = EnCours
	For i = 1 To gadget
	DisableGadget(i,0)
	Next
	
	For i = gadget+1 To 7
		DisableGadget(i,1)
	Next

EndProcedure


Procedure Cheat()
	 If Cheat = 1
		 SetGadgetText(#EXO,clp$)
	  	 SetClipboardText (clp$)
  	 EndIf	
  	 Cheat = 0
EndProcedure



	EnCours = Val(ProgramParameter(0) )
	If EnCours < 2 Or Encours > 7
		EnCours = 1	
	EndIf

  If OpenWindow(#PRIM, 466, 214, 650, 412, "Exercices de frappe de caractères", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered)
      ButtonGadget(#B1, 1, 1, 90, 25, "Level 1")
      ButtonGadget(#B2, 93, 1, 90, 25, "Level 2")
      ButtonGadget(#B3, 185, 1, 90, 25, "Level 3")
      ButtonGadget(#B4, 277, 1, 90, 25, "Level 4")
      ButtonGadget(#B5, 369, 1, 90, 25, "Level 5")
      ButtonGadget(#B6, 461, 1, 90, 25, "Level 6")
      ButtonGadget(#B7, 553, 1, 90, 25, "Level 7")
      EditorGadget(#Consigne, 2, 29, 640, 155, #PB_Editor_ReadOnly|#PB_Editor_WordWrap)
      TextGadget(#TXT, 2, 190, 644, 25, m$, #PB_Text_Center|#SS_CENTERIMAGE)
      EditorGadget(#EXO, 2, 220, 645, 160,#PB_Editor_WordWrap)
      ButtonGadget(#VALIDER, 2, 385, 645, 25, "Valider")
	
	SetGadgetFont(#EXO, FontID(FTXT))
	SetGadgetFont(#Consigne, FontID(FTXT))
	
	SetClipboardText(clp$)
	Catchclipb$ = GetClipboardText()
	
	InitButtonLevel()
	Pos = WindowX(#PRIM)
	NewPos=Pos
	AddWindowTimer(#PRIM, #T,5000)
	AddWindowTimer(#PRIM, #TC,1000)


Repeat
Catchclipb$ = GetClipboardText()
Debug Catchclipb$
If Catchclipb$ <> clp$
	cheat = 1
	cheat()
EndIf

  Select WaitWindowEvent()
    ; ///////////////////
    Case #PB_Event_Timer
    	Select EventTimer()
    	Case #T
    	If GoTimer = 1
    		RandomSeed(ElapsedMilliseconds())
    		SetWindowColor(#prim,RGB(Random(255),Random(255),Random(255)) )
			Move = Random(100,50)
			If NewPos > Pos
				NewPos	= Pos-Move
			Else 
				NewPos	= Pos+Move
			EndIf
			
			ResizeWindow(#PRIM, NewPos, #PB_Ignore, #PB_Ignore, #PB_Ignore)
    		
    		
    	EndIf
    
	    Case #TC
	    	If GoTimer = 2
	    		SetGadgetText(#TXT, "Recopiez les caractères ci dessus puis validez, il vous reste "+Str(rebour)+" secondes !") 
	    		Rebour -1
	    		If rebour = -1
	    			rebour = 10
	    			SetGadgetText(#Consigne,Levelhard(10) )
					SetGadgetText(#Exo,"")
					SetActiveGadget(#Exo)
	    		EndIf
	    	Else
	    		SetGadgetText(#TXT, m$) 	
	    	EndIf
    
    EndSelect	
    
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #B1
        StartLevel()
        Case #B2
        StartLevel()
        Case #B3
        StartLevel()
        Case #B4
        StartLevel()
        Case #B5
        StartLevel()
        Case #B6
        StartLevel()
        Case #B7
        StartLevel()
        
        Case #Consigne
        Case #TXT
        Case #EXO
        Case #VALIDER
        VerifC.s = GetGadgetText(#Consigne)
        VerifR.s = GetGadgetText(#EXO)
        If VerifC <> VerifR Or VerifR = "" Or VerifC = ""  
        	MessageRequester("Oupsss","Désolé il doit y avoir une erreur !",#PB_MessageRequester_Ok| #MB_ICONERROR)
        Else
        	EnCours+1
        	nbPTS = EnCours*5
        	If encours < 8
        		MessageRequester("Bravo !", "exercice réussi ! Tu as dévérouillé le level suivant !"+Chr(10)+"Tu as "+Str(nbPTS) + " points !",#PB_MessageRequester_Ok| #MB_ICONEXCLAMATION)
        		InitButtonLevel()
        		
        	ElseIf encours > 7
        	MessageRequester("Bravo !", "Tu as gagné tous les levels, tu es un champion !",#PB_MessageRequester_Ok| #MB_ICONEXCLAMATION)
        	Champion = 1 
           	quite = 1
        	EndIf
        	
        EndIf
        
      EndSelect
    ; ////////////////////////
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #PRIM
          CloseWindow(#PRIM)
          quite = 1
          Break
      EndSelect
  EndSelect
Until quite = 1

If Champion = 1
	RunProgram ("http://www.officialpsds.com/images/thumbs/1-Gold-Trophy-psd47711.png","","",0)
EndIf

End
EndIf

Re: Exercices de Frappes des caractères

Publié : sam. 20/sept./2014 13:55
par raven
Sympa comme petit jeu.
j'avoue j'ai tenté la facilité...
http://www.youtube.com/watch?v=dWbS-UF3ktQ
:)

Re: Exercices de Frappes des caractères

Publié : sam. 20/sept./2014 14:21
par majikeyric
Sympa!

Micoute va te le piquer :mrgreen:

Mince on ne peut pas faire de copier-coller :lol:

Re: Exercices de Frappes des caractères

Publié : sam. 20/sept./2014 16:37
par Lemaquis
merci Ar-S

tu leur apprend la programmation?

Re: Exercices de Frappes des caractères

Publié : sam. 20/sept./2014 17:13
par Ar-S
Non, je les initierai peut-être cette année avec la demo de PB mais uniquement s'ils ont déjà acquis le reste..

Re: Exercices de Frappes des caractères

Publié : sam. 20/sept./2014 18:20
par Micoute
majikeyric a écrit :Sympa!

Micoute va te le piquer :mrgreen:

Mince on ne peut pas faire de copier-coller :lol:
Ce n'est pas du tout exclus !

Un grand merci à Ar-s qui fait des logiciels plus intelligents que les miens !

Re: Exercices de Frappes des caractères

Publié : sam. 20/sept./2014 18:26
par majikeyric
Y a une petite erreur je pense dans

Code : Tout sélectionner

LVL = CountProgramParameters()

If LVL > 0 And LVL < 8
      EnCours = Val(ProgramParameter(0) )
Else
      EnCours = 1   
EndIf
CountProgramParameters() renvoie le nombre de paramètres passés, pas la valeur du premier paramètre.
ça marche quand tu passes un numéro de level car LVL est toujours égal à 1.

Re: Exercices de Frappes des caractères

Publié : sam. 20/sept./2014 20:35
par Ar-S
Ah je viens de piger... Je m'étais emmêlé les pinceaux effectivement.
Merci.

Voilà la modif.

Code : Tout sélectionner

	EnCours = Val(ProgramParameter(0) )
	If EnCours < 2 Or Encours > 7
		EnCours = 1	
	EndIf
J'ai corrigé le code complet aussi.

Re: Exercices de Frappes des caractères

Publié : dim. 21/sept./2014 17:38
par PAPIPP
Bonjour Ar-s
Et merci pour ce petit prg

Je ne sais pas quel âge on les élèves. Mais au mien je désespérais de pouvoir terminer le premier niveau, aucune aide pour savoir si l’erreur provenait d’une ponctuation (exemple 2 blancs au lieu de 1) ou d’un mot mal orthographié minuscule ou majuscule ou d’une fin de ligne en un retour chariot (les retours à la ligne sont automatiques) taper sur retour chariot est pour moi un automatisme et la correction n’était pas évidente car on ne voyait pas l’erreur.

J’ai donc ajouté une aide pour corriger l’orthographe, la ponctuation et le retour chariot.
Voici ma petite participation avec un contrôle pour les niveaux 1 et 4

Code : Tout sélectionner

; Exercice de frappe claviers by Ar-S // 09-14 // PB 5.30x86

; Exercice de frappe claviers


Declare.s Levelhard(maxcara)
Declare InitButtonLevel()

Enumeration 0
#PRIM
EndEnumeration

Enumeration 1
  #B1
  #B2
  #B3
  #B4
  #B5
  #B6
  #B7

  #Consigne
  #TXT
  #EXO
  #VALIDER
  #T
  #TC
  #ex_fr
EndEnumeration


Global.b EnCours,nbPTS,GoTimer,rebour
Global.s L1,L2,L3,L4,L5,L6,L7
Global Pos, NewPos

rebour = 10
GoTimer=0
nbPTS = 0
FTXT = LoadFont(#PB_Any,"Arial",14,#PB_Font_HighQuality)
L1 = "Allo, Action, Biscotte, Chien, Chine, Découvrir, Efficace, énergie, Fibre, Figue, Grès, grue, Gras, GROS, GRAND, Hôtel, Hibou, ici, idées, iceberg, joyeux, Jacques, Jean, Koala, kamikazes, Kératine, "
L1 + "kilogramme, là-haut, lacets, lagune, là-dessus, Miniature, Militant, Nénuphare, opéra, Obscurité, Pirouette"
L2 = "é'èà=éç';:,!)çéè"+Chr(34)+"ééèà$*/+-*ç';:,!)çéèè°)36ééèà$*/+-*(àé)/**éepdo_-èàé"
L3 = "*)_.:êç-~é?*ï6Ê2he£@jr,:0à#é°'()ï68zdEZ@jr,:0à#é°Ô"
L4 = "Noël, monemail@nomdomain.com, http://www.ecole-primevere.org/, €uro, Métalique, N°1, "+Chr(34)+"80+16=96, Après la virgule on place un espace mais pas avant. C'est identique avec le point. Ce level est maintenant bientÔt terminé."
L4 + "(Sachez seulement que le é en majuscule s'obtient en combinant ALT+144). Voilà c'est TERMINÉ"
L5 = Levelhard(250)
L6 = Levelhard(80)
L7 = Levelhard(10)

Global m$ = "Recopiez les caractères ci dessus puis validez le pour passer au level suivant !"
Global clp$ = "On ne triche pas avec moi mécréant ! ;)"
SetClipboardText (clp$)

Procedure.s Levelhard(maxcara)
Protected GenCode.s
RandomSeed(ElapsedMilliseconds())
For i = 1 To maxcara
   Car.s = Chr(Random (126,48) ) +","
   GenCode.s + Car
Next
ProcedureReturn GenCode
EndProcedure

Procedure.s GetLevelName()
   Level.s = GetGadgetText(GetActiveGadget())
   ProcedureReturn Level
EndProcedure


Procedure StartLevel()
  Protected L.s,Consigne.s
  Shared EnCours
 
  L.s=GetLevelName()
  Choix=MessageRequester("C'est parti !","Commencer ou recommencer le "+L.s+" ?",0 | #PB_MessageRequester_YesNo | #MB_ICONQUESTION)
  Select L.s
    Case "Level 1":Consigne=L1
    Case "Level 2":Consigne=L2
    Case "Level 3":Consigne=L3
    Case "Level 4":Consigne=L4
    Case "Level 5":Consigne=L5
    Case "Level 6":Consigne=L6
    Case "Level 7":Consigne=L7
  EndSelect
 
  Select Choix
    Case 6 ; oui
      EnCours=GetActiveGadget()
      SetGadgetText(#Consigne,Consigne.s)
      SetGadgetText(#Exo,"")
      SetActiveGadget(#Exo)
     
      If Consigne=L6
        GoTimer=1
      ElseIf Consigne=L7
        GoTimer=2
      Else
        GoTimer=0
      EndIf
     
  EndSelect
 
EndProcedure

Procedure InitButtonLevel()
  Protected gadget
  gadget=EnCours
  For i=1 To gadget
    DisableGadget(i,0)
  Next
 
  For i=gadget+1 To 7
    DisableGadget(i,1)
  Next
 
EndProcedure
Macro controle(texto,texta)
  Mess$=""
 
  If flag=0
    Dim moto$(0)
    Dim mota$(0)
    ;     Exp_fr.s="[A-Za-zÀàÂâÆæÇçÉéÈèÊêËëÎîÏïÔôÙùÛûÜüÿ]*"
    Exp_Nfr.s="[^,| ]+" ; permet de ne sélectionner que le mot valide sans tenir compte de la ponctuation
    If CreateRegularExpression(#ex_FR,exp_nFR); Selection pour le premier tour
      flag=1
    EndIf
    NbFoundo=ExtractRegularExpression(#ex_FR,texto,moto$())
    nb_vbo=CountString(texto,", ")
  EndIf
  ; ************* Contrôle de la ponctuation  type xxxx,byyyy *************************
  texta=Trim(texta)
  ; Debug mp_h(@texta,320,222)
   texta=ReplaceString(texta,Chr(13),"")
   texta=ReplaceString(texta,Chr(10),"")
;  texta=ReplaceString(texta,#CRLF$,"")
  Textaa$=ReplaceString(texta,",",", ")
  Texta=ReplaceString(textaa$,"  "," ")
  SetGadgetText(#EXO, Texta)
  VerifR.s = GetGadgetText(#EXO)
  nb_vba=CountString(texta,", ")
  If nb_vbo<>nb_vba
    Mess$="Vous avez  au moins "+Str(Abs(nb_vbo-nb_vba))+" erreur(s) de ponctuation"+#LFCR$
  EndIf
  Ltextaa=Len(texta$)
  Ltexta=Len(texta)
  If Ltexta<>Ltextaa
    Mess$+"Vous avez tapé "+Str(Ltexta-Ltextaa)+" blanc(s) de trop entre les mots"+#LFCR$
  EndIf
  ;************ Fin de contrôle de la ponctuation *********************
  NbFounda=ExtractRegularExpression(#ex_FR,texta,mota$())
  If nbfoundo <> nbfounda
    mess$+"Vous n'avez pas le même nombre de mot que l'original"+#LFCR$
  Else
    For k=0 To NbFounda-1
      If moto$(k)<>mota$(k)
        mess$+"Vous avez une erreur dans le "+Str(k+1)+"em mot"+#LFCR$
      EndIf 
    Next
  EndIf
  EndMacro


   EnCours = Val(ProgramParameter(0) )
   If EnCours < 2 Or Encours > 7
      EnCours = 1   
   EndIf

  If OpenWindow(#PRIM, 466, 214, 650, 412, "Exercices de frappe de caractères", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered)
      ButtonGadget(#B1, 1, 1, 90, 25, "Level 1")
      ButtonGadget(#B2, 93, 1, 90, 25, "Level 2")
      ButtonGadget(#B3, 185, 1, 90, 25, "Level 3")
      ButtonGadget(#B4, 277, 1, 90, 25, "Level 4")
      ButtonGadget(#B5, 369, 1, 90, 25, "Level 5")
      ButtonGadget(#B6, 461, 1, 90, 25, "Level 6")
      ButtonGadget(#B7, 553, 1, 90, 25, "Level 7")
      EditorGadget(#Consigne, 2, 29, 640, 155, #PB_Editor_ReadOnly|#PB_Editor_WordWrap)
      TextGadget(#TXT, 2, 190, 644, 25, m$, #PB_Text_Center|#SS_CENTERIMAGE)
      EditorGadget(#EXO, 2, 220, 645, 160,#PB_Editor_WordWrap)
      ButtonGadget(#VALIDER, 2, 385, 645, 25, "Valider")
   
   SetGadgetFont(#EXO, FontID(FTXT))
   SetGadgetFont(#Consigne, FontID(FTXT))
   

   
   InitButtonLevel()
   Pos = WindowX(#PRIM)
   NewPos=Pos
   AddWindowTimer(#PRIM, #T,5000)
   AddWindowTimer(#PRIM, #TC,1000)


Repeat
Catchclipb$ = GetClipboardText()
If Catchclipb$ <> clp$
   SetGadgetText(#EXO,clp$+Chr(10)+" Recommence donc ce level ! Mouhahahahaaaa")
   SetClipboardText (clp$)
EndIf

  Select WaitWindowEvent()
    ; ///////////////////
    Case #PB_Event_Timer
       Select EventTimer()
       Case #T
       If GoTimer = 1
          RandomSeed(ElapsedMilliseconds())
          SetWindowColor(#prim,RGB(Random(255),Random(255),Random(255)) )
         Move = Random(100,50)
         If NewPos > Pos
            NewPos   = Pos-Move
         Else
            NewPos   = Pos+Move
         EndIf
         
         ResizeWindow(#PRIM, NewPos, #PB_Ignore, #PB_Ignore, #PB_Ignore)
         
         
       EndIf
   
       Case #TC
          If GoTimer = 2
             SetGadgetText(#TXT, "Recopiez les caractères ci dessus puis validez, il vous reste "+Str(rebour)+" secondes !")
             Rebour -1
             If rebour = -1
                rebour = 10
                SetGadgetText(#Consigne,Levelhard(10) )
               SetGadgetText(#Exo,"")
               SetActiveGadget(#Exo)
             EndIf
          Else
             SetGadgetText(#TXT, m$)   
          EndIf
   
    EndSelect   
   
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #B1
        StartLevel()
        Case #B2
        StartLevel()
        Case #B3
        StartLevel()
        Case #B4
        StartLevel()
        Case #B5
        StartLevel()
        Case #B6
        StartLevel()
        Case #B7
        StartLevel()
       
        Case #Consigne
        Case #TXT
        Case #EXO
        Case #VALIDER
        VerifC.s = GetGadgetText(#Consigne)
        VerifR.s = GetGadgetText(#EXO)
        If VerifC=L1 Or VerifC=L4
          mess$=""
          Controle(VerifC,VerifR)
         EndIf
        If VerifC <> VerifR
           MessageRequester("Oupsss",Mess$+"Désolé il doit y avoir au moins une erreur !",#PB_MessageRequester_Ok| #MB_ICONERROR)
        Else
           EnCours+1
           nbPTS = EnCours*5
           If encours < 8
              MessageRequester("Bravo !", "exercice réussi ! Tu as dévérouillé le level suivant !"+Chr(10)+"Tu as "+Str(nbPTS) + " points !",#PB_MessageRequester_Ok| #MB_ICONEXCLAMATION)
              InitButtonLevel()
             
           ElseIf encours > 7
           MessageRequester("Bravo !", "Tu as gagné tous les levels, tu es un champion !",#PB_MessageRequester_Ok| #MB_ICONEXCLAMATION)
           RunProgram ("http://www.officialpsds.com/images/thumbs/1-Gold-Trophy-psd47711.png","","",0)
           quite = 1
           EndIf
           
        EndIf
       
      EndSelect
    ; ////////////////////////
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #PRIM
          CloseWindow(#PRIM)
          quite = 1
          Break
      EndSelect
  EndSelect
Until quite = 1

End

EndIf


A+

Re: Exercices de Frappes des caractères

Publié : dim. 21/sept./2014 21:36
par Ar-S
Ce sont des collégiens, avec pour certains de gros soucis et d'autres assez précoces. Merci pour ta participation, je ne sais pas encore si je l'ajouterai car devoir chercher par eux même, quitte à recommencer, leur fait vraiment faire des efforts qu'ils ne feraient pas avec les indications. J'en ai un qui a bloqué 3/4 d'heures sur l'exo un et quand il a réussi, il était aux ages. :)
En tout cas ta macro est sympa :P

Re: Exercices de Frappes des caractères

Publié : dim. 21/sept./2014 21:46
par Huitbit
Hello,

C'est sympa.

Je m'attendais à ce que les mots s'affichent un par un et qu'on ait un temps limité pour les recopier sans erreur.

Parce que, quand j'ai vu la longue liste....j'ai bien sûr tenté le copier-coller :mrgreen:

Par contre, quand on valide à vide, on passe au niveau suivant(c'est peut-être voulu).

Cet exercice développe aussi la concentration (plus de 20 secondes pour certains, c'est un exploit !)


Hasta la vista !

Re: Exercices de Frappes des caractères

Publié : dim. 21/sept./2014 22:58
par PAPIPP
J'ai modifié le prg ci-dessus pour mieux contrôler le retour chariot

A+

Re: Exercices de Frappes des caractères

Publié : dim. 21/sept./2014 23:59
par Ar-S
Merci pour les retours Huitbit, j'ai corrigé la validation a blanc.
@PAPIPP merci pour ton code

Re: Exercices de Frappes des caractères

Publié : mar. 23/sept./2014 9:13
par Ar-S
Petite modif du code pour afficher le message antitriche correctement.
Déverrouillage des level de 1 à X plutôt que de ne déverrouiller que le level en cours.