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

    1 POKE 22,0:POKE 862,1:OUT 136,0
   10 WINDOW:PAPER 1:INK 4:BORDER 8:CLS:DIM C$(14)
   20 DIM A$(14):DIM B$(14):DIM B(14,2):B$(0)="BERLIN":B$(1)="ROSTOCK"
   30 B$(2)="SCHWERIN":B$(3)="NEUBRANDENBURG":B$(4)="POTSDAM"
   40 B$(5)="MAGDEBURG":B$(6)="FRANKFURT":B$(7)="COTTBUS":B$(8)="HALLE"
   50 B$(9)="LEIPZIG":B$(10)="ERFURT":B$(11)="SUHL":B$(12)="GERA"
   60 B$(13)="DRESDEN":B$(14)="KARL-MARX-STADT"
   70 FOR I=1 TO 14:C$(I)=B$(I):NEXT
   80 DATA 5109,146,5108,230,5071,146,5070,135,5069,171,5068,128,5033,146
   90 DATA 5032,147,5030,133,5029,149,5028,228,4995,131,4994,153,4988,161
  100 DATA 4956,129,4954,236,4948,133,4947,149,4916,144,4876,145,4835,150
  110 DATA 4834,135,4796,134,4795,160,4794,132,4756,156,4715,155,4675,161
  120 DATA 4635,132,4636,134,4596,161,4556,132,4557,146,4518,129,4477,128
  130 DATA 4438,153,4398,156,4357,150,4356,149,4355,146,4354,147,4353,150
  140 DATA 4352,135,4312,133,4311,132,4351,134,4350,160,4349,132,4389,134
  150 DATA 4388,147,4427,146,4426,147,4425,133,4424,132,4466,246,4465,135
  160 DATA 4464,161,4504,161,4544,135,4545,133,4585,155,4625,152,4665,155
  170 DATA 4706,246,4705,132,4745,135,4746,150,4787,129,4826,152,4866,161
  180 DATA 4906,155
  190 DATA 4749,178,4992,212,4914,213,4909,213,4710,218,4673,220,4707,223
  200 DATA 4586,213,4553,223,4511,216,4435,209,4396,219,4432,213,4467,212
  210 DATA 4430,214
  220 PRINT ""STRING$(30,"")""
  230 PRINT " Geo.1  BEZIRKSSTAEDTE DER DDR"SPC(6)""
  240 PRINT ""STRING$(30,"")""
  250 PRINT:PRINT "WIE GUT KENNST DU DEIN HEIMATLAND DDR ?":PRINT:PRINT:RESTORE 1000:GOSUB 1090
  260 RESTORE 190:FOR I=0 TO 14:READ B(I,1),B(I,2):NEXT:RESTORE
  270 PRINT "Wieviel Bezirke hat unsere Republik 
  280 INPUT "(Ohne die Hauptstadt Berlin) ?";N:PRINT:PRINT:PRINT:PRINT
  290 IF N=14 THEN PRINT "R I C H T I G  !"
  300 IF N<>14 THEN PRINT "Das ist  F A L S C H  !":F=F+1
  310 PRINT:PRINT "Es sind 14 Bezirke."
  320 POKE-4480,32:GOSUB 1020:WINDOW 4,23,0,39:CLS
  330 WINDOW 4,23,0,21:CLS:PRINT "Nenne die Bezirke"
  340 PRINT "(Schreibe in ":PRINT "Grossbuchstaben !)
  350 FOR I=1 TO 14:IF I<10 THEN PRINT " ";
  360 PRINT I;CHR$(8);:INPUT ".";A$(I):NEXT I
  370 FOR I=1 TO 14:FOR J=1 TO 14:IF A$(J)=C$(I)THEN C$(I)="@":Z=Z+1
  380 NEXT J,I:IF Z=14 THEN PRINT AT(20,22);"R I C H T I G  !":GOTO 440
  390 WINDOW 4,23,22,39:PRINT "Du hast";14-Z;
  400 IF 14-Z<10 THEN PRINT "Fehler":ELSE PRINT "Fehler ";
  410 PRINT "gemacht !":PRINT:PRINT "Du hast":PRINT:F=F+14-Z
  420 FOR I=1 TO 14:IF C$(I)="@"THEN 430:ELSE PRINT C$(I)
  430 NEXT I:PRINT:PRINT "nicht genannt !"
  440 GOSUB 1020:WINDOW 4,23,0,39:CLS:
  450 PRINT "Nun hast Du 2 Moeglichkeiten zur":PRINT "Auswahl !":PRINT
  460 PRINT "1. Ich zeige Dir eine der Bezirks-":PRINT "   hauptstaedte und Du"
  470 PRINT "   nennst ihren Namen.":PRINT:PRINT "   Druecke Taste > 1 < !"
  480 PRINT:PRINT:PRINT:PRINT
  490 PRINT "2. Ich nenne Dir eine Bezirks-"
  500 PRINT "   hauptstadt und Du zeigst mir":PRINT "   ihre Lage.":PRINT
  510 PRINT "   Druecke Taste > 2 < !":POKE-4280,32
  520 T$=INKEY$:IF T$=""THEN 520
  530 IF T$="2"THEN Y=2:GOTO 640
  540 IF T$<>"1"THEN 520
  550 WINDOW:PAPER 4:INK 5:BORDER 1:CLS
  560 FOR I=0 TO 85:READ L,X:POKE-L,X:NEXT:WINDOW 8,23,19,39:Y=1
  570 FOR I=0 TO 23:PRINT AT(I,18);"":NEXT
  580 N=INT(RND(PEEK(31))*15):Z$=""
  590 IF B(N,0)<>0 THEN 580
  600 PRINT "WIE HEISST DIESE":PRINT "STADT ?":PRINT:GOSUB 1040
  610 PRINT:PRINT:IF Z$=B$(N)THEN PRINT "RICHTIG":PAUSE 10:CLS:B(N,0)=1:GOTO 870
  620 PRINT:PRINT:PRINT "F A L S C H  !":F=F+1:PRINT
  630 PRINT "Das ist":PRINT:PRINT B$(N):PAUSE 20:CLS:GOTO 870
  640 WINDOW:PAPER 5:INK 2:BORDER 1:CLS:FOR I=0 TO 70:READ L,X:POKE-L,X:NEXT I
  650 FOR I=0 TO 23:PRINT AT(I,18);"":NEXT
  660 N=-4752:WINDOW 8,23,19,39:PRINT AT(21,0);"Kursorbewegung"
  670 PRINT AT(22,0);"durch ,,,.":PRINT AT(23,12);" "
  680 POKE N,140:S=INT(RND(PEEK(31))*15):IF B(S,0)=1 THEN 680
  690 PRINT "Wo liegt":PRINT:PRINT B$(S);" ?"
  700 T$=INKEY$:IF T$=CHR$(13)THEN 780
  710 IF T$=""THEN 700
  720 IF T$=CHR$(8)THEN M=N-1
  730 IF T$=CHR$(9)THEN M=N+1
  740 IF T$=CHR$(10)THEN M=N+40
  750 IF T$=CHR$(11)THEN M=N-40
  760 IF PEEK(M)<>32 THEN M=N:GOTO 700
  770 POKE M,140:POKE N,32:N=M:GOTO 700
  780 PRINT:PRINT
  790 IF M=-B(S,1)THEN PRINT "R I C H T I G  !":B(S,0)=1:POKE M,B(S,2):ELSE 810
  800 PAUSE 20:GOTO 870
  810 PRINT "F A L S C H  !":PRINT:PRINT B$(S)
  820 IF B(S,1)>-N AND B(S,1)+N<12 THEN PRINT "liegt westlicher":GOTO 860
  830 IF B(S,1)<-N AND B(S,1)+N>-12 THEN PRINT "liegt oestlicher":GOTO 860
  840 IF N+B(S,1)>0 THEN PRINT "liegt noerdlicher !":GOTO 860
  850 PRINT "liegt suedlicher !"
  860 PAUSE 20:POKE M,32:F=F+1
  870 V=0:FOR I=1 TO 14:IF B(I,0)=1 THEN V=V+1
  880 NEXT I:IF V=14 THEN 910
  890 ON Y GOTO 580,900
  900 CLS:N=-4752:GOTO 680
  910 WINDOW 8,23,19,39:CLS:POKE-4752,32
  920 PRINT "Du hast";F;"Fehler":PRINT "gemacht !"
  930 PRINT:PRINT "Das ist":PRINT
  940 PRINT:IF F=0 THEN PRINT "AUSGEZEICHNET !"
  950 IF F<4 THEN PRINT "SEHR GUT !":GOTO 990
  960 IF F<8 THEN PRINT "GUT":GOTO 990
  970 IF F<13 THEN PRINT "NOCH VERTRETBAR !":GOTO 990
  980 PRINT "SEHR MAESSIG !!":PRINT:PRINT "Du musst noch ueben !"
  990 PRINT:PRINT:PRINT:WINDOW:END
 1000 DATA 172,1,162,1,144,2,144,2,0,1,172,1,162,1,144,1,128,1,144,1
 1010 DATA 172,1,216,1,193,1,172,2,172,3
 1020 PRINT AT(23,28);"> ENTER <"
 1030 IF INKEY$<>CHR$(13)THEN 1030:ELSE RETURN
 1040 A=PEEK(-B(N,1)):POKE-B(N,1),140:POKE-B(N,1),A
 1050 T$=INKEY$:IF T$=""THEN 1040
 1060 IF T$=CHR$(13)THEN RETURN
 1070 PRINT T$;:IF T$=CHR$(8)THEN Z$=LEFT$(Z$,LEN(Z$)-1):T$=""
 1080 Z$=Z$+T$:GOTO 1040
 1090 OUT 136,128:T=150
 1100 FOR I=0 TO 14:READ L,X:GOSUB 1120:NEXT
 1110 OUT 136,0:RETURN
 1120 IF L=0 THEN 1140
 1130 OUT 128,7:OUT 128,L
 1140 FOR Q=1 TO X*T:NEXT:OUT 128,3:RETURN