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

   10! *********************
   12!
   14! MINEN SUCHEN
   16! UWE SIEBERT 28.5.1986
   18!
   20! *********************
   22 WINDOW:CLS:DIM MZ(25),MS(25),AN(17,17):Q=0:A$=" "
   24 PRINT,""
   26 PRINT,"MINEN SUCHEN"
   28 PRINT,""
   30 PRINT:PRINT "DU HAST DIE AUFGABE, VON DER LINKEN"
   32 PRINT "UNTEREN IN DIE RECHTE OBERE ECKE DES"
   34 PRINT "SPIELFELDES ZU GELANGEN. STELL DIR DAS"
   36 PRINT "ABER NICHT SO EINFACH VOR! 25 MINEN "
   38 PRINT "KOENNEN DICH DARAN HINDERN! MIT HILFE"
   40 PRINT "DER TASTEN ,, und  KANNST DU"
   42 PRINT "            ";CHR$(191);CHR$(142);" ";CHR$(191);"     ";
   44 PRINT CHR$(142)
   46 PRINT "DEIN MAENNCHEN NACH OBEN,UNTEN,LINKS"
   48 PRINT "bzw.RECHTS BEWEGEN. DURCH GLEICHZEI-"
   50 PRINT "TIGES DRUECKEN ZWEIER TASTEN KANNST DU"
   52 PRINT "DICH AUCH SCHRAEG BEWEGEN. NACH JEDEM"
   54 PRINT "SCHRITT ERSCHEINT BLINKEND AN DEINEM"
   56 PRINT "STANDORT DIE ANZAHL DER IN DEINER UM-"
   58 PRINT "GEBUNG SICH BEFINDENDEN MINEN."
   60 PRINT "( Dabei bedeuten:"
   62 PRINT "- keine; 1 eine; 2 zwei und V mehr als  zwei Minen)"
   64 PRINT AT(21,0);" ":PRINT AT(23,30);">ENTER<"
   66 IF INKEY$<>CHR$(13)THEN 66
   67 CLS:PRINT "TRITTS DU AUF EINE MINE, SO IST ES UM"
   68 PRINT "DICH GESCHEHEN. GLAUBST DU ZU WISSEN,"
   69 PRINT "WO SICH EINE MINE BEFINDET, MUSST DU"
   70 PRINT "DIE TASTE >ESC< DRUECKEN UND DANACH"
   71 PRINT "DURCH ANGABE DER KOORDINATEN DIE MINE"
   72 PRINT "SICHTBAR MACHEN!"
   73 PRINT AT(6,0);" ":PRINT AT(20,30);">ENTER<" 
   75 IF INKEY$<>CHR$(13)THEN 75:ELSE CLS
   80 PRINT ,""
   90 PRINT ,"MINEN SUCHEN"
  100 PRINT ,""
  110 FOR K=0 TO 15
  120 PRINT AT(21,22+K);CHR$(238)
  130 PRINT AT(20-K,21);CHR$(244)
  140 PRINT AT(5+K,38);CHR$(232)
  150 PRINT AT(4,37-K);CHR$(226)
  160 IF K>9 THEN KK=K-10:ELSE KK=K
  170 PRINT AT(20-K,18);KK
  180 NEXT K
  190 PRINT AT(22,22);"0123456789012345"
  200 PRINT AT(17,22);CHR$(248):PRINT AT(18,23);CHR$(136)
  210 PRINT AT(19,24);CHR$(136):PRINT AT(20,25);CHR$(159)
  220 PRINT AT(5,34);CHR$(192):PRINT AT(6,35);CHR$(137)
  230 PRINT AT(7,36);CHR$(137):PRINT AT(8,37);CHR$(158)
  240 WINDOW 5,20,1,16
  245 PRINT "EINEN AUGENBLICK":PRINT "BITTE !":PRINT
  250 FOR K=1 TO 25
  260 Z=INT(RND(1)*16)+5
  270 S=INT(RND(1)*16)+22  
  280 MZ(K)=Z:MS(K)=S
  282 IF Z=17 AND S<23 OR Z=18 AND S<24 OR Z=19 AND S<25 OR Z=20 AND S<26 THEN 260
  284 IF Z=5 AND S>33 OR Z=6 AND S>34 OR Z=7 AND S>35 OR Z=8 AND S>36 THEN 260   
  295 FOR L=0 TO K-1
  300 IF MZ(L)=MZ(K) AND MS(L)=MS(K) THEN     260
  305 NEXT L
  320 NEXT K
  330 CLS:PRINT "JETZT  LAUFE !":PRINT:I=20:J=22
  340 PRINT AT(I,J);CHR$(196):PAUSE 1
  350 PRINT AT(I,J);A$:PAUSE 1
  360 ON JOYST$(1) GOTO 500,550,1,600,650,700,1,750,800,850,1,1,1,1,1,900
  370 GOTO 340
  375 Q=Q+1:IF I<8 AND J>29+I THEN 1200
  380 FOR K=1 TO 25
  390 IF I=MZ(K) AND J=MS(K) THEN 1000
  400 NEXT K
  405 AN=0
  410 FOR N=I-1 TO I+1
  420 FOR M=J-1 TO J+1
  430 FOR K=1   TO 25
  440 IF MZ(K)=N AND MS(K)=M THEN AN=AN+1
  450 NEXT K,M,N
  460 IF AN=0 THEN A$="-"
  470 IF AN=1 THEN A$="1"
  480 IF AN=2 THEN A$="2"
  490 IF AN>2 THEN A$="V"
  495 GOTO 340
  500! LINKS
  510 I=I:J=J-1
  520 IF J=21 THEN J=22
  530 GOTO 375
  550! RECHTS
  560 I=I:J=J+1
  570 IF J=38 THEN J=37
  580 GOTO 375
  600! UNTEN
  610 I=I+1:J=J
  620 IF I=21 THEN I=20
  630 GOTO 375
  650! LI UNT
  660 I=I+1:J=J-1
  670 IF I=21 THEN I=20
  680 IF J=21 THEN J=22
  690 GOTO 375
  700! RE UNT
  710 I=I+1:J=J+1
  720 IF I=21 THEN I=20
  730 IF J=38 THEN J=37
  740 GOTO 375
  750! OBEN
  760 I=I-1:J=J
  770 IF I=4 THEN I=5
  780 GOTO 375
  800! LI OB
  810 I=I-1:J=J-1
  820 IF I=4 THEN I=5
  830 IF J=21 THEN J=22
  840 GOTO 375
  850! RE OB
  860 I=I-1:J=J+1
  870 IF I=4 THEN I=5
  880 IF J=38 THEN J=37
  890 GOTO 375
  900 CLS
  910 PRINT "MINE GEFUNDEN?"
  920 PRINT:INPUT "ZEILE ?";X
  930 PRINT:INPUT "SPALTE?";Y
  940 FOR K=1 TO 25
  950 IF MZ(K)=20-X AND MS(K)=22+Y THEN       960
  955 NEXT K:BEEP:PRINT:PRINT "KEINE MINE!":PRINT
  957 PRINT "2 STRAFSCHRITTE!":PRINT:GOTO 375
  960 PRINT AT(20-X,22+Y);CHR$(207):PRINT:PRINT "O'KAY!":PRINT
  980 GOTO 375
 1000! TOD
 1010 PRINT AT(I,J);CHR$(202)
 1020 BEEP
 1030 CLS
 1040 PRINT "DU BIST AUF"
 1050 PRINT "EINE MINE GE-"
 1060 PRINT "TRETEN,"
 1070 PRINT "ARMES SCHWEIN!":PRINT
 1080 PAUSE 30: GOTO 1400
 1200! SIEG
 1210 BEEP:PRINT AT(I,J);CHR$(196)
 1220 CLS
 1230 PRINT "DU HAST ES MIT"
 1240 PRINT "   ";Q
 1250 PRINT "SCHRITTEN"
 1260 PRINT "GESCHAFFT !":PRINT
 1270 PRINT "GRATULIERE !"
 1280 PRINT:GOTO 1400
 1400 FOR K=1 TO 25
 1410 PRINT AT(MZ(K),MS(K));CHR$(207)
 1420 NEXT K
 1430 PAUSE 100:WINDOW:CLS:END