Soyez le premier à donner votre avis sur cette source.
Vue 5 519 fois - Téléchargée 430 fois
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
21 déc. 2008 à 14:13
Le programme propose parfois les syllabes d'un autre mots.
Les syllabes sont toujours dans le même ordre.
Il serai intéressant de mettre dans le fichier texte la liste des mots avec mot FR = mot JAP et que le programme s'occupe tout seule d'identifier et de décomposer les syllabes.
Hiragana et des Katakana, API DrawText en unicode DrawTextW
__
Kenji
21 déc. 2008 à 12:38
13 déc. 2008 à 23:06
Ca m'a l'air sympa pour apprendre le japonnais ca.
Dommage que la liste des mots soit petite, faudrait la peupler.
Pourquoi pas faire un affichage des hiragana et des katakana ?
Ps: Il manque le vbp dans zip.
__
Kenji
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.