Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

JEU DE RAPIDITÉ AU CLAVIER EN VB .NET 2.0 (FAIT AVEC VB EXPRESS 2005)


Information sur la source

Catégorie :Jeux Source .NET ( DotNet ) Classé sous : jeu, rapidité, adresse, clavier Niveau : Débutant Date de création : 17/11/2005 Vu / téléchargé: 12 343 / 566

Note :
8,67 / 10 - par 3 personnes
8,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Ce petit jeu s'adresse à ceux qui veulent tester leur rapidité au clavier :)

Il y a trois mode :
- Letters only, avec seulement les touches de lettre + touche Espace (idéal pour apprendre à taper du texte)
- Laptop, l'équivalent du mode expert pour les Portables (sans les touches numériques)
- Expert, avec les touches alphabétiques, les touches F1 à F12, les touches de directions, les touches numériques ainsi que la touche Verr Num.

Le principe est simple : le nom d'une touche s'affiche, si on la frappe c'est score+1 et si on se trompe c'est score-1 :)
Vous disposez de 30 sec, et vous devez donc vous dépécher de taper le plus possible de touches affichées à l'écran.

Je vous dis mon score en mode expert, c'est 43 pour le moment :)
A vos claviers!
 

Source

  • 'Auteur : Gabriel Hautclocq
  • '
  • Public Class Main
  • Private touches As New Hashtable()
  • Private time As Single
  • Private score As Integer
  • Private rndTouche As Integer
  • Private trouve As Boolean = True
  • Private encours As Boolean = False
  • Private mode As Integer
  • Private Const duree As Single = 30
  • Private Sub Main_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
  • Arreter()
  • End Sub
  • Private Sub Main_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
  • If Not encours Then
  • Demarrer()
  • Else
  • Arreter()
  • End If
  • End Sub
  • Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
  • If Not encours Then
  • Demarrer()
  • Else
  • Arreter()
  • End If
  • End Sub
  • Private Sub Main_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
  • If encours Then
  • If e.KeyData.ToString() = touches(rndTouche) Then
  • trouve = True
  • score = score + 1
  • My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Exclamation)
  • Else
  • score = score - 1
  • My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Hand)
  • End If
  • Label3.Text = "Score : " & score
  • Else
  • If e.KeyData = Keys.Enter Or e.KeyData = Keys.Return Then
  • Demarrer()
  • End If
  • End If
  • End Sub
  • Private Sub initialisation()
  • touches.Clear()
  • Dim currentMode As Integer = getMode()
  • 'Mode de base
  • touches.Add(1, "A")
  • touches.Add(2, "B")
  • touches.Add(3, "C")
  • touches.Add(4, "D")
  • touches.Add(5, "E")
  • touches.Add(6, "F")
  • touches.Add(7, "G")
  • touches.Add(8, "H")
  • touches.Add(9, "I")
  • touches.Add(10, "J")
  • touches.Add(11, "K")
  • touches.Add(12, "L")
  • touches.Add(13, "M")
  • touches.Add(14, "N")
  • touches.Add(15, "O")
  • touches.Add(16, "P")
  • touches.Add(17, "Q")
  • touches.Add(18, "R")
  • touches.Add(19, "S")
  • touches.Add(20, "T")
  • touches.Add(21, "U")
  • touches.Add(22, "V")
  • touches.Add(23, "W")
  • touches.Add(24, "X")
  • touches.Add(25, "Y")
  • touches.Add(26, "Z")
  • touches.Add(27, "Space")
  • If currentMode > 1 Then 'Mode Laptop
  • touches.Add(28, "F1")
  • touches.Add(29, "F2")
  • touches.Add(30, "F3")
  • touches.Add(31, "F4")
  • touches.Add(32, "F5")
  • touches.Add(33, "F6")
  • touches.Add(34, "F7")
  • touches.Add(35, "F8")
  • touches.Add(36, "F9")
  • touches.Add(37, "F10")
  • touches.Add(38, "F11")
  • touches.Add(39, "F12")
  • touches.Add(40, "Up")
  • touches.Add(41, "Down")
  • touches.Add(42, "Left")
  • touches.Add(43, "Right")
  • If currentMode > 2 Then 'Mode Expert
  • touches.Add(44, "NumPad0")
  • touches.Add(45, "NumPad1")
  • touches.Add(46, "NumPad2")
  • touches.Add(47, "NumPad3")
  • touches.Add(48, "NumPad4")
  • touches.Add(49, "NumPad5")
  • touches.Add(50, "NumPad6")
  • touches.Add(51, "NumPad7")
  • touches.Add(52, "NumPad8")
  • touches.Add(53, "NumPad9")
  • touches.Add(54, "NumLock")
  • End If
  • End If
  • End Sub
  • Private Function getMode() As Integer
  • Dim lemode As Integer = 1
  • If R1.Checked Then
  • lemode = 1
  • ElseIf R2.Checked Then
  • lemode = 2
  • ElseIf R3.Checked Then
  • lemode = 3
  • End If
  • Return lemode
  • End Function
  • Private Sub Demarrer()
  • time = duree
  • score = 0
  • Label2.Text = "Time : " & duree & "s"
  • Label3.Text = "Score : 0"
  • Timer.Start()
  • encours = True
  • While time > 0
  • Application.DoEvents()
  • If trouve Then
  • Randomize()
  • rndTouche = CInt(Int((touches.Count * Rnd()) + 1))
  • trouve = False
  • Label1.Text = touches(rndTouche).ToString
  • End If
  • End While
  • Timer.Stop()
  • encours = False
  • trouve = True
  • Label1.Text = "Ready ?"
  • End Sub
  • Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
  • time = time - 0.1
  • If time < 0 Then time = 0
  • Label2.Text = "Time : " & CSng(CInt(time * 10)) / 10 & "s"
  • End Sub
  • Private Sub Arreter()
  • time = 0
  • End Sub
  • Private Sub R1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles R1.CheckedChanged
  • If R1.Checked Then
  • initialisation()
  • End If
  • End Sub
  • Private Sub R2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles R2.CheckedChanged
  • If R2.Checked Then
  • initialisation()
  • End If
  • End Sub
  • Private Sub R3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles R3.CheckedChanged
  • If R3.Checked Then
  • initialisation()
  • End If
  • End Sub
  • Private Sub Main_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LostFocus
  • Me.Focus()
  • End Sub
  • End Class
