10 REM ******************************** 11 REM * * 12 REM * PROGRAMNAMN :UB]T * 13 REM * * 14 REM * PROGRAM F\R ABC80 * 15 REM * * 16 REM * * 17 REM ******************************** 18 REM * * 19 REM * KONSTUKT\R : JAN BERGLUND * 20 REM * * 21 REM * ADRESS : MASTV[GEN 9 * 22 REM * * 23 REM * POSTADRESS : 19800 B]LSTA * 24 REM * * 25 REM * TELEFON 0171/51345 * 26 REM * * 27 REM ******************************** 28 REM 29 REM Vissa THEN {r borttagna och en rad delad p} 2 f|r 30 REM att undvika Err 20 n{r filen lagras i basformat/Bo K 850703 31 REM 32 REM 33 ; CHR$(12) : ; CUR(6,8);"**** SPELET UB]T ****" : ; : ; 34 ; " VET DU VAD SPELET G]R UT P] (J/N)?"; 35 GET A$ : IF A$<>"j" AND A$<>"J" AND A$<>"n" AND A$<>"N" THEN 33 ELSE IF A$="j" OR A$="J" THEN 70 36 ; CHR$(12) 37 ; "DETTA [R ETT SPEL F\R EN PERSON" 38 ; "DET G]R UT P] ATT SKJUTA NER S]" 39 ; "M]NGA UB]TAR SOM M\JLIGT.DU HAR" 40 ; "TILLG]NG TILL 5 BOMBLUCKOR P]" 41 ; "DIN B]T.F\R ATT MAN SKALL SL[- " 42 ; "PPA EN BOMB S] TRYCKER MAN P] " 43 ; "N]GON AV TANGENTERNA F\R BOMB " 44 ; "LUCKE \PPNING." 45 ; "TANGENT X STYR LUCKA X" 46 ; "TANGENT C STYR LUCKA C" 47 ; "TANGENT V STYR LUCKA V" 48 ; "TANGENT B STYR LUCKA B" 49 ; "TANGENT N STYR LUCKA N" 50 ; "VILKA LUCKOR DET FINNS BOMBER I" 51 ; "SYNS L[NGST NER P] SK[RMEN D[R " 52 ; "DET ST]R LADDADE BOMBLUCKOR" 53 ; : ; "TRYCK P] RETURN N[R DU L[ST KLART" : GET A$ : ; CHR$(12) 54 ; "DU KAN STYRA DITT SKEPP I SID-" 55 ; "LED ]T H\GER MED TANGENTEN '-' " 56 ; "OCH ]T V[NSTER MED TANGENTEN 'Z'" 57 ; "SPELET H]LLER P] TILL TIDEN [R" 58 ; "500 D] KAN DU F] \VERTID OM " 59 ; "DU HAR UPPN]TT 300 PO[NG" 60 ; "EN SAK JAG B\R VARNA DIG F\R " 61 ; "INNAN VI B\RJAR SPELA [R ATT U-" 62 ; "B]TARNA SL[PPER FLYTBOMBER SOM" 63 ; "KAN F\RG\RA DIG OM DU INTE SER" 64 ; "UPP F\R DEM." 65 ; "SE TILL ATT UPPERCASE LAMPAN [R T[ND!!" 66 ; : ; "TRYCK P] RETURN N[R DU L[ST KLART" 67 GET A$ 68 GOTO 70 69 OUT 6,11 70 R%=17% 71 ; CHR$(12);CUR(1%,1%)STRING$(39%,35%); 72 FOR K%=0% TO 23% : ; CUR(K%,0%);CHR$(151); : NEXT K% : IF Z%=1 THEN GOSUB 274 73 REM ***UB]T*** 74 REM ***UB]TSGENERERING*** 75 RANDOMIZE : P%=INT(RND*10%+1%) 76 RANDOMIZE : X%=INT(RND*37%+2%) 77 IF P%=8% AND A8%+X8%=0% THEN A8$="pxtp" : A8%=1% : X8%=X% : GOTO 84 78 IF P%=7% AND A7%+X7%=0% THEN A7$="pxtp" : A7%=1% : X7%=X% : GOTO 84 79 IF P%=6% AND A6%+X6%=0% THEN A6$="pxtp" : A6%=1% : X6%=X% : GOTO 84 80 IF P%=5% AND A5%+X5%=0% THEN A5$="pxtp" : A5%=1% : X5%=X% : GOTO 84 81 IF P%=4% AND A4%+X4%=0% THEN A4$="pxup" : A4%=1% : X4%=X% : GOTO 84 82 IF P%=3% AND A3%+X3%=0% THEN A3$="pxup" : A3%=1% : X3%=X% : GOTO 84 83 IF P%=2% AND A2%+X2%=0% THEN A2$="pxup" : A2%=1% : X2%=X% : GOTO 84 84 I%=I%+1% : IF J%<0% THEN J%=0% 85 REM 86 REM UB]T 1 87 REM 88 IF A2%<>1% THEN 96 89 IF I%/1%<>INT(I%/1%) THEN 96 90 A2$=" "+A2$ 91 IF LEN(A2$)=40% THEN A2%=0% : ; CUR(7%,1%);SPACE$(39%) : GOTO 96 92 ; CUR(7%,1%);A2$ 93 REM 94 REM UB]T 2 95 REM 96 IF A3%<>1% THEN 104 97 IF I%/2%<>INT(I%/2%) THEN 104 98 A3$=" "+A3$ 99 IF LEN(A3$)=40% THEN A3%=0% : ; CUR(9%,1%);SPACE$(39%) : GOTO 104 100 ; CUR(9%,1%);A3$ 101 REM 102 REM UB]T 3 103 REM 104 IF A4%<>1% THEN 112 105 IF I%/5%<>INT(I%/5%) THEN 112 106 A4$=" "+A4$ 107 IF LEN(A4$)=40% THEN A4%=0% : ; CUR(11%,1%);SPACE$(39%) : GOTO 112 108 ; CUR(11%,1%);A4$ 109 REM 110 REM UB]T 4 111 REM 112 IF A5%<>1% THEN 120 113 IF I%/6%<>INT(I%/6%) THEN 120 114 A5$=" "+A5$ 115 IF LEN(A5$)=40% THEN A5%=0% : ; CUR(13%,1%);SPACE$(39%) : GOTO 120 116 ; CUR(13%,1%);A5$ 117 REM 118 REM UB]T 5 119 REM 120 IF A6%<>1% THEN 128 121 IF I%/3%<>INT(I%/3%) THEN 128 122 A6$=" "+A6$ 123 IF LEN(A6$)=40% THEN A6%=0% : ; CUR(15%,1%);SPACE$(39%) : GOTO 128 124 ; CUR(15%,1%);A6$ 125 REM 126 REM UB]T 6 127 REM 128 IF A7%<>1% THEN 136 129 IF I%/9%<>INT(I%/9%) THEN 136 130 A7$=" "+A7$ 131 IF LEN(A7$)=40% THEN A7%=0% : ; CUR(17%,1%);SPACE$(39%) : GOTO 136 132 ; CUR(17%,1%);A7$ 133 REM 134 REM UB]T 7 135 REM 136 IF A8%<>1% THEN 141 137 IF I%/8%<>INT(I%/8%) THEN 141 138 A8$=" "+A8$ 139 IF LEN(A8$)=40% THEN A8%=0% : ; CUR(19%,1%);SPACE$(39%) : GOTO 141 140 ; CUR(19%,1%);A8$ 141 REM 142 REM UBOMB 1 143 REM 144 IF X2%=0% THEN 152 145 IF X2%=LEN(A2$) THEN Y2%=21% 146 IF Y2%<>0% THEN Y2%=Y2%-1% ELSE 152 147 SETDOT Y2%,X2%*2% : CLRDOT Y2%+1%,X2%*2% 148 IF Y2%=8% IF DOT(Y2%-1%,X2%*2%) J%=J%-5% : Y2%=0% : X2%=0% : ; CHR$(12%) : GOTO 69 ELSE CLRDOT Y2%,X2%*2% : X2%=0% 149 REM 150 REM UBOMB 2 151 REM 152 IF X3%=0% THEN 159 153 IF X3%=LEN(A3$) THEN Y3%=27% 154 IF Y3%<>0% THEN Y3%=Y3%-1% ELSE 159 155 SETDOT Y3%,X3%*2% : CLRDOT Y3%+1%,X3%*2% 156 IF Y3%=8% IF DOT(Y3%-1%,X3%*2%) J%=J%-5% : Y3%=0% : X3%=0% : ; CHR$(12%) : GOTO 69 ELSE CLRDOT Y3%,X3%*2% : X3%=0 157 REM 158 REM UBOMB 3 159 REM 160 IF X4%=0% THEN 167 161 IF X4%=LEN(A4$) THEN Y4%=33% 162 IF Y4%<>0% THEN Y4%=Y4%-1% ELSE 167 163 SETDOT Y4%,X4%*2% : CLRDOT Y4%+1%,X4%*2% 164 IF Y4%=8% IF DOT(Y4%-1%,X4%*2%) J%=J%-5% : Y4%=0% : X4%=0% : ; CHR$(12%) : GOTO 69 ELSE CLRDOT Y4%,X4%*2% : X4%=0 165 REM 166 REM UBOMB 4 167 REM 168 IF X5%=0% THEN 175 169 IF X5%=LEN(A5$) THEN Y5%=13%*3% 170 IF Y5%<>0% THEN Y5%=Y5%-1% ELSE 175 171 SETDOT Y5%,X5%*2% : CLRDOT Y5%+1%,X5%*2% 172 IF Y5%=8% IF DOT(Y5%-1%,X5%*2%) J%=J%-5% : Y5%=0% : X5%=0% : ; CHR$(12%) : GOTO 69 ELSE CLRDOT Y5%,X5%*2% : X5%=0 173 REM 174 REM UBOMB 5 175 REM 176 IF X6%=0% THEN 183 177 IF X6%=LEN(A6$) THEN Y6%=15%*3% 178 IF Y6%<>0% THEN Y6%=Y6%-1% ELSE 183 179 SETDOT Y6%,X6%*2% : CLRDOT Y6%+1%,X6%*2% 180 IF Y6%=8% IF DOT(Y6%-1%,X6%*2%) J%=J%-5% : Y6%=0% : X6%=0% : ; CHR$(12%) : GOTO 69 ELSE CLRDOT Y6%,X6%*2% : X6%=0 181 REM 182 REM UBOMB 6 183 REM 184 IF X7%=0% THEN 191 185 IF X7%=LEN(A7$) THEN Y7%=17%*3% 186 IF Y7%<>0% THEN Y7%=Y7%-1% ELSE 191 187 SETDOT Y7%,X7%*2% : CLRDOT Y7%+1%,X7%*2% 188 IF Y7%=8% IF DOT(Y7%-1%,X7%*2%) J%=J%-5% : Y7%=0% : X7%=0% : ; CHR$(12%) : GOTO 69 ELSE CLRDOT Y7%,X7%*2% : X7%=0 189 REM 190 REM UBOMB 7 191 REM 192 IF X8%=0% THEN 197 193 IF X8%=LEN(A8$) THEN Y8%=19%*3% 194 IF Y8%<>0% THEN Y8%=Y8%-1% ELSE 197 195 SETDOT Y8%,X8%*2% : CLRDOT Y8%+1%,X8%*2% 196 IF Y8%=8% IF DOT(Y8%-1%,X8%*2%) J%=J%-5% : Y8%=0% : X8%=0% : ; CHR$(12%) : GOTO 69 ELSE CLRDOT Y8%,X8%*2% : X8%=0 197 REM 198 REM SKEPP F\RFLYTTNING 199 REM 200 IF INP(56%)=128%+ASC("Z") OR INP(56%)=128%+ASC("z") THEN R%=R%-1% : IF R%=1% THEN R%=2% 201 IF INP(56%)=128%+ASC("-") THEN R%=R%+1% : IF R%>34% THEN R%=34% 202 ; CUR(2%,R%-1%);" ";CUR(2%,R%);"l||<" 203 V%=INP(56%) : IF V%>223% THEN V%=V%-32% 204 IF V%=128%+ASC("X") AND S1%=0% THEN S1%=1% : T1%=(R%+2%)*2% : U1%=9% 205 IF V%=128%+ASC("C") AND S2%=0% THEN S2%=1% : T2%=(R%+2%)*2% : U2%=9% 206 IF V%=128%+ASC("V") AND S3%=0% THEN S3%=1% : T3%=(R%+2%)*2% : U3%=9% 207 IF V%=128%+ASC("B") AND S4%=0% THEN S4%=1% : T4%=(R%+2%)*2% : U4%=9% 208 IF V%=128%+ASC("N") AND S5%=0% THEN S5%=1% : T5%=(R%+2%)*2% : U5%=9% 209 ; CUR(22%,21%);" " 210 REM 211 REM BOMB 1 212 REM 213 IF S1%=0% THEN ; CUR(22%,21%);"X" : GOTO 220 214 IF DOT(U1%+1%,T1%) THEN CLRDOT U1%,T1% : U%=U1% : GOSUB 251 : U1%=59% 215 U1%=U1%+1% : SETDOT U1%,T1% : CLRDOT U1%-1%,T1% 216 IF U1%=60% THEN CLRDOT U1%,T1% : S1%=0% : U1%=0% 217 REM 218 REM BOMB 2 219 REM 220 IF S2%=0% THEN ; CUR(22%,22%);"C" : GOTO 227 221 IF DOT(U2%+1%,T2%) THEN CLRDOT U2%,T2% : U%=U2% : GOSUB 251 : U2%=59% 222 U2%=U2%+1% : SETDOT U2%,T2% : CLRDOT U2%-1%,T2% 223 IF U2%=60% THEN CLRDOT U2%,T2% : S2%=0% : U2%=0% 224 REM 225 REM BOMB 3 226 REM 227 IF S3%=0% THEN ; CUR(22%,23%);"V" : GOTO 234 228 IF DOT(U3%+1%,T3%) THEN CLRDOT U3%,T3% : U%=U3% : GOSUB 251 : U3%=59% 229 U3%=U3%+1% : SETDOT U3%,T3% : CLRDOT U3%-1%,T3% 230 IF U3%=60% THEN CLRDOT U3%,T3% : S3%=0% : U3%=0% 231 REM 232 REM BOMB 4 233 REM 234 IF S4%=0% THEN ; CUR(22%,24%);"B" : GOTO 241 235 IF DOT(U4%+1%,T4%) THEN CLRDOT U4%,T4% : U%=U4% : GOSUB 251 : U4%=59% 236 U4%=U4%+1% : SETDOT U4%,T4% : CLRDOT U4%-1%,T4% 237 IF U4%=60% THEN CLRDOT U4%,T4% : S4%=0% : U4%=0% 238 REM 239 REM BOMB 5 240 REM 241 IF S5%=0% THEN ; CUR(22%,25%);"N" : GOTO 245 242 IF DOT(U5%+1%,T5%) THEN CLRDOT U5%,T5% : U%=U5% : GOSUB 251 : U5%=59% 243 U5%=U5%+1% : SETDOT U5%,T5% : CLRDOT U5%-1%,T5% 244 IF U5%=60% THEN CLRDOT U5%,T5% : S5%=0% : U5%=0% 245 ; CUR(0%,0%);" DAGS REKORD:";M%;;CUR(0,17%);" PO[NG:";J%*10%;CUR(0,29%)"TID: ";CUR(0,33);I%; 246 ; CUR(22%,1%);CHR$(135%);"LADDADE BOMBLUCKOR:"; 247 OUT 6%,107% 248 IF Z%=1% AND I%=200% THEN ; CUR(10%,1%) : GOTO 262 249 IF I%<>500% THEN 73 ELSE IF J%>=30% THEN GOSUB 274 : Z%=1% : I%=0% : GOTO 73 ELSE 262 250 REM 251 U%=INT(U%/3%) 252 OUT 6,137 : FOR \7%=1 TO 70 : NEXT \7% 253 IF U%=7% THEN A2%=0% : A2$="" : J%=J%+2% : IF X2%=0 THEN 254 ELSE CLRDOT Y2%,X2%*2% : X2%=0% : Y2%=0% 254 IF U%=9% THEN A3%=0% : A3$="" : J%=J%+2% : IF X3%=0% THEN 255 ELSE CLRDOT Y3%,X3%*2% : X3%=0% : Y3%=0% 255 IF U%=11% THEN A4%=0% : A4$="" : J%=J%+2% : IF X4%=0% THEN 256 ELSE CLRDOT Y4%,X4%*2% : X4%=0% : Y4%=0% 256 IF U%=13% THEN A5%=0% : A5$="" : J%=J%+1% : IF X5%=0% THEN 257 ELSE CLRDOT Y5%,X5%*2% : X5%=0% : Y5%=0% 257 IF U%=15% THEN A6%=0% : A6$="" : J%=J%+1% : IF X6%=0% THEN 258 ELSE CLRDOT Y6%,X6%*2% : X6%=0% : Y6%=0% 258 IF U%=17% THEN A7%=0% : A7$="" : J%=J%+1% : IF X7%=0% THEN 259 ELSE CLRDOT Y7%,X7%*2% : X7%=0% : Y7%=0% 259 IF U%=19% THEN A8%=0% : A8$="" : J%=J%+1% : IF X8%=0% THEN 260 ELSE CLRDOT Y8%,X8%*2% : X8%=0% : Y8%=0% 260 ; CUR(U%,1%);SPACE$(39%) 261 RETURN 262 ; CUR(10%,1%);"GAME OVER" 263 FOR ]%=31744% TO 32766% 264 POKE ]%,PEEK(]%)+128% 265 NEXT ]% 266 FOR L=1 TO 2000 : NEXT L : GET A$ 267 ; CHR$(12) : ; CUR(12,5);"VILL DU SPELA MER (J/N)"; : GET A$ : IF A$<>"N" AND A$<>"J" AND A$<>"j" AND A$<>"n" 267 268 IF A$="J" OR A$="j" THEN 269 ELSE 273 269 IF J%*10%>M% THEN M%=J%*10% 270 I%=0% : J%=0% : A2%=0 : A3%=0 : A4%=0 : A5%=0 : A6%=0 : A7%=0 : A8%=0 : X2%=0 : X3%=0 : X4%=0 : X5%=0 : X6%=0 271 X7%=0 : X8%=0 : S1%=0 : S2%=0 : S3%=0 : S4%=0 : S5%=0 : Z%=0 : Y2%=0 272 Y3%=0 : Y4%=0 : Y5%=0 : Y6%=0 : Y7%=0 : Y8%=0 : GOTO 10 273 ; CHR$(12) : END : REM SLUT 274 POKE 31873,207,214,197,210,212,201,205,197 : RETURN