home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
M.u.C.S. Disc 2000
/
MUCS2000.iso
/
anwend
/
10finger
/
10f_men1.lst
next >
Wrap
File List
|
1994-09-22
|
27KB
|
907 lines
Datum$="26.09.1987"
Cls
Anfang=Timer
Stufe=0
Tippzahl=0
Dim A$(150),X1(150),X2(150),Y1(150),Y2(150)
Dim Stufe(150),Art$(150),Shift(150),Finger(150)
Dim Kleinkon$(50),Grosskon$(50),Zeich$(50),Vok$(50)
Dim Finger$(9),Pfeil_x(9),Pfeil_y(9)
Dim Spielzeichen$(29)
Dim Menue$(50)
For I=0 To 50
Read Menue$(I)
Exit If Menue$(I)="***"
Next I
Data Desk , Info
Data --------------------
Data 1,2,3,4,5,6,""
Data Programm, Erklärung, Stufe wählen, Statistik, Musik,-------------------, Programmende,""
Data Übung, Einführung, Übungstext,------------------, Spiel
Data ,,***
Gosub Bildbau
Deftext 1,16,0,32
Text 125,90,"Zehn-Finger-Lehrgang"
Deftext 1,0,0,4
Text 40,370,"programmiert in GfA-BASIC von Heiko Müller, Mozartstra₧e 17, 2905 Edewecht"
Text 40,380,"Version vom "+Datum$
Gosub Speicher_einlesen
Menu Menue$()
Print At(58,1);"Schwierigkeitsstufe ";Stufe
On Menu Gosub Menue
Do
On Menu
Loop
Procedure Menue
If Menue$(Menu(0))=" Info"
Al$="1 0 F I N G E R . P R G | "+Chr$(189)+" 1987|"
Al$=Al$+" by | Heiko Müller|"
Alert 0,Al$,1," Aha ",Dummy
Endif
If Menue$(Menu(0))=" Stufe wählen"
Gosub Stufe_eingeben
Endif
If Menue$(Menu(0))=" Erklärung"
Gosub Erklaerung
Endif
If Menue$(Menu(0))=" Statistik"
Gosub Statistik
Endif
If Menue$(Menu(0))=" Musik"
Gosub Musik
Endif
If Menue$(Menu(0))=" Programmende"
Alert 2,"Soll das Programm|wirklich beendet werden?",2," Ja | Nein ",Antw
If Antw=1
Edit
Endif
Endif
If Menue$(Menu(0))=" Einführung"
If Stufe<9
Gosub Einfuehrung
Else
Gosub Erklaerung3
Endif
Endif
If Menue$(Menu(0))=" Übungstext"
If Stufe<9
Gosub Ueben
Else
Gosub Text_abschreiben
Endif
Endif
If Menue$(Menu(0))=" Spiel"
@Tippen
Endif
Menu Menue$()
Menu 14,-Musik
Print At(58,1);"Schwierigkeitsstufe ";Stufe
Menu Off
Return
Procedure Erklaerung
Cls
Print
Print " Unter dem dem Menüpunkt >>Stufe wählen<< kannst Du die Schwierigkeits-"
Print " stufe verändern. Die Buchstaben, die bei der gewählten Stufe geübt werden"
Print " sollen, sind schwarz unterlegt."
Print
Print " Die Auswahl kannst Du treffen, indem Du einfach auf die Zahlentaste mit"
Print " der gewünschten Stufe tippst. Es ist auch möglich, die Stufe mit der Maus"
Print " oder den Pfeiltasten zu bestimmen. Wenn Du Deine Wahl getroffen hast,"
Print " tippst Du auf die Taste [Return] oder klickst das Return-Feld mit der Maus"
Print " an."
Print
Print " Wenn Du eine neue Schwierigkeitsstufe gewählt hast, kannst Du Dir auf"
Print " dem Monitor zeigen lassen, welche Taste mit welchem Finger getippt wird."
Print " Wähle dazu >>Erklärung<< aus dem Menü aus. Wenn Du meinst, da₧ Du die"
Print " Tasten gut genug finden kannst, wählst Du dann den >>Übungstext<<."
Print
Print " Regle bitte die Lautstärke so, da₧ Du den Tastenanschlag hören kannst."
Print " (am besten gleich mit irgendeiner Taste ausprobieren)"
Print
Print " Mit [Esc] geht's zurück zum Menü";
Repeat
Until Asc(Inkey$)=27
Cls
Return
Procedure Uebungsstring_erstellen
Ueb$=""
Repeat
Wort$=""
If Stufe>6
Wort$=Str$(Random(100))+" "
Endif
If Stufe>5
Wort$=Wort$+Grosskon$(Random(Gko))
Else
Wort$=Wort$+Kleinkon$(Random(Kko))
Endif
Wort$=Wort$+Vok$(Random(Vo))
Wort$=Wort$+Kleinkon$(Random(Kko))
Wort$=Wort$+Vok$(Random(Vo))
Wort$=Wort$+Kleinkon$(Random(Kko))
Wort$=Wort$+Vok$(Random(Vo))
If Stufe>4
Wort$=Wort$+Kleinkon$(Random(Kko))
Wort$=Wort$+Zeich$(Random(Ze))
Endif
If Left$(Wort$,1)<>" "
Wort$=Wort$+" "
Endif
Ueb$=Ueb$+Wort$
Until Len(Ueb$)>65
Ueb$=Left$(Ueb$,65)
Return
Procedure Ueben
Repeat
Gosub Uebungsstring_erstellen
Tippanfang=Timer
L=Len(Ueb$)
If Right$(Ueb$,1)=" "
Dec L
Endif
Fehler=0
Cls
Print At(8,3);"Schwierigkeitsstufe ";Stufe
Print At(8,7);"Übungstext bitte abschreiben:"
Print At(8,20);"[Esc] = Abbruch"
Rbox 40,120,600,220
Print Chr$(27);"e" ! Cursor einschalten
Print At(8,10);Ueb$
Print At(8,12);
For S=1 To L
Inc Tippzahl
X$=Mid$(Ueb$,S,1)
Wiederholung=0
Repeat
Repeat
A$=Inkey$
Until A$>""
If A$<>X$ And Asc(A$)<>27
Print Chr$(27);"j"; ! Cursorposition merken
Print A$;
Print Chr$(27);"k"; ! an gespeicherte Cursorposition gehen
Out 2,7
Inc Fehler
Inc Wiederholung
Inc Fehlerzahl
If Wiederholung>1
Sget Bild$
Print Chr$(27);"f"; ! Cursor ausschalten
Print Chr$(27);"j"; ! Cursorposition merken
Gosub Hilfe
Print Chr$(27);"e"; ! Cursor anschalten
Print Chr$(27);"k"; ! an gespeicherte Cursorposition gehen
Sput Bild$
Endif
Endif
If Asc(A$)=27 And S<50
Print " - abgebrochen"
Endif
Exit If Asc(A$)=27
Until A$=X$
Exit If Asc(A$)=27
Print X$;
Next S
Tippzeit=Tippzeit+Timer-Tippanfang
If Fehler=0 And Asc(A$)<>27 And Musik=True
Gosub Dreiklang
Endif
Print Chr$(27);"f" ! Cursor ausschalten
Print At(8,7);" "
Print At(8,16);Fehler;" Fehler"
Print At(8,19);"[Return] = Neuer Übungstext"
Print At(8,20);"[Esc] = zurück zum Menü"
Repeat
A$=Inkey$
Until Asc(A$)=13 Or Asc(A$)=27
Until Asc(A$)=27
Cls
Return
Procedure Musik
If Musik=True
Musik=False
Else
Musik=True
Gosub Dreiklang
Alert 1,"Wenn Du eine Übungszeile|fehlerfrei abgetippt hast,|hörst Du diesen Dreiklang.",1,"Nun ja",Dummy
Endif
Return
Procedure Dreiklang
Sound 1,15,1,4,4
Sound 1,15,5,4,5
Sound 1,15,8,4,5
For S=15 Downto 0
Sound 1,S,1,5,5
Next S
Return
Procedure Bildbau
For S=0 To 8
Read Finger$(S),Pfeil_x(S),Pfeil_y(S)
Next S
Deftext 1,0,0,13
S=0
Do
Inc S
Read A$(S),X1(S),X2(S),Y1(S),Y2(S)
Read Stufe(S),Art$(S),Shift(S),Finger(S)
Exit If A$(S)="grossende"
Box X1(S),Y1(S),X2(S),Y2(S)
Text X1(S)+5,Y1(S)+15,A$(S)
Loop
Color 0
Line 576,210,624,210 ! Unterteilung in Returntaste löschen
Color 1
Dec S
Do
Inc S
Read A$(S),X1(S),X2(S),Y1(S),Y2(S)
Read Stufe(S),Art$(S),Shift(S),Finger(S)
Exit If A$(S)="ende"
Box X1(S),Y1(S),X2(S),Y2(S)
If Len(A$(S))<2
Text X1(S)+5,Y1(S)+30,A$(S)
Endif
Loop
Sget Tastbild$
Get 515,290,585,330,Capslock$
For S=1 To 29
Read Spielzeichen$(S)
Next S
Return
Procedure Speicher_einlesen
S=-1
Vo=-1
Kko=-1
Gko=-1
Ze=-1
Do
Inc S
If Stufe(S)<=Stufe
If Art$(S)="vo" And Not Shift(S)
Inc Vo
Vok$(Vo)=A$(S)
Endif
If Art$(S)="ko" And Shift(S)
Inc Gko
Grosskon$(Gko)=A$(S)
Endif
If Art$(S)="ko" And Not Shift(S)
Inc Kko
Kleinkon$(Kko)=A$(S)
Endif
If Art$(S)="ze"
Inc Ze
Zeich$(Ze)=A$(S)
Endif
Endif
Exit If A$(S)="ende"
Loop
Inc Vo
Inc Gko
Inc Kko
Inc Ze
Return
Procedure Hilfe
Defline 1,5,0,1
Sput Tastbild$
If Stufe=6
Print At(5,3);"Die Shift-Tasten werden mit den kleinen Fingern gehalten."
Endif
If Stufe=0
Print At(5,2);"Das Zeichen, das oben eingerahmt ist, soll getippt werden. Sieh"
Print At(5,3);"dabei möglichst wenig auf das Tastenbild unten auf dem Bildschirm!"
Endif
If Einfuehrung
Print At(5,24);"Einführung in Stufe ";Stufe;
Print At(63,24);"[Esc] = Abbruch";
Endif
Deftext 1,0,0,32
Text 300,100,X$
Rbox 290,65,325,110
Graphmode 3
Such=0
Repeat
Inc Such
Until A$(Such)=X$
Deffill 0,2,8
Pbox X1(Such),Y1(Such),X2(Such),Y2(Such)
F=Finger(Such)
If Shift(Such)
If F<5
Pbox 535,250,605,290
Else
Pbox 35,250,95,290
Endif
Endif
Deffill 1,1,1
If Pfeil_x(F)<>X1(Such) Or Pfeil_y(F)<>Y1(Such)
Line Pfeil_x(F)+20,Pfeil_y(F)+20,X1(Such)+20,Y1(Such)+20
Endif
Graphmode 1
Deftext 1,16,0,13
Text 450+400*(F<5),80,Finger$(F)
Capslock:
Cl=Bios(11,-1) And 16
If Cl=16
Graphmode 3
Deffill 1,2,1
Pbox 516,291,584,329
Else
Put 515,290,Capslock$
Endif
Graphmode 1
Capslock=False
Daneben=0
Repeat
Repeat
A$=Inkey$
Clo=Bios(11,-1) And 16
If Clo<>Cl
Capslock=True
Endif
Exit If Capslock
Until A$>""
Exit If Capslock
If A$<>X$
Inc Daneben
If Daneben>2
If Cl=16
Deffill 0,1,1
Defline 1,5,2,2
Get 180,150,460,270,Sicher$
Pbox 180,150,460,270
Box 185,155,455,265
Print At(25,12);" Du hast mit der Taste CapsLock "
Print At(25,13);" auf Gro₧schreibung umgestellt! "
Print At(25,14);" "
Print At(25,15);" Bitte zurückschalten! ";
Repeat
Clo=Bios(11,-1) And 16
Until Clo=0
Put 180,150,Sicher$
Daneben=0
Endif
Endif
Endif
Until A$=X$ Or Asc(A$)=27
Defline 1,1,0,0
If Capslock
Goto Capslock
Endif
Return
Procedure Stufe_eingeben
Repeat
Cls
If Stufenwahl$=""
Deftext 1,0,0,13
Print At(6,2);"Bitte Schwierigkeitsstufe auswählen, dann [Return]"
Print At(6,5);"0 A S D F J K L Ö Anfänger"
Print At(6,7);"1 Q W E R U I O P"
Print At(6,9);"2 G H T Z"
Print At(6,11);"3 V B N M"
Print At(6,13);"4 Y X C , . -"
Print At(6,15);"5 Ä Ü ₧"
Print At(6,17);"6 ! ? ; : _ und Gro₧schreibung"
Print At(6,19);"7 1 2 3 4 5 6 7 8 9 0 + * < >"
Print At(6,21);"8 ";Chr$(34);" ▌ $ % & / ( ) = ' ` # ^ Profi"
Print At(6,23);"9 gedruckte Texte abschreiben"
Print At(63,5);"Return"
Graphmode 1
For S=1 To 10
Box 32,23+S*32,320,55+S*32
Next S
Line 64,55,64,375
Box 480,55,560,87
For S=0 To 6
Text 360,110+S*32,""
Next S
Sget Stufenwahl$
Else
Sput Stufenwahl$
Endif
Deffill 1,1,1
Graphmode 3
Pbox 32,55,320,87+Stufe*32
Do
Mouse X,Y,K
A$=Inkey$
Exit If K=1 Or Asc(A$)=13
Exit If Asc(A$)>47 And Asc(A$)<58
Exit If Len(A$)=2 And (Right$(A$)="H" Or Right$(A$)="P")
Loop
Exit If Asc(A$)=13
Repeat
Until Mousek=0
If Asc(A$)>47 And Asc(A$)<59
Stufe=Val(A$)
Endif
If K=1 And X>32 And X<320 And Y>55 And Y<375
Stufe=Int((Y-23)/32)-1
Endif
If Right$(A$)="H" And Stufe>0
Dec Stufe
Endif
If Right$(A$)="P" And Stufe<9
Inc Stufe
Endif
Until X>480 And X<560 And Y>55 And Y<87
Cls
Graphmode 1
Gosub Speicher_einlesen
Return
Procedure Einfuehrung
Einfuehrung=True
Do
Restore Einfuehrung
Repeat
Repeat
Read S,Ueb$
Until S=Stufe Or S=9
If S<9
For S=1 To Len(Ueb$)
X$=Mid$(Ueb$,S,1)
Gosub Hilfe
Exit If Asc(A$)=27
Next S
Endif
Until Asc(A$)=27 Or S=9
Exit If Asc(A$)=27
Loop
Einfuehrung=False
Cls
Pause 20
Return
Procedure Aufhoeren
Alert 2," Soll das Programm | wirklich beendet werden? ",2," ja | nein ",Antw
If Antw=1
End
Endif
Return
Procedure Statistik
Uebzeit=Int((Timer-Anfang)/200)
Stunden=Int(Uebzeit/3600)
Minuten=Int(Uebzeit/60)-Stunden*60
Sekunden=Uebzeit-Stunden*60-Minuten*60
If Tippzeit>0
Tippquote=Int(Tippzahl*12000/Tippzeit)
Endif
If Tippzahl>0
Fehlerquote=Int((Fehlerzahl/Tippzahl*100)*10)/10
Endif
Cls
Print At(10,6);"Statistik"
Print At(10,9);"Du hast jetzt ";
If Stunden>0
Print Stunden;" Stunden, ";
Endif
If Minuten>0 Or Stunden>0
Print Minuten;" Minuten und ";
Endif
Print Sekunden;" Sekunden"
Print At(10,10);"mit diesem Programm gearbeitet."
Print
Print At(10,12);"In den Übungstexten hast Du insgesamt ";Tippzahl;" Zeichen getippt. Dabei"
Print At(10,13);"hast Du durchschnittlich ";Tippquote;" Anschläge pro Minute geschafft."
Print
Print At(10,15);"Insgesamt hast Du ";Fehlerzahl;" Fehler gemacht."
Print At(10,16);"Das entspricht einer Fehlerquote von ";Fehlerquote;"%"
Rbox 50,70,590,280
Line 50,105,590,105
Return
Procedure Tippen
Cls
Deftext 1,16,0,32
Print At(4,5);"Es kommt darauf an, bis zum Ablauf der Zeit"
Print At(4,6);"möglichst viele der Zufallsbuchstaben zu tippen."
Print At(4,7);"Gro₧- oder Kleinschreibung spielt keine Rolle."
Print At(4,9);"Mit der Leertaste geht's los."
Restore Spielstufen
For S=0 To Stufe
Read X
Next S
Repeat
Until Inkey$=" "
Cls
Repeat
Zeit=1000
Treffer=0
Box 280,252,340,274
Do
Print At(35,8);Treffer'"Treffer "
X$=Spielzeichen$(Random(X)+1)
Text 300,200,X$
Repeat
A$=Inkey$
' ----------------------
If A$="ä" ! diese Zeilen ersetzen das Kommando A$=Upper$(A$),
A$="Ä" ! das leider nicht vom Compiler verstanden wird.
Endif
If A$="ö"
A$="Ö"
Endif
If A$="ü"
A$="Ü"
Endif
If Asc(A$)>96 And Asc(A$)<123
A$=Chr$(Asc(A$)-32)
Endif
' ----------------------
Dec Zeit
Print At(38,17);Zeit;'
Exit If Zeit<1
Pause 1
Exit If Asc(A$)=27
Until A$=X$
Inc Treffer
Exit If Zeit<1
Exit If Asc(A$)=27
Loop
Exit If Asc(A$)=27
For S=15 Downto 0
Sound 1,S,1,4,4
Next S
Print At(4,22);"nochmal ? (J/N)"
Repeat
A$=Inkey$
Until A$="J" Or A$="N" Or A$="j" Or A$="n"
Until A$="N" Or A$="n"
Print At(4,22);" "
Return
Procedure Text_abschreiben
Cls
Print At(15,15);"[ Help ] = Erklärung (oder beide Maustasten)"
Print At(15,16);"[ Return ] = weiter (oder rechte Maustaste)"
Do
A$=Inkey$
Exit If (Asc(Left$(A$))=0 And (Asc(Right$(A$))=98)) Or Asc(A$)=13
Mouse X,Y,K
Exit If K>1
Loop
If Asc(Right$(A$))=98 Or K=3
Gosub Erklaerung2
Endif
If Asc(A$)=27
Goto Abbruch
Endif
Repeat
Repeat
Cls
Print
Print " Bitte die gewünschte Übungstext-Datei mit der linken Maustaste anklicken,"
Print " dann das Feld [OK] anklicken oder [Return] tippen."
Print At(1,24);" Übungstexte enthalten das Anhängsel .UEB. Sie befinden sich normalerweise"
Print " im Ordner UEBTEXTE, der durch Anklicken geöffnet wird.";
Fileselect "\*.ueb","",B$
Exit If Not Exist(B$)
If Exist(B$)
Open "I",#1,B$
Uebungstext$=""
S=0
Cls
Print
Do
Inc S
Line Input #1;Text$
Uebungstext$=Uebungstext$+Text$+Chr$(13)
If S<24
Print 'Text$;Chr$(13);Chr$(10);
Endif
Exit If Mousek>1 Or Eof(#1)
Loop
Endif
Close #1
Graphmode 1
Deffill 0,1,1
Defline 1,5,2,2
Prbox 150,150,450,270
Rbox 150,150,450,270
L=Len(Uebungstext$)
While Asc(Right$(Uebungstext$,1))<33
Uebungstext$=Left$(Uebungstext$,L-1)
Dec L
Wend
Print At(22,11);"Diesen Text habe ich eingelesen."
Print At(22,12);"Er hat ";L;" Zeichen."
Print At(22,14);"Ist das der richtige?"
Print At(22,16);" Ja Nein"
Defline 1,1,2,2
Box 170,235,270,260
Line 220,235,220,260
Do
A$=Inkey$
Exit If A$="j" Or A$="J" Or A$="n" Or A$="N"
Mouse X,Y,K
Exit If X>170 And X<270 And Y>235 And Y<260 And K=1
Loop
Until A$="J" Or A$="j" Or (K=1 And X<235)
Exit If Not Exist(B$)
Tippanfang=Timer
Fehler=0
Daneben=False
Cls
Print " Schreibe bitte den gedruckten Übungstext ab. [Esc] = Abbruch"
Print Chr$(27);"e" ! Cursor einschalten
Zeile=0
Print " ";
For S=1 To L
Inc Zeile
X$=Mid$(Uebungstext$,S,1)
Repeat
Repeat
A$=Inkey$
Until A$>""
If A$=" " And X$=Chr$(13) And Zeile>50
A$=X$
Endif
Exit If Asc(A$)=27
If A$<>X$ And Asc(A$)<>27
Daneben=True
Out 2,7
Inc Fehler
Inc Wiederholung
Inc Fehlerzahl
Print Chr$(27);"j"; ! Cursorposition merken
Print A$;
Print Chr$(27);"k"; ! an gespeicherte Cursorposition gehen
Endif
Exit If Asc(A$)=27
Until A$=X$
Exit If Asc(A$)=27
If Daneben
Daneben=False
If X$<>Chr$(13)
Print Chr$(27);"p"; ! inverse Darstellung einschalten
Print X$;
Print Chr$(27);"q"; ! inverse Darstellung ausschalten
Else
Zeile=0
Print Chr$(27);"p"; ! inverse Darstellung einschalten
Print " ";
Print Chr$(27);"q"; ! inverse Darstellung ausschalten
Print X$;Chr$(10);" ";
Endif
Else
Print X$;
If X$=Chr$(13)
Zeile=0
Print Chr$(10);" ";
Endif
Endif
If (X$=" " Or X$="-") And Mid$(Uebungstext$,(S+1),1)=Chr$(13)
Inc S
Zeile=0
Print Chr$(13);Chr$(10);" ";
Endif
Inc Tippzahl
Next S
Tippzeit=Tippzeit+Timer-Tippanfang
Print Chr$(27);"f" ! Cursor ausschalten
Print
Print 'Fehler;" Fehler ";
Print " [Return] = Neuer Text [ Esc ] = Ende der Übung"
Repeat
A$=Inkey$
Until Asc(A$)=27 Or Asc(A$)=13
Until Asc(A$)=27
Abbruch:
Cls
Return
Procedure Erklaerung2
Cls
Print
Print " Wenn Du in dieser Schwierigkeitsstufe arbeiten willst, brauchst Du"
Print " ausgedruckte Texte zum Abschreiben. Die Texte befinden sich auf dieser"
Print " Diskette. Wenn Du sie nicht in ausgedruckter Form vorliegen hast,"
Print " kannst Du an dieser Stelle nicht weitermachen."
Print " Tippe dann die Taste [Esc]."
Print
Print " Beim Abschreiben kannst Du am Zeilenende mit [Return] in die nächste"
Print " Zeile kommen - wie bei einer Schreibmaschine - oder einfach mit einem"
Print " Leeranschlag zum nächsten Wort weitergehen - wie bei einem Textver-"
Print " arbeitungsprogramm. Dies funktioniert allerdings nicht am Ende eines"
Print " Absatzes (mitten in der Zeile)!"
Print
Print " Fehler werden durch einen Glockenton signalisiert. Das Programm ar-"
Print " beitet erst weiter, wenn das richtige Zeichen getippt ist, jedoch"
Print " bleibt die Stelle, an der der Fehler gemacht wurde, markiert."
Print
Print " Das Ausdrucken der Übungstexte geht am besten mit Hilfe eines Textver-"
Print " arbeitungsprogramms. Zur Not geht es auch vom Desktop aus. Wie das"
Print " geht, findest Du in der Bedienungsanleitung des Computers. Bei dieser"
Print " Ausdruckart wird aber wahrscheinlich das ₧ (und vielleicht auch die"
Print " Umlaute ä, ö und ü) nicht richtig ausgedruckt."
Print
Print " [Return] = Übungstext aussuchen [Esc] = Abbruch";
Do
A$=Inkey$
Exit If Asc(A$)=27 Or Asc(A$)=13
Loop
Return
Procedure Erklaerung3
Cls
Print
Print " In dieser Schwierigkeitsstufe gibt es keine Einführungsübung. Du solltest"
Print " bereits alle Tasten kennen und nun in der Lage sein, Texte abzuschreiben, die"
Print " in gedruckter Form vorliegen. Unter dem Menüpunkt >>Übungstexte<< kannst Du"
Print " jetzt Texte auswählen, die Du bereits als gedruckte Texte vor Dir hast und"
Print " daran üben, sie abzuschreiben."
Print
Print " Weitere Erklärungen findest Du beim Aufruf des Übungstextes."
Print
Print " Mit beliebiger Taste geht's zum Menü zurück."
Repeat
Until Mousek=0
Repeat
Until Inkey$>"" Or Mousek>0
Cls
Return
' ##########
Data Daumen,155,290,kleiner Finger,115,210,Ringfinger,155,210,Mittelfinger,195,210,Zeigefinger,235,210
Data Zeigefinger,355,210,Mittelfinger,395,210,Ringfinger,435,210,kleiner Finger,475,210
' ##########
' Reihenfolge der Daten: Zeichen, X-Wert oben links, X-Wert unten rechts,
' Y-Wert oben links, Y-Wert unten rechts,
' Stufe, Art, Shift oder nicht, Fingernummer
' ########## obere Reihe
Data Esc,35,85,130,170,9,9,9,9
Data !,85,125,130,170,6,ze,-1,1
Data """,125,165,130,170,8,ze,-1,1
Data ▌,165,205,130,170,8,ze,-1,2
Data $,205,245,130,170,8,ze,-1,3
Data %,245,285,130,170,8,ze,-1,4
Data &,285,325,130,170,8,ze,-1,4
Data /,325,365,130,170,8,ze,-1,5
Data (,365,405,130,170,8,ze,-1,5
Data ),405,445,130,170,8,ze,-1,6
Data =,445,485,130,170,8,ze,-1,7
Data ?,485,525,130,170,6,ze,-1,8
Data `,525,565,130,170,8,ze,-1,8
Data ^,565,605,130,170,8,ze,-1,8
' ########## zweite Reihe von oben
Data Tab,35,105,170,210,9,9,9,9
Data Q,105,145,170,210,9,ko,-1,1
Data W,145,185,170,210,6,ko,-1,2
Data E,185,225,170,210,6,vo,-1,3
Data R,225,265,170,210,6,ko,-1,4
Data T,265,305,170,210,6,ko,-1,4
Data Z,305,345,170,210,6,ko,-1,5
Data U,345,385,170,210,6,vo,-1,5
Data I,385,425,170,210,6,vo,-1,6
Data O,425,465,170,210,6,vo,-1,7
Data P,465,505,170,210,6,ko,-1,8
Data Ü,505,545,170,210,6,vo,-1,8
Data *,545,585,170,210,7,ze,-1,8
Data ,585,625,170,210,9,9,9,9
' ########### dritte Reihe von oben
Data Control,35,115,210,250,9,9,9,9
Data A,115,155,210,250,6,vo,-1,1
Data S,155,195,210,250,6,ko,-1,2
Data D,195,235,210,250,6,ko,-1,3
Data F,235,275,210,250,6,ko,-1,4
Data G,275,315,210,250,6,ko,-1,4
Data H,315,355,210,250,6,ko,-1,5
Data J,355,395,210,250,6,ko,-1,5
Data K,395,435,210,250,6,ko,-1,6
Data L,435,475,210,250,6,ko,-1,7
Data Ö,475,515,210,250,6,vo,-1,8
Data Ä,515,555,210,250,6,vo,-1,8
Data Return,555,625,210,250,9,9,9,9
' ########## vierte Reihe von oben
Data Shift,35,95,250,290,9,9,9,9
Data >,95,135,250,290,7,ze,-1,1
Data Y,135,175,250,290,6,vo,-1,1
Data Y,135,175,250,290,6,ko,-1,1
Data X,175,215,250,290,6,ko,-1,2
Data C,215,255,250,290,6,ko,-1,3
Data V,255,295,250,290,6,ko,-1,4
Data B,295,335,250,290,6,ko,-1,4
Data N,335,375,250,290,6,ko,-1,5
Data M,375,415,250,290,6,ko,-1,5
Data ;,415,455,250,290,6,ze,-1,6
Data :,455,495,250,290,6,ze,-1,7
Data _,495,535,250,290,6,ze,-1,8
Data Shift,535,605,250,290,9,9,9,9
' ########### unterste Reihe
Data Altern,95,155,290,330,9,9,9,9
Data ,155,515,290,330,0,9,0,0
Data CapsLock,515,585,290,330,9,9,9,9
Data grossende,0,0,0,0,0,0,0,0
' ########### obere Reihe
Data 1,85,125,130,170,7,za,0,1
Data 2,125,165,130,170,7,za,0,1
Data 3,165,205,130,170,7,za,0,2
Data 4,205,245,130,170,7,za,0,3
Data 5,245,285,130,170,7,za,0,4
Data 6,285,325,130,170,7,za,0,4
Data 7,325,365,130,170,7,za,0,5
Data 8,365,405,130,170,7,za,0,5
Data 9,405,445,130,170,7,za,0,6
Data 0,445,485,130,170,7,za,0,7
Data ₧,485,525,130,170,7,ze,0,8
Data ',525,565,130,170,8,ze,0,8
Data #,565,605,130,170,8,ze,0,8
' ########## zweite Reihe
Data q,105,145,170,210,9,ko,0,1
Data w,145,185,170,210,1,ko,0,2
Data e,185,225,170,210,1,vo,0,3
Data r,225,265,170,210,1,ko,0,4
Data t,265,305,170,210,2,ko,0,4
Data z,305,345,170,210,2,ko,0,5
Data u,345,385,170,210,1,vo,0,5
Data i,385,425,170,210,1,vo,0,6
Data o,425,465,170,210,1,vo,0,7
Data p,465,505,170,210,1,ko,0,8
Data ü,505,545,170,210,5,vo,0,8
Data +,545,585,170,210,7,ze,0,8
' ########## dritte Reihe von oben
Data a,115,155,210,250,0,vo,0,1
Data s,155,195,210,250,0,ko,0,2
Data d,195,235,210,250,0,ko,0,3
Data f,235,275,210,250,0,ko,0,4
Data g,275,315,210,250,2,ko,0,4
Data h,315,355,210,250,2,ko,0,5
Data j,355,395,210,250,0,ko,0,5
Data k,395,435,210,250,0,ko,0,6
Data l,435,475,210,250,0,ko,0,7
Data ö,475,515,210,250,0,vo,0,8
Data ä,515,555,210,250,5,vo,0,8
' ############ vierte Reihe von oben
Data <,95,135,250,290,7,ze,0,1
Data y,135,175,250,290,4,vo,0,1
Data x,175,215,250,290,4,ko,0,2
Data c,215,255,250,290,4,ko,0,3
Data v,255,295,250,290,3,ko,0,4
Data b,295,335,250,290,3,ko,0,4
Data n,335,375,250,290,3,ko,0,5
Data m,375,415,250,290,3,ko,0,5
Data ",",415,455,250,290,4,ze,0,6
Data .,455,495,250,290,4,ze,0,7
Data -,495,535,250,290,4,ze,0,8
' ########## Zeichen, die aus mehreren Buchstaben bestehen
Data Qu,0,0,0,0,6,ko,-1,9
Data qu,0,0,0,0,1,ko,0,9
Data tz,0,0,0,0,2,ko,0,9
Data st,0,0,0,0,2,ko,0,9
Data ck,0,0,0,0,4,ko,0,9
Data ng,0,0,0,0,3,ko,0,9
Data Ch,0,0,0,0,6,ko,-1,9
Data ch,0,0,0,0,4,ko,0,9
Data Sch,0,0,0,0,6,ko,-1,9
Data sch,0,0,0,0,4,ko,0,9
Data ei,0,0,0,0,1,vo,0,9
Data eu,0,0,0,0,1,vo,0,9
Data au,0,0,0,0,1,vo,0,9
Data ai,0,0,0,0,1,vo,0,9
Data äu,0,0,0,0,5,vo,0,9
Data ee,0,0,0,0,1,vo,0,9
Data oo,0,0,0,0,1,vo,0,9
Data ie,0,0,0,0,1,vo,0,9
' ##########
Data ende,0,0,0,0,0,0,0,0
' ##########
Data A,S,D,F,J,K,L,Ö,Q,W,E,R,U,I,O,P,T,Z,G,H,V,B,N,M,Y,X,C,V,Ä,Ü
Spielstufen:
Data 8,16,20,24,27,29,29,29,29,29
' ##########
' Dies folgenden Texte werden bei der Einführung eingelesen.
' Vorne steht die dazugehörige Schwierigkeitsstufe. Es dürfen beliebig
' viele neue Übungszeilen hinzugefügt werden. Bei der Einführung werden
' sie der Reihe nach immer wieder von vorne eingelesen.
' ##########
Einfuehrung:
Data 0,asdfölkj fdsajklö adsföklj afkjöfls djslakös jösfklfaö
Data 1,aqswdefrjukiloöpasdfqwerölkjpoiufrfjjujöpöpöfqfaqaqf
Data 2,fgfgfgjhjhjhftftftjzjzjzfgtfrfjhzjatfagafatarföjöhözöujsrzltahrögu
Data 3,fvfbfvfbjmjnjmjnfrftfgfbfvjujzjhjnjmgztuvmbnfjghtzruzntumnhutfgrbfjuzht
Data 4,"aysxdck,l.ö-fyfxfcj,j.j-scyak-.kc,daqayswsxdedcqyqyakik,lol.öpöp-p-ö"
Data 5,"öäöäöpöüöpöüöpö₧öpö₧öjöjäjüjpj₧j-jöj-jäjüjpj₧käkökükpk-kök₧k"
Data 6,"AaBbCcdDeEFfGghHiIjJKkLlmMNnoOpPQqrRsSTtUuvVWwXxYyzZäÄöÖüÜ"
Data 6,"k,k;k,k;l.l:l.l:ö-ö_ö-ö-öaqa!aqa!₧ö?ö₧ö?kik,lol.öpö-j-j_jäj?a!y!-_-?"
Data 7,a1a2s3d4f5f6j7k8l9ö0+0*8as12df34fg56jk78lö90a<a>y<y>öäö+ö*ö₧ö
Data 7,"aqa1a2aqayasws3swsxsded4dedcdfrf5frf6fvfjuj7juj8jmjkik9kik,klol0lol.l"
Data 7,1357924680+17364941349+7085461028157+93641467930353+04891349762
Data 8,"1!a2"s3▌d4$f5%f6&g7/h8(9)k0=l'`ö'`ä#^+ä#^+ä"
Data 8,"a1aya2aya"frf5f%fvf6f&j8j7j(j/jnö₧ö?ö'ö`ööäö+ö#ö^ö"
Data 9,9