'Auteur : Gabriel Hautclocq
'
Public Class Main

    Private touches As New Hashtable()
    Private time As Single
    Private score As Integer
    Private rndTouche As Integer
    Private trouve As Boolean = True
    Private encours As Boolean = False
    Private mode As Integer
    Private Const duree As Single = 30

    Private Sub Main_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Arreter()
    End Sub

    Private Sub Main_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
        If Not encours Then
            Demarrer()
        Else
            Arreter()
        End If
    End Sub

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
        If Not encours Then
            Demarrer()
        Else
            Arreter()
        End If
    End Sub

    Private Sub Main_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If encours Then
            If e.KeyData.ToString() = touches(rndTouche) Then
                trouve = True
                score = score + 1
                My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Exclamation)
            Else
                score = score - 1
                My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Hand)
            End If
            Label3.Text = "Score : " & score
        Else
            If e.KeyData = Keys.Enter Or e.KeyData = Keys.Return Then
                Demarrer()
            End If
        End If
    End Sub

    Private Sub initialisation()

        touches.Clear()
        Dim currentMode As Integer = getMode()

        'Mode de base
        touches.Add(1, "A")
        touches.Add(2, "B")
        touches.Add(3, "C")
        touches.Add(4, "D")
        touches.Add(5, "E")
        touches.Add(6, "F")
        touches.Add(7, "G")
        touches.Add(8, "H")
        touches.Add(9, "I")
        touches.Add(10, "J")
        touches.Add(11, "K")
        touches.Add(12, "L")
        touches.Add(13, "M")
        touches.Add(14, "N")
        touches.Add(15, "O")
        touches.Add(16, "P")
        touches.Add(17, "Q")
        touches.Add(18, "R")
        touches.Add(19, "S")
        touches.Add(20, "T")
        touches.Add(21, "U")
        touches.Add(22, "V")
        touches.Add(23, "W")
        touches.Add(24, "X")
        touches.Add(25, "Y")
        touches.Add(26, "Z")
        touches.Add(27, "Space")

        If currentMode > 1 Then 'Mode Laptop
            touches.Add(28, "F1")
            touches.Add(29, "F2")
            touches.Add(30, "F3")
            touches.Add(31, "F4")
            touches.Add(32, "F5")
            touches.Add(33, "F6")
            touches.Add(34, "F7")
            touches.Add(35, "F8")
            touches.Add(36, "F9")
            touches.Add(37, "F10")
            touches.Add(38, "F11")
            touches.Add(39, "F12")
            touches.Add(40, "Up")
            touches.Add(41, "Down")
            touches.Add(42, "Left")
            touches.Add(43, "Right")

            If currentMode > 2 Then 'Mode Expert
                touches.Add(44, "NumPad0")
                touches.Add(45, "NumPad1")
                touches.Add(46, "NumPad2")
                touches.Add(47, "NumPad3")
                touches.Add(48, "NumPad4")
                touches.Add(49, "NumPad5")
                touches.Add(50, "NumPad6")
                touches.Add(51, "NumPad7")
                touches.Add(52, "NumPad8")
                touches.Add(53, "NumPad9")
                touches.Add(54, "NumLock")
            End If
        End If

    End Sub

    Private Function getMode() As Integer
        Dim lemode As Integer = 1
        If R1.Checked Then
            lemode = 1
        ElseIf R2.Checked Then
            lemode = 2
        ElseIf R3.Checked Then
            lemode = 3
        End If
        Return lemode
    End Function

    Private Sub Demarrer()
        time = duree
        score = 0
        Label2.Text = "Time : " & duree & "s"
        Label3.Text = "Score : 0"
        Timer.Start()
        encours = True
        While time > 0
            Application.DoEvents()
            If trouve Then
                Randomize()
                rndTouche = CInt(Int((touches.Count * Rnd()) + 1))
                trouve = False
                Label1.Text = touches(rndTouche).ToString
            End If
        End While
        Timer.Stop()
        encours = False
        trouve = True
        Label1.Text = "Ready ?"

    End Sub

    Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
        time = time - 0.1
        If time < 0 Then time = 0
        Label2.Text = "Time : " & CSng(CInt(time * 10)) / 10 & "s"
    End Sub

    Private Sub Arreter()
        time = 0
    End Sub

    Private Sub R1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles R1.CheckedChanged
        If R1.Checked Then
            initialisation()
        End If
    End Sub

    Private Sub R2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles R2.CheckedChanged
        If R2.Checked Then
            initialisation()
        End If
    End Sub

    Private Sub R3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles R3.CheckedChanged
        If R3.Checked Then
            initialisation()
        End If
    End Sub

    Private Sub Main_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LostFocus
        Me.Focus()
    End Sub
