Programme vb6.0 // jeu de sylable japonaises.

Description

Ce petit programme génère "aléatoirement" un mot en français (à partir d'une liste) et affiche, dans le désordre, les sylables de ce mot en japonais. A vous en suite de retrouver le mot en japonais.

Il est possible de rajouter des mots via un petit formulaire (sur le form1 cliquer sur le bouton "modifier") ce qui rajoutera dans le fichier "add-aja.txt" les mots que vous avez ajouter. Ou encore de consulter l'aide qui regroupe tous les mots japonais dans une liste.

La source est composé de trois form et d'un module, je vous affiche le premier form.

Source / Exemple :

Private Sub cmd_aide_Click()

If Form1.txt_fr = "" Then 'on test si le joueur à lancer un mot, si vide, on n'ouvre pas l'aide

MsgBox ("Vous ne pouvez demander de l'aide sans avoir lancer un nouveau mot.")
Else

Form2.Show 'sinon on ouvre l'aide
End If


End Sub

Private Sub cmd_jouer_Click()

If Form1.txt_fr = "" Then 'on test la valeur du mot en Français, si vide, le jeu n'est pas lancé
    a = MsgBox("Vous devez lancer un nouveau mot.", vbInformation, "Attention")
Else

        If txt_jap = "" Then 'si la valeur txt_jap (qui correspond à la reponse du joueur) est vide, on ne peut verifier la reponse
          a = MsgBox("Vous n'avez rien écrit...", vbInformation, "Attention")
        Else

        i = lbl_i

            If txt_jap = c_motjap.List(i) Then 'on regarde mnt si la valeur dans le textbox est la meme que celle dans le combo
               a = MsgBox("C'est correct, bien jouez :)", vbExclamation, "Bien joué")
               
                txt_fr = ""
                txt_jap = ""
                label_sylable(1) = " "
                label_sylable(2) = " "
                label_sylable(3) = " "
                label_sylable(4) = " " 'on initialise
                
            
            Else

           a = MsgBox("Ce n'est pas bon, retentez..", vbCritical, "Dommage") '
            txt_jap = ""
End If
    End If
        End If




End Sub

Private Sub cmd_modif_Click()

Form1.Hide 'on cache le form1
Form3.Show 'on ouvre le form3

End Sub

Private Sub cmd_quit_Click() 'commande pour quitter le jeu

rep = MsgBox("Vous êtes sur le point de quitter le jeu, êtes vous sûr ?", vbYesNo, "Quitter ?")

If rep = 6 Then

End

End If

End Sub

Private Sub Command1_Click(Index As Integer)
Dim decoup() As String 'découpe le mot en sylable
Dim i As Integer
Dim Y As Integer

txt_jap = ""
label_sylable(1) = " "
label_sylable(2) = " "
label_sylable(3) = " "
label_sylable(4) = " "


Randomize
i = Int(Rnd() * c_motfr.ListCount) 'on donne à i une valeur "aleatoire" de 0 jusqu'au total du combo c_motfr



If txt_fr <> "" Or c_motjap.List(i) <> "" Then 'on test les valeurs pour savoir si on peut découper le mot en sylable

lbl_i = i

txt_fr = c_motfr.List(i) 'on donne au label le mot qui correspond au numero de i

decoup() = Split(c_sylable.List(i), "-") 'on découpe le mot du combo qui correspond au num i

Y = 1 'on donne y = 1


Do

label_sylable(Y) = decoup(Y) 'decoup(0) correspond au premier "-" du mot, on ne le compte donc pas

Y = Y + 1

rep = decoup(Y)


Loop Until rep = "F" 'on arrete lorsque la derniere sylable est égale à "F"
End If


End Sub
Private Sub Form_Load()

Dim cherche() As String
Dim mot As String
Dim renvoi As Boolean


c_motfr.AddItem "Bonjour"
c_motfr.AddItem "Aurevoir"
c_motfr.AddItem "Merci"
c_motfr.AddItem "Force"
c_motfr.AddItem "Terre"
c_motfr.AddItem "Silence"
c_motfr.AddItem "Pourquoi"
c_motfr.AddItem "Lointain"
c_motfr.AddItem "Dépêche toi"
c_motfr.AddItem "Luciole"

c_motjap.AddItem "konichiwa"
c_motjap.AddItem "sayonara"
c_motjap.AddItem "arigatou"
c_motjap.AddItem "chikara"
c_motjap.AddItem "chikyuu"
c_motjap.AddItem "damare"
c_motjap.AddItem "doushite"
c_motjap.AddItem "haruka"
c_motjap.AddItem "hayaku"
c_motjap.AddItem "hotaru"

c_sylable.AddItem "-ni-ko-wa-chi-F"
c_sylable.AddItem "-sa-na-ra yo-F"
c_sylable.AddItem "-ga-tou-ari-F"
c_sylable.AddItem "-ra-chi-ka-F"
c_sylable.AddItem "-ky-uu-chi-F"
c_sylable.AddItem "-da-re-ma-F"
c_sylable.AddItem "-shi-dou-te-F"
c_sylable.AddItem "-ka-ha-ru-F"
c_sylable.AddItem "-ha-ku-ya-F"
c_sylable.AddItem "-ho-ru-ta-F" 'initialisation de 10 mots dans les combo



Dim FileName As String
    Dim errCode As Integer
    Dim errString As String
    Dim fileContent As String
    Dim t() As String
    Dim nbLines As Long

    FileName = "add-aja.txt"
    
    fileContent = ReadFileToBuffer(FileName, errCode, errString)
    
   
    If errCode = 0 Then
        
        ' Découpage en lignes
        t() = Split(fileContent, vbCrLf)
        
        
               
            
        ' calcul du nombre de lignes et affichage
        nbLines = UBound(t()) + IIf(LBound(t()) = 0, 1, 0)
               
        For i = 0 To nbLines - 1
               
               List1.AddItem t(i)
        
        Next i
        
        
    Else
        ' Erreur rencontrée, affichage
        MsgBox "Erreur lors de la lecture. Code : " & errCode & ". Description : " & errString
    End If
    
    
i = 0
While Form1.List1.List(i) <> "" 'ici on rajoute les mots qui sont dans le fichier texte
    mot = Form1.List1.List(i) 'on donne la chaine de caractere qui est dans la liste dans la variable mot
    cherche() = Split(mot, "/") 'on decoupe le mot lorsqu'il y a un espace, pour differencier les thermes

If cherche(0) = "motfr" Then 'on cherche quand le premier mot est "motfr" pour ensuite
a = 0
    Do  'verifié que ce mot n'est pas déjà dans la liste
        If c_motfr.List(a) = cherche(1) Then
            renvoi = False
        Else
            renvoi = True
        End If
        a = a + 1
    Loop Until renvoi = False Or a = c_motfr.ListCount

    If renvoi = True Then
        c_motfr.AddItem cherche(1)
    End If
    
End If


If cherche(0) = "motjap" Then 'on cherche quand le premier mot est "motjap" pour ensuite
a = 0
    Do  'verifié que ce mot n'est pas déjà dans la liste
        If c_motjap.List(a) = cherche(1) Then
            renvoi = False
        Else
            renvoi = True
        End If
        a = a + 1
    Loop Until renvoi = False Or a = c_motjap.ListCount

    If renvoi = True Then
        c_motjap.AddItem cherche(1)
    End If
    
End If


If cherche(0) = "sylable" Then 'on cherche quand le premier mot est "sylable" pour ensuite
a = 0
    Do  'verifié que ce mot n'est pas déjà dans la liste
        If c_sylable.List(a) = cherche(1) Then
            renvoi = False
        Else
            renvoi = True
        End If
        a = a + 1
    Loop Until renvoi = False Or a = c_sylable.ListCount

    If renvoi = True Then
        c_sylable.AddItem cherche(1)
    End If
    
End If

i = i + 1
Wend
   
    
End Sub

Conclusion :

J'espère que cela vous plaira, et peu être que vous retiendrez quelques mots Japonais :)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.