1 REM +++++++++++++++++++++++++++++++++ 2 REM ! Program .... SPIDER.BAS 3 REM ! Utg}va 1.0 4 REM ! av (c) Jan H|rnstr|m 7 REM ! Minne 16 Kbytes 8 REM ! Ins{nt av 2970 9 REM +++++++++++++++++++++++++++++++++ 10 REM Ett bra game&watch-inspirerat 11 REM spel i grafik. 12 REM 15 POKE 65408%,33%,138%,255%,1%,58%,0%,205%,11%,0%,201%,12%,27%,61%,42%,42%,151% 16 POKE 65424%,53%,106%,32%,55%,105%,32%,54%,105%,32%,54%,41%,32%,53%,106%,27%,61% 17 POKE 65440%,43%,42%,151%,61%,49%,32%,61%,54%,32%,53%,106%,32%,53%,32%,32%,61% 18 POKE 65456%,49%,27%,61%,44%,42%,151%,53%,106%,32%,53%,106%,32%,101%,58%,32%,101% 19 POKE 65472%,56%,32%,53%,106% 20 RANDOMIZE 21 H3%=0% 22 DIM R(24%) 23 C=0% 24 FOR I%=884% TO 929% STEP 2% 25 R(C%)=PEEK(I%)+SWAP%(PEEK(I%+1%)) 26 C%=C%+1% : NEXT I% 27 ; CHR$(12) 28 ; CUR(12,10)"INSTRUKTIONER?(J/N)"; : GET V$ 29 IF V$="J" THEN 185 30 IF NOT V$="N" THEN 28 31 S%=0% 32 V%=3% 33 T1%=7% 34 P1%=350% 35 REM 36 A%=20% : B%=37% 37 D%=8% : E%=3% 38 F%=14% : G%=33% 39 H%=2% : I%=33% 40 K%=20% : L%=25% 41 W%=0% 42 P%=P1% 43 ; CHR$(12) 44 FOR I=0 TO 23 : ; CHR$(151);CUR(I,0); : NEXT I 45 GOSUB 166 46 ; CUR(A%,B%)">m" 47 Q%=INP(56%)-128% 48 P%=P%-1% 49 IF P%<0% THEN 147 50 IF P%=50% THEN OUT 6,211 51 GOSUB 116 52 IF A%=D% AND E%=B% OR A%=F% AND G%=B% OR A%=H% AND I%=B% OR A%=K% AND L%=B% THEN OUT 6,131 : S%=S%+10% 53 ; CUR(4,9)"TID" : ; CUR(4,12)CHR$(135);P%;CHR$(151) 54 ; CUR(10,16)"PO[NG " : ; CUR(10,25)CHR$(135);S%;CHR$(151); 55 IF T%>0% THEN T%=T%+1% : FOR X=0 TO 60 : NEXT X : GOTO 61 56 ; CUR(A%,B%)">m" 57 IF Q%=65% THEN 64 58 IF Q%=83% THEN 71 59 IF Q%=13% THEN 78 60 IF Q%=8% THEN 102 61 IF T1%<3% THEN T1%=3% 62 IF T%=T1% THEN 86 63 GOTO 47 64 REM 65 IF B%-1%<1% THEN 47 66 IF PEEK(R(A%)+B%-1%)=102% THEN ; CUR(2%,39%)"9" : ; CUR(20%,1%)" " : GOSUB 179 : GOTO 134 67 ; CUR(A%,B%-1%)">m" 68 ; CUR(A%,B%+1%)" " 69 B%=B%-1% 70 GOTO 47 71 REM 72 IF B%+1%>38% THEN 47 73 IF PEEK(R(A%)+B%+2%)=57% THEN ; CUR(20%,1%)"f" : ; CUR(2%,39%)" " : GOSUB 179 : GOTO 134 74 ; CUR(A%,B%+1%)">m" 75 ; CUR(A%,B%)" " 76 B%=B%+1% 77 GOTO 47 78 OUT 6,251 : FOR X=0 TO 60 : NEXT X : OUT 6,0 : IF A%=2% THEN 81 79 IF PEEK(R(A%-3%)+B%)=106% THEN 91 80 IF PEEK(R(A%-3%)+B%)>106% THEN 140 81 ; CUR(A%-1%,B%)">m" 82 ; CUR(A%,B%)" " 83 IF A%=2% THEN 85 84 ; CUR(A%-2%,B%)">m" : ; CUR(A%-1%,B%)" " 85 T%=1% : GOTO 47 86 T%=0% : IF A%=2% THEN 89 87 ; CUR(A%-1%,B%)">m" : ; CUR(A%-2%,B%)" " : ; CUR(A%,B%)">m" : ; CUR(A%-1%,B%)" " 88 GOTO 47 89 ; CUR(A%,B%)">m" : ; CUR(A%-1%,B%)" " 90 GOTO 47 91 ; CUR(A%,B%)" " 92 OUT 6,251 93 ; CUR(A%-3%,B%)"~}" : ; CUR(A%-2%,B%)" " : FOR X=0 TO 40 : NEXT X 94 OUT 6,3 95 ; CUR(A%-4%,B%)"~}" : ; CUR(A%-3%,B%)"j5" : FOR X=0 TO 40 : NEXT X 96 OUT 6,249 97 ; CUR(A%-5%,B%)"" : ; CUR(A%-4%,B%)"j5" : FOR X=0 TO 40 : NEXT X 98 ; CUR(A%-5%,B%)"k7" : A%=A%-6% 99 OUT 6,0 100 ; CUR(A%,B%)">m" 101 GOTO 47 102 REM 103 IF NOT PEEK(R(A%+1%)+B%)=39% THEN 47 104 OUT 6,249 105 ; CUR(A%+1%,B%)" " : FOR X=0 TO 50 : NEXT X 106 ; CUR(A%+1%,B%)">m" : ; CUR(A%,B%)" " : FOR X=0 TO 40 : NEXT X 107 OUT 6,3 108 ; CUR(A%+2%,B%)">m" : ; CUR(A%+1%,B%)"'+" : FOR X=0 TO 40 : NEXT X 109 ; CUR(A%+3%,B%)">m" : ; CUR(A%+2%,B%)" " : FOR X=0 TO 40 : NEXT X 110 OUT 6,251 111 ; CUR(A%+4%,B%)">m" : ; CUR(A%+3%,B%)" " : FOR X=0 TO 40 : NEXT X 112 ; CUR(A%+5%,B%)">m" : ; CUR(A%+4%,B%)" " : FOR X=0 TO 40 : NEXT X 113 OUT 6,0 114 ; CUR(A%+6%,B%)">m" : ; CUR(A%+5%,B%)" " : FOR X=0 TO 40 : NEXT X 115 A%=A%+6% : GOTO 47 116 IF T%>0% THEN 121 117 IF PEEK(R(K%)+L%+1%)=62% OR PEEK(R(K%)+L%+1%)=109% THEN 147 118 IF PEEK(R(H%)+I%-1%)=62% OR PEEK(R(H%)+I%-1%)=109% THEN 147 119 IF PEEK(R(D%)+E%+1%)=62% OR PEEK(R(D%)+E%+1%)=109% THEN 147 120 IF PEEK(R(F%)+G%-1%)=62% OR PEEK(R(F%)+G%-1%)=109% THEN 147 121 IF E%>38% THEN ; CUR(D%,E%)" " : E%=1% : GOTO 124 122 ; CUR(D%,E%+1%)"6" : ; CUR(D%,E%)" " 123 E%=E%+1% 124 IF G%<2% THEN ; CUR(F%,G%)" " : G%=38% : GOTO 127 125 ; CUR(F%,G%-1%)"k" : ; CUR(F%,G%)" " 126 G%=G%-1% 127 IF I%<2% THEN ; CUR(H%,I%)" " : I%=36% : GOTO 130 128 ; CUR(H%,I%-1%)"," : ; CUR(H%,I%)" " 129 I%=I%-1% 130 IF L%>34% THEN ; CUR(K%,L%)" " : L%=3% : RETURN 131 ; CUR(K%,L%+1%)"#" : ; CUR(K%,L%)" " 132 L%=L%+1% 133 RETURN 134 S%=S%+250% 135 T1%=T1%-1% 136 OUT 6,253 : FOR X=0 TO 130 : NEXT X : OUT 6,0 137 S%=S%+P%*5% 138 P%=P1% 139 GOTO 47 140 REM 141 OUT 6,5 : FOR X=0 TO 80 : NEXT X : OUT 6,0 142 S%=S%+50% 143 IF A%=20% THEN ; CUR(17%,19%)" " 144 IF A%=14% THEN ; CUR(11%,8%)" " 145 IF A%=8% THEN ; CUR(5%,25%)" " 146 GOTO 81 147 V%=V%-1% 148 Y%=CALL(65408%) 149 FOR I=0 TO 1 150 OUT 6,1 : FOR X=0 TO 50 : NEXT X 151 OUT 6,249 : FOR X=0 TO 50 : NEXT X 152 OUT 6,3 : FOR X=0 TO 50 : NEXT X 153 OUT 6,251 : FOR X=0 TO 50 : NEXT X 154 OUT 6,0 155 NEXT I 156 IF NOT V%=0% THEN FOR X=0 TO 1000 : NEXT X : GOTO 35 157 IF S%>H3% THEN H3%=S% 158 FOR X=0 TO 2000 : NEXT X 159 ; CHR$(12) 160 ; CUR(10,10)"DU FICK";S%;" PO[NG!" 161 ; CUR(12,10)"HIGHSCORE [R";H3%;" PO[NG!" 162 ; CUR(16,10)"VILL DU SPELA IGEN?(J/N)"; : GET V$ 163 IF V$="J" THEN 31 164 IF V$="N" THEN ; CHR$(12) : END 165 GOTO 162 166 REM  BANA  167 ; CUR(22,1);STRING$(39,35) 168 ; CUR(15,1);STRING$(39,35) 169 ; CUR(15,10)"k7" 170 ; CUR(16,10)"j5" 171 ; CUR(17,10)"j5" 172 ; CUR(9,1);STRING$(39,35) 173 ; CUR(9,23)"k7" : ; CUR(10,23)"j5" : ; CUR(11,23)"j5" 174 ; CUR(3,1);STRING$(39,35) 175 ; CUR(3,5)"k7" : ; CUR(4,5)"j5" : ; CUR(5,5)"j5" 176 ; CUR(3,20)"'+" 177 ; CUR(9,10)"'+" : ; CUR(15,17)"'+" 178 ; CUR(2,39)"9" 179 Z=INT(RND*5)+1 180 RESTORE 181 FOR U=1 TO Z : READ N,M : NEXT U 182 POKE R(17%)+19%,N,M : POKE R(5%)+25%,N,M : POKE R(11%)+8%,N,M 183 RETURN 184 DATA 230,185,160,255,181,234,238,189,178,225 185 REM  INSTRUKTIONER  186 ; CHR$(12) 187 ; CUR(3,15)"SPIDER" 188 ; CUR(4,14)CHR$(151);"######" 189 ; CUR(6,0)" Detta {r ett r{tt kul spel gjort av " 190 ; " den suver{ne killen JAN H\RNSTR\M. " 191 ; " Man {r en spindel ";CHR$(151)">m";CHR$(135);" ," 192 ; : ; " och man skall f|rs|ka ta sig upp/ner " 193 ; " till en fluga ";CHR$(151);"9";CHR$(131);" och {ta upp den " 194 ; : ; " innan tiden {r ute." 195 ; : ; " Men f|r att komma dit upp/ner m}ste " 196 ; " du hoppa |ver diverse faror." 197 ; CUR(22,0)" Tryck en knapp!" 198 FOR X=0 TO 300 : NEXT X : POKE 65013,0 199 IF NOT INP(56)-128>0 THEN 199 200 ; CHR$(12) 201 ; CUR(6,0)" OBS: F\R ATT KUNNA STYRA SPINDELN " 202 ; " M]STE UPPERCASE VARA P]!" 203 ; CUR(9,6)CHR$(151)" #########" 204 ; : ; " DU STYR MED: 'RETURN' HOPP " 205 ; : ; " 'A' V[NSTER 'S' H\GER " 206 ; : ; " '<-' NED " 207 ; : ; : ; : ; " Tryck en knapp!" 208 FOR X=0 TO 500 : NEXT X : POKE 65013,0 209 IF NOT INP(56)-128>0 THEN 209 210 GOSUB 214 211 ; CHR$(12) : ; CUR(12,0)"OBS: EFTER VARJE UPP[TEN FLUGA S] " 212 ; " BLIR DET SV]RARE ATT HOPPA!" : FOR X=0 TO 3500 : NEXT X 213 GOTO 31 214 ; CHR$(12) 215 ; : ; : ; " F\R ATT KUNNA KOMMA UPP P]" 216 ; : ; " NIV]N OVANF\R, M]STE MAN" 217 ; : ; " HOPPA D] MAN ST]R UNDER EN " 218 ; : ; " 'HISS'(Lodr{t vitt streck)." 219 ; : ; " OCH F\R ATT KOMMA NER, S] " 220 ; : ; " M]STE MAN ST] \VER EN 'LUCKA'-" 221 ; : ; " (Tv} sm} streck under niv}n)." 222 ; : ; : ; " Tryck en knapp f|r start!" 223 FOR X=0 TO 500 : NEXT X 224 POKE 65013,0 225 IF NOT INP(56)>127 THEN 225 226 RETURN