Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß) 1 REM PROGRAMM"HALMA" 2 REM RENZ,RED EC745,801 DRESDEN 4 CLEAR 256:GOTO 5000 5 BORDER 1:E=33:Z=1:D=0 10 WINDOW 0,23,0,39:PAPER 1:CLS 17 WINDOW 1,3,4,14 20 PAPER 5:INK 8:CLS 21 PRINT AT(1,4);" " 22 PRINT AT(2,5);"H A L M A" 24 PAPER 1:INK 8:PRINT AT(9,0);"ZEILE:" 26 PRINT AT(11,0);"SPALTE:" 28 PRINT AT(13,0);"RICHTUNG:" 32 A$="1 2 3 4 5 6 7" 34 PRINT AT(2,23);A$:PRINT AT(19,23);A$ 38 FOR I=1 TO 7:A=3+2*I:J=64+I 42 PRINT AT(A,20);CHR$(J) 44 PRINT AT(A,37);CHR$(J):NEXT I 45 PAPER 1:INK 6 46 FOR I=3 TO 18 47 FOR J=21 TO 36 48 PRINT AT(I,J);CHR$(255) 49 NEXT J:NEXT I 52 PAPER 5:INK 8 54 A$="" 56 FOR I=4 TO 16 STEP 2:PRINT AT(I,26);A$:NEXT I 62 FOR I=8 TO 12 STEP 2:PRINT AT(I,22);A$ 68 PRINT AT(I,30);A$:NEXT I 70 A$="" 72 FOR I=5 TO 17 STEP 2:PRINT AT(I,26);A$:NEXT I 76 FOR I=9 TO 13 STEP 2:PRINT AT(I,22);A$ 82 PRINT AT(I,30);A$:NEXT I 100 WINDOW 21,23,0,39:BEEP 101 PAPER 1:PRINT AT(21,0);" " 102 IF Z>1 THEN GOTO 210 105 PAPER 5:INK 8:CLS 110 PRINT AT(22,2);"KANN'S LOSGEHEN? (J)/N" 112 PRINT AT(21,0);" " 115 PAPER 3:INK 1:PRINT AT(22,25);">" 130 A$=INKEY$ 135 IF A$="N"THEN GOTO 900 140 IF A$="J"THEN GOTO 200 145 IF A$=CHR$(13)THEN GOTO 200 150 GOTO 130 200 PAPER 5:INK 8:CLS 205 PRINT AT(22,3);"ENTFERNEN SIE ZUERST EINEN STEIN!" 208 PRINT AT(21,0);" " 210 GOSUB 1000 220 GOSUB 3000 222 IF Z>1 THEN GOTO 235 225 PAPER 5:INK 8:CLS 227 PRINT AT(21,0);" " 230 PRINT AT(22,3);"SPRINGEN SIE AUF'S FREIE FELD!" 235 GOSUB 1000 240 FOR A=8 TO 11 245 GOSUB 4000 250 IF W=1 THEN A=11:NEXT A:GOTO 300 255 NEXT A 260 PAPER 5:INK 8:CLS 265 PRINT AT(22,3);"DER STEIN KANN NICHT SPRINGEN!" 267 PRINT AT(21,0);" " 270 PAPER 3:INK 1:PRINT AT(9,10);"?" 275 BEEP 280 GOTO 235 300 PAPER 3:INK 1:PRINT AT(13,10);">" 310 A$=INKEY$ 315 IF LEN(A$)=0 THEN GOTO 310 320 PAPER 1:CLS 322 PRINT AT(21,0);" " 325 PRINT AT(13,12);" ":PRINT AT(13,10);" " 330 A=ASC(A$) 335 FOR J=8 TO 12 340 IF A=J THEN J=12:NEXT J:GOTO 400 345 NEXT J 350 PAPER 5:INK 8:CLS 352 PRINT AT(21,0);" " 355 PRINT AT(22,5);"PFEILE BENUTZEN!" 360 PAPER 3:INK 1:PRINT AT(13,12);"?" 365 BEEP 370 GOTO 300 400 IF A<>12 THEN GOTO 440 405 PAPER 5:INK 8:CLS 410 PRINT AT(22,5);"KONZENTRATION!" 411 PRINT AT(21,0);" " 412 BEEP 415 GOTO 235 440 GOSUB 4000 445 IF W=1 THEN GOTO 500 450 PAPER 5:INK 8:CLS 452 PRINT AT(21,0);" " 455 PRINT AT(22,3);"SPRUNG IST NICHT MOEGLICH!" 460 PAPER 3:INK 1:PRINT AT(13,12);"?" 465 BEEP 470 GOTO 300 500 GOSUB 3000 505 I=I+K:GOSUB 3000 510 I=I+K 515 POKE I,132 520 POKE I-1,133:POKE I-40,135:POKE I-41,134 600 J=0:S=0 605 FOR I=-4899 TO-4405 STEP 2 610 IF J=8 THEN I=I+64:J=0 615 IF PEEK(I)<>132 THEN J=J+1:NEXT I 617 IF I=-4403 GOTO 700 620 S=S+1 625 FOR A=8 TO 11 630 GOSUB 4000 635 IF W=1 THEN A=11:NEXT A:GOTO 235 640 NEXT A 645 J=J+1:NEXT I 700 PAPER 5:INK 8:A=4:I=12:J=1 703 CLS 704 PRINT AT(21,0);" " 705 IF S<3 THEN GOTO 715 710 IF S<D THEN PRINT AT(21,4);"SCHON BESSER!" 711 GOTO 725 715 IF S=1 THEN PRINT AT(22,A);"TOLL!! NUR":A=15 720 IF S=2 THEN PRINT AT(22,A);"PRIMA, NUR":A=15 725 PRINT AT(22,A);"NOCH",S,"STEIN" 727 IF S>9 THEN I=13 730 IF S>1 THEN PRINT AT(22,A+I);"E":J=2 735 PRINT AT(22,A+I+J); "UEBRIG!" 738 IF D=50 THEN GOTO 790 740 PRINT AT(23,4);"NEUES SPIEL? (J)/N " 745 PAPER 3:INK 1 750 PRINT AT(23,24);">" 755 D=S 760 IF D<E THEN E=D 761 A$=INKEY$ 763 IF A$="J"THEN Z=Z+1:GOTO 10 764 IF A$=CHR$(13)THEN Z=Z+1:GOTO 10 765 IF A$="N"GOTO 767 766 GOTO 761 767 PAPER 5:INK 8:CLS:PRINT AT(21,0);" " 770 PRINT AT(21,4);"BESTES ERGEBNIS BEI" 775 IF Z<2 THEN PRINT AT(21,23);Z,"VERSUCH:" :GOTO 782 780 PRINT AT(21,23);Z,"VERSUCHEN:" 782 S=E 785 A=10:I=12:J=1:D=50:GOTO 725 790 PRINT AT(23,4);"BIS ZUM NAECHSTEN MAL!" 795 WINDOW 0,23,0,39 800 END 900 PAPER 5:INK 8:CLS 905 PRINT AT(21,0);" " 910 PRINT AT(21,4);"SCHADE!" 920 PRINT AT(23,4);"AUF WIEDERSEHEN!" 925 WINDOW 0,23,0,39 930 END 1000 REM UP KOORDINATEN 1010 PAPER 1:PRINT AT(9,8);" ":PRINT AT(11,9);" " 1020 PAPER 3:INK 1:PRINT AT(9,7);">" 1025 A$=INKEY$ 1028 IF LEN(A$)=0 THEN GOTO 1025 1035 PAPER 1:INK 3:CLS:PRINT AT(9,10);" " 1037 PRINT AT(21,0);" " 1040 PRINT AT(9,8);A$ 1045 PRINT AT(9,7);" " 1050 FOR I=0 TO 6 1055 IF ASC(A$)=65+I THEN II=I:I=6:NEXT I:GOTO 1200 1060 NEXT I 1062 WINDOW 21,23,0,39 1065 PAPER 5:INK 8:CLS:PRINT AT(22,3);"BUCHSTABEN A-G VERWENDEN!" 1070 PRINT AT(21,0);" " 1075 PAPER 3:INK 1:PRINT AT(9,10);"?" 1077 BEEP 1080 GOTO 1000 1200 PAPER 3:INK 1:PRINT AT(11,8);">" 1210 PAPER 1:PRINT AT(11,9);" " 1215 A$=INKEY$ 1217 IF LEN(A$)=0 THEN GOTO 1215 1220 PAPER 1:INK 3:PRINT AT(11,9);A$ 1222 PRINT AT(11,11);" ":CLS 1223 PRINT AT(21,0);" " 1225 PRINT AT(11,8);" " 1230 FOR J=1 TO 7 1235 IF VAL(A$)=J THEN GOTO 1300 1240 NEXT J 1245 PAPER 5:INK 8:CLS:PRINT AT(22,5);"ZAHLEN 1-7 VERWENDEN!" 1247 PRINT AT(21,0);" " 1250 PAPER 3:INK 1:PRINT AT(11,11);"?" 1252 BEEP 1255 GOTO 1200 1300 I=-4899+II*80+2*J 2105 IF PEEK(I)=132 THEN RETURN 2110 PAPER 5:INK 8:CLS:PRINT AT(22,6);"DA IST KEIN STEIN!" 2115 PRINT AT(21,0);" " 2120 PAPER 3:INK 1:PRINT AT(9,10);"?" 2127 BEEP 2130 GOTO 1000 3000 REM UP STEIN TILGEN 3005 POKE I,32:POKE I-1,32 3015 POKE I-40,32:POKE I-41,32:RETURN 4000 REMUP SPRUNG MOEGL.? 4005 W=0 4010 IF A=8 THEN K=-2 4015 IF A=9 THEN K=2 4020 IF A=10 THEN K=80 4025 IF A=11 THEN K=-80 4035 IF PEEK(I+K)<>132 THEN RETURN 4040 IF PEEK(I+2*K)<>32 THEN RETURN 4045 W=1:RETURN 5000 WINDOW 0,23,0,39:PAPER 1:INK 8:CLS 5002 PRINT AT(0,0);" " 5005 BORDER 2 5010 PRINT AT(2,2);"HEIMCOMPUTER robotron Z9001" 5011 PRINT AT(6,2);CHR$(136) 5012 PRINT AT(4,2);CHR$(193) 5013 PRINT AT(4,37);CHR$(137) 5014 PRINT AT(6,37);CHR$(200) 5015 PRINT AT(5,2);CHR$(159) 5016 PRINT AT(5,37);CHR$(192) 5020 PRINT AT(5,3);"SPIEL" 5022 FOR I=3 TO 36 5023 PRINT AT(4,I);CHR$(158):PRINT AT(6,I);CHR$(248) 5024 NEXT I 5025 INK 2:PRINT AT(8,2);STRING$(36,"") 5026 FOR I=9 TO 13:PRINT AT(I,2);"":PRINT AT(I,37);"":NEXT I 5027 PRINT AT(14,2);STRING$(36,"") 5030 INK 8:PRINT AT(11,24);"'STECK'HALMA" 5040 INK 3:PRINT AT(5,29);"R+HALMA" 5050 PRINT INK 4;AT(22,31);">ENTER<" 5060 INK 3 5070 PRINT AT(18,2);"VEB ROBOTRON-MESSELEKTRONIK " 5080 PRINT AT(20,2);">OTTO SCHOEN< DRESDEN 5200 A$=INKEY$ 5215 IF A$=CHR$(13)THEN GOTO 5 5220 GOTO 5200