End Class

Conclusion

Attention, ceci est un code .NET 2.0, donc veuillez à installer le Framework .NET 2.0 au préalable.
Vous le trouverez en version finale ici : http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=en

Attention à un petit bug :
Lors de la compilation, il faut veiller à ce que les propriétés TabStop des boutons radio soit bien à false dans le fichier Main.Designer.vb
Sinon, le programme ne réagira pas à l'appui des touches...

Ce jeu sera régulièrement mis à jour sur mon site :
http://gabsoftware.free.fr

La prochaine version sauvegardera les meilleurs scores et, j'espère, supprimera le petit bug cité ci-dessus :)
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   CrazyKeyboard
    •   CrazyKeyboard
      •   CrazyKeyboard
        •   bin
          •   Debug
            • CrazyKeyboard.exeTélécharger ce fichier [Réservé aux membres club]36 864 octets
            • CrazyKeyboard.pdbTélécharger ce fichier [Réservé aux membres club]75 264 octets
            • CrazyKeyboard.vshost.exeTélécharger ce fichier [Réservé aux membres club]5 632 octets
            • CrazyKeyboard.xmlTélécharger ce fichier [Réservé aux membres club]Voir ce fichier121 octets
          •   Release
            • CrazyKeyboard.exeTélécharger ce fichier [Réservé aux membres club]36 864 octets
            • CrazyKeyboard.pdbTélécharger ce fichier [Réservé aux membres club]73 216 octets
            • CrazyKeyboard.xmlTélécharger ce fichier [Réservé aux membres club]Voir ce fichier121 octets
        •   My Project
        •   obj
          •   Debug
            •   TempPE
              • My Project.Resources.Designer.vb.dllTélécharger ce fichier [Réservé aux membres club]7 680 octets
            • CrazyKeyboard.exeTélécharger ce fichier [Réservé aux membres club]36 864 octets
            • CrazyKeyboard.Main.resourcesTélécharger ce fichier [Réservé aux membres club]180 octets
            • CrazyKeyboard.pdbTélécharger ce fichier [Réservé aux membres club]75 264 octets
            • CrazyKeyboard.Resources.resourcesTélécharger ce fichier [Réservé aux membres club]180 octets
            • CrazyKeyboard.vbproj.GenerateResource.CacheTélécharger ce fichier [Réservé aux membres club]899 octets
            • CrazyKeyboard.xmlTélécharger ce fichier [Réservé aux membres club]Voir ce fichier121 octets
          •   Release
            •   TempPE
              • My Project.Resources.Designer.vb.dllTélécharger ce fichier [Réservé aux membres club]7 680 octets
            • CrazyKeyboard.exeTélécharger ce fichier [Réservé aux membres club]36 864 octets
            • CrazyKeyboard.Main.resourcesTélécharger ce fichier [Réservé aux membres club]180 octets
            • CrazyKeyboard.pdbTélécharger ce fichier [Réservé aux membres club]73 216 octets
            • CrazyKeyboard.Resources.resourcesTélécharger ce fichier [Réservé aux membres club]180 octets
            • CrazyKeyboard.vbproj.GenerateResource.CacheTélécharger ce fichier [Réservé aux membres club]899 octets
            • CrazyKeyboard.xmlTélécharger ce fichier [Réservé aux membres club]Voir ce fichier121 octets
          • CrazyKeyboard.vbproj.FileList.txtTélécharger ce fichier [Réservé aux membres club]Voir ce fichier732 octets
        • CrazyKeyboard.vbprojTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 425 octets
        • Main.Designer.vbTélécharger ce fichier [Réservé aux membres club]Voir ce fichier5 551 octets
        • Main.resxTélécharger ce fichier [Réservé aux membres club]Voir ce fichier6 007 octets
        • Main.vbTélécharger ce fichier [Réservé aux membres club]Voir ce fichier5 809 octets
      • CrazyKeyboard.slnTélécharger ce fichier [Réservé aux membres club]Voir ce fichier935 octets
      • CrazyKeyboard.suoTélécharger ce fichier [Réservé aux membres club]22 016 octets

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Nexto le 17/11/2005 21:57:27

Quand j'essaye en mode expert, il me dit d'appuier sur NumLock et 3 secondes plus tard sur le NumPad 5 ce qui fait qu'il me fait une erreur comme j'ai desactiv le NumLock :P Il faudrais regler sa =)

A++
Nexto

signaler à un administrateur
Commentaire de GabSoftware le 18/11/2005 01:48:32

en fait, numlock est là pour ça, c'est un piege, il faut reappuyer sur numlock pour pouvoir faire les chiffres ;)
des fois on oublie de le remettre, ça fait descendre le score, je trouve ça bien hehe!
ça permet de corser le jeu !

signaler à un administrateur
Commentaire de Nexto le 18/11/2005 07:12:36

si on le remet on perd d'office 1 point, il compte comme une touche fausse.

A++
Nexto (fabienfs)

signaler à un administrateur
Commentaire de OneHacker le 18/11/2005 18:43:52

Je te mets 6/10 car c'est pas mal mais, pas très interéssant !

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Jeu de tir FINI !!! [ par dimdam ] Je souhaite remercier tous ceux qui nous ont aidé à résoudre les bugs de notre programme. Il est actuellement fini et disponible en téléchargement sur Simulation d'appui touche clavier pour bot jeu video [ par insomnix ] Bonjour a tous,Je suis sur un projet de mini bot pour un jeu video&nbsp;et j'ai besoin d'envoyer des appuis touches clavier pour pouvoir controler le Touche du clavier inactives dans un application VB6 [ par doude123 ] &nbsp; Bonjour a tous, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; J'ai recuperer une application VB6 (donc pas coder par moi ) qui a une probleme, je dois Access -> Mail Outlook Access -> Internet Explorer [ par Sylvain93 ] Bonjour,Sous Access, j'ai un champs avec une adresse mail dedans, et je voudrais quand lorsque l'on clique dessus ca ouvre un nouveau message Outlook Verifier que c'est une adresse avec @ [ par master4523 ] Bonjour tout le monde, j'ai deux problemes : Je voudrais que par exemple quand on clique sur un bouton &#231;a v&#233;rifie si Text4 contientun @, do Comment créer un lien qui exécute un raccourci clavier ? [ par lesiwa81 ] Tout d'abord bonjour à tous, Je viens souvent sur ce site et je trouve mon bonheur sans poster mais là j'ai une question sans réponse. J'espère que l ado [ par drpsico ] bonjour g un petit probleme avec ma base de donn&#233; accessalors dans ma base il y 3colonnes id,nom,adressesur ma feuille g un combobox un textbox e comment substituer une touche clavier à une commandbutton [ par raro ] bonjour &#224; tous! j'ai cr&#233;er une petite appli pour entrer des donn&#233;es sur un base et je voudrais savoir si il existe en moyen d'enregist Mail Anonyme [ par Nitroshima ] a ceux qui cherchent à envoyer des mails anonymes et qui on Windows faites le trucs le plus simple... utilisez Outlook express... s'il n'a jamais été pb: calculatrice [ par wael1_2 ] bjr a tous :je suis entrain de developper&nbsp;un&nbsp;&nbsp;programme d'une calculatrice simple&nbsp; , et je veux que les&nbsp; &#233;vennements &nb


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,733 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.