Ich dachte mir, warum immer 3 Zeilen, mach doch gleich zehn Mal so viele. Gesagt, getan! Sogar 40 Zeilen! Und weil's mir besser gefällt, wahlweise nur im Einmaleins bis 10 (also max. 10*10), dafür aber mit 0, hehe... Das entspricht zwar nicht der Aufgabenstellung, aber die war ja eh nicht gerade herausfordernd (vielleicht gab es deswegen so wenige Rückmeldungen?)
Code
# einmaleins v1.0
100 cls:init
110 einmaleins-auswahl
120 repeat:bild frei:aufgaben:until x=0
130 bild frei:print at(10,0)"";:center"Bis zum naechsten Mal!"
140 print at(lin+4,3)"(Du hast"ri"Mal richtig gerechnet"
150 print at(lin,4)"und"fa"Mal falsch!)"
160 print at(21,0)"":end
1000 proc init
1010 x=rnd(-ti):l1=10:l2=100:color11,12,0
1020 dim f1,f2,er,lv,ri,fa,mx
1030 r$=".... ....":m$=" Einmal-Eins ":bild frei
1040 end proc
1100 proc einmaleins-auswahl
1110 print at(2,2)"Welches Einmal-Eins? ";:x=pos(0)
1120 print at(4,2)"(a = bis 10"at(5,3)"b = bis 100)"at(2,x)"";:x$="a":mx=3
1130 fetch"ab",1,x$:if x$="a" then lv=l1:else lv=l2:mx=5
1140 fchr 1,1,38,23,32:m$=" Einmaleins bis"+str$(lv)+" "
1150 end proc
1200 proc zufall
1210 f1=int(rnd(1)*(lv+1))
1220 f2=int(rnd(1)*(lv+1))
1230 end proc
1300 proc bild frei
1310 insert r$,0,0,40,25,0:center at(0,0)m$
1320 end proc
1500 proc aufgaben
1510 print at(2,2)"Rechne im Kopf:"at(4,2)"";:zufall
1520 print f1"*"f2"= ";:repeat:until peek(197)=64
1530 fetch"0123456789",mx,x$,1:er=val(x$)
1540 if f1*f2=er then do
1545 print at(6,2)"Ja, richtig!":ri=ri+1
1550 else
1555 print at(6,2)"Nein, leider falsch!"at(7,2)"Das Ergebnis lautet:";:fa=fa+1
1560 print f1"*"f2"="f1*f2
1565 done
1570 print at(10,2)"Mehr (j/n) ";:weiter
1580 end proc
1600 proc weiter
1610 x$="j":fetch"jn",1,x$
1620 if x$="j" then x=1:else x=0
1630 end proc
Alles anzeigen
Code im C64Studio-Format, kann dort nach Copy eingefügt werden. In VICE auch (die erste Zeile wird da aber angemäkelt - und auf der letzten Zeile Return drücken!). Wer für R$ "schönere" Zeichen vorzieht, nimmt diese hier: {cbm-a}{shift-*}{cbm-s}{shift--}{space}{shift--}{cbm-z}{shift-*}{cbm-x} (das bildet den TSB-Kasten).
Arndt