rechnen_sss.tap
rechnen_sss.z80
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

30000! *************************
30010!
30020! KOPFRECHNEN
30030! UWE  SIEBERT
30040!
30050! **************
30060 WINDOW:CLS
30070 S=100
30080 A$="":B$="":G=0:A=0
30090 WINDOW: PRINT ,"KOPFRECHNEN"
30100 PRINT ,""
30110 PRINT AT(8,0);STRING$(34,CHR$(160))
30120 PRINT AT(8,34);CHR$(169)
30130 FOR I=9 TO 23
30140 PRINT AT(I,34);CHR$(161)
30150 NEXT I
30160 FOR I=15 TO 23
30170 PRINT AT(I,35);""
30180 NEXT I
30190 PRINT AT(18,3);"GERETTETE  :    "
30200 PRINT AT(20,3);"ABGESTUERZT:    "
30210 GOSUB 30350:! AUFGABE ERMITTELN
30220 WINDOW 10,16,3,31
30230 PRINT "RECHNE:";X;" * ";Y;" = ";
30240 I=0:B$=""
30250 I=I+1:IF I=37 THEN 30480:! ABSTURZ
30260 PRINT AT(4,I-1);" ":PRINT AT(4,I);" "
30270 PRINT AT(5,I-1);" ":PRINT AT(5,I);""
30280 PRINT AT(6,I-1);" ":PRINT AT(6,I);" "
30290 PRINT AT(7,I-1);" ":PRINT AT(7,I);" "
30300 FOR O=1 TO S:NEXT O
30310 A$=INKEY$:IF A$="" THEN 30250
30320 B$=B$+A$:A$=""
30330 W=VAL(B$):IF W=Z THEN 30400:!RICHTIG
30340 GOTO 30250
30350! UP
30360 X=INT(RND(1)*12)+1
30370 Y=INT(RND(1)*12)+1
30380 Z=X*Y
30390 RETURN
30400! UP
30410 PRINT W:PRINT:PRINT:PRINT,"RICHTIG!"
30420 G=G+1:PRINT AT(18,16);G
30430 PRINT AT(4,I);"   ":PRINT AT(5,I);"   "
30440 PRINT AT(6,I);"   ":PRINT AT(7,I);"   "
30450 PAUSE 20:CLS:S=S-20
30460 IF A+G<10 THEN 30210
30470 PRINT "NOCH EINMAL? >CONT<":PAUSE:GOTO 30070
30480! UP
30490 BEEP:PRINT W:PRINT:PRINT," FALSCH!":PRINT:PRINT,X;"*";Y;"=";Z
30500 FOR I=4 TO 16 STEP 4
30510 PRINT AT(I,37);"  ":PRINT AT(I+1,36);"   "
30520 PRINT AT(I+2,37);" ":PRINT AT(I+3,37);" "
30530 PRINT AT(I+4,37);"":PRINT AT(I+5,36);""
30540 PRINT AT(I+6,37);"":PRINT AT(I+7,37);""
30550 BEEP:NEXT I
30560 PAUSE 50:CLS
30570 A=A+1:PRINT AT(20,15);A
30580 FOR I=15 TO 23
30590 PRINT AT(I,35);""
30600 NEXT I
30610 IF A+G<10 THEN 30210
30620 GOTO 30470