Vokabel Trainer

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

coolo

Betreff: Vokabel Trainer

BeitragMo, Sep 29, 2008 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Da ich einen Vokabel Trainer für die Schule brauchte, habe ich einen zusammen gebastelt.

features:
Führt Log über den Verlauf, des Testes
Nach dem 3 Fächer prinzip: ein Vokabel was 3 mal gewusst wurde(kann man beliebig erhöhen), wird nicht mehr gefragt.

Todo:
unregelmaeßige Verben
mehrere Bedeutungen für ein Vokabel
Editor, zum bearbeiten von .trn Dateien

Code: [AUSKLAPPEN]

Const TRENNZEICHEN$="="
Const RICHTIG=3

Type TVokabel
   Field Lang1$ ;Sprache 1 bedeutung
   Field Lang2$ ;Sprache 2 bedeutung
   Field richtig
End Type
Global Vok.TVokabel

Global MaxVokabel=0


Print "Guten Tag, beim Vokabel Trainer TRAINER."
e$=Input("Welche Datei möchten Sie öffnen? ")

read_sprachdatei OpenFile("lang/"+e$+".trn")
Logstream=WriteFile("log.txt")

SeedRnd MilliSecs()

Repeat
   If say$=e$ And Vok.TVokabel<>Null Then
      Print "Richtig"
      Vok\richtig=Vok\richtig+1
   ElseIf Vok.TVokabel<>Null
      Print "Falsch! Die Lösung lautet: "+sayy$
      Vok\richtig=Vok\richtig-1
   EndIf
      
   v=0
   vokid=Rand(1,MaxVokabel)
   If First TVokabel=Null Then RuntimeError "Alles Richtig!"
   For Vok=Each TVokabel
      
      v=v+1
      If v=vokid Then
         If Rand(1,0)
            Print "Vokabel: "+Vok\Lang1
            sayy$=Vok\Lang2
            say$=Vok\Lang2
         Else
            Print "Vokabel: "+Vok\Lang2
            sayy$=Vok\Lang1
            say$=Vok\Lang1
         EndIf
         Exit
      EndIf
      If Vok\richtig=RICHTIG
         Delete Vok.TVokabel
         WriteLine Logstream,Vok\Lang1+" / "+Vok\Lang2+" wurde von der Liste gelöscht"
         MaxVokabel=MaxVokabel-1
      EndIf
   Next
   e$=Input("Antwort: ")
   e2$=e$
   e$=Trim(e$)
   e$=Lower(e$)
   e$=Replace(e$," ","")
   say$=Trim(say$)
   say$=Lower(say$)
   say$=Replace(say$," ","")
   If say$=e$ Then
      WriteLine Logstream,"Gefragt: "+sayy$+" Antwort: "+say$+" gewusst"
   ElseIf e2$<>"exit"
      WriteLine Logstream,"Gefragt: "+sayy$+" Antwort: "+say$+" nicht gewusst, geantwortet: "+e2
   EndIf
   Cls
   Flip
   Locate 0,0
Until e$="exit"


Function read_sprachdatei(stream)
   If stream=0 Then RuntimeError "KEINE DATEI!"
   While Eof(stream)=0
      zeile$=ReadLine(stream)
      zeile$=Trim(zeile)
      Vok=New TVokabel
      Vok\Lang1$=Left(zeile,Instr(zeile,TRENNZEICHEN))
      Vok\Lang1=Replace(Vok\Lang1,TRENNZEICHEN,"")
      
      Vok\Lang2$=Right(zeile,Len(zeile)-(Instr(zeile,TRENNZEICHEN)))
      If Vok\Lang2="" Or Vok\Lang1="" Then Delete Vok.TVokabel Else MaxVokabel=MaxVokabel+1
      
   Wend
End Function


und zum download: https://www.blitzforum.de/upload/file.php?id=3490
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group