Page 1 sur 1

[Ex] Jeu de Calcul mental

Posté : mar. 07 déc. 2010 20:35
par charliegun
Bonjour à tous.
Voici un petit programme de calcul mental.
C'est pour l'instant ma première version.
Je compte l'amélioré avec une belle fenêtre, plutôt que les basiques inputbox.
Je viens de découvrir Koda il y a une semaine je vais m'y essayé.
Je suis ouvert à toutes critique et/ou amélioration.

► Afficher le texte

Re: [Ex] Jeu de Calcul mental

Posté : mer. 08 déc. 2010 14:34
par timmalos
Vous ne savez pas calculer? Programmez ;)
Une fois le jeu lancé, lancez le script suivant :

Code : Tout sélectionner

Opt('TrayIconDebug',1)
While  1
    $var = ControlGetText ( "[CLASS:#32770]","",1002 )
    $var = StringSplit($var,"=")
    $var = Stringreplace($var[1],"x","*")
    $var = Stringreplace($var,":","/")

    $res = Execute($var)
    ControlSetText("[CLASS:#32770]","",1001,$res)
    Sleep(2000)
    ControlClick("[CLASS:#32770]","",1)
    Sleep(1000)
WEnd

Re: [Ex] Jeu de Calcul mental

Posté : mer. 15 déc. 2010 14:48
par DimVar
timmalos a écrit :Vous ne savez pas calculer? Programmez ;)
Une fois le jeu lancé, lancez le script suivant :
Excellent :D

charliegun a écrit : Je suis ouvert à toutes critique et/ou amélioration.
[/spoiler]
Faudrait une fin au programme avec des stats sur les réussites/échecs.
Et aussi pour y mettre un peu de piquant, un mode everest. Ca permet de garder un score de bonne réponses maxi.
Tant qu'on a bon, le script enregistre le nombre de bonnes réponses visualisé avec un compteur. Dés que l'on a faux, le compteur retombe à zéro.
On peut imaginer le choix de difficultés aussi :
Deux chiffres (ex 8x2),
Deux nombre de deux chiffre (10x10),
Un nombre de trois chiffres et l'autre de deux chiffres (231+12),
Deux nombres à trois chiffres (612-524),
etc...

Re: [Ex] Jeu de Calcul mental

Posté : mer. 15 déc. 2010 15:53
par zeshrek
Suggestion si celles de DimVar (qui sont tres bien) sont implantées : accepter systématiquement la réponse 42 comme étant juste (mais en notant qqpart que c'est de la triche, pour l'indiquer dans le compte rendu de stat)


(pour ceux qui ne comprendraient pas pourquoi 42 est une réponse valable a toutes les questions : http://desencyclopedie.wikia.com/wiki/42 )

Re: [Ex] Jeu de Calcul mental

Posté : mer. 15 déc. 2010 16:31
par timmalos
Voila un petit script pour s'amuser, donne un score sur 50 et la difficulté est accrue au fur et au mesure de l'avancement du score.
J'ai essayé d'equilibrer au maximum, y'aura peut etre des changements à faire de nouveau:

Voici donc ma version de conception un peu différente de celle proposée ci-dessus, mais ca ne veut pas dire que c'est mieux.

Code : Tout sélectionner

HotKeySet("{ESC}", "Terminate")

Func Terminate()
    Exit 0
EndFunc   ;==>Terminate

MsgBox(4096, "Test de calcul", "Testez vos connaissances en calcul mental. Ce test va devenir de plus en plus dur, vous obtiendrez un score sur 50. Bonne chance ! ECHAP pour quitter.", 0)
$operateur = ""
$score = 0
While $score <50

    ;Debut des calculs d'operateurs
    $op = Random(1, 100, 1)
    $1_min = 1
    $1_max =(100-2*$score)
    $2_min = (100-2*$score)+1
    $2_max = (100-2*$score)+2*$score
    Switch $op
        Case $1_min To $1_max ;Au debut, que des additions, et on en met de moins en moins
            If Random(1, 100, 1) >= $score*2.5 Then
                $operateur = " + "
                $nombre1 = Random(1, 9+4*$score, 1)
                $nombre2 = Random(1, 9+abs(4*$score-$nombre1), 1)
            Else
                $operateur = " - "
                $nombre1 = Random(1, 9+4*$score, 1)
                $nombre2 = Random(1, 9+4*$score, 1)
            EndIf
        Case $2_min To $2_max
            $operateur = " * "
            $nombre1 = Random(1, 2*$score, 1)
            $nombre2 = Random(1, Int(abs(2*$nombre1-$score)), 1)
    EndSwitch

    ;Calcul du resultat, et affichage de l'Input
    $resultat = Execute($nombre1 & $operateur & $nombre2)
    $value = InputBox("Test de calcul", $nombre1 & $operateur& $nombre2 & " = . . .  ", "", " M5")

    If $value = $resultat Then
        $score = $score + 1
        TrayTip("Notification", " CORRECT : Score=" & $score, 5000, 1)
        Sleep(500)
    ElseIf $value <> int($value) Then
        Exit
    Else
        MsgBox(0,"Test de calcul"," FAUX ! La réponse etait : " & $resultat & "Votre score est:"&$score)
        Exit
    EndIf
WEnd
MsgBox(0,"Test de calcul"," FELICITATIONS ! Votre score est MAXIMAL. Ne tardez plus à tenter votre chance au 'Compte est Bon'."&$score)
Exit

Re: [Ex] Jeu de Calcul mental

Posté : mer. 15 déc. 2010 16:34
par charliegun
Je n'ai pas internet pour l'instant ou je suis donc je passe vite fais au cyber.

timmalos -> Je vais essayé ton petit script. :roll:

DimVar -> Je vais faire un mode difficile.

et zeshrek -> j'ai enregistré ta page sur le chiffre 42 que je regarderai chez moi.

Je vais entamer aussi un autre petit jeu pour pouvoir "travaillé" sur plusieurs projet à mes heures perdu :lol: