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