1 NOTRACE 2 REM +-----------------------------+ 3 REM - program... SP\KHUS.BAC - 4 REM - Ver. 1.0 1987-02-?? - 5 REM - av (c) Jonas Eklund <6987> - 6 REM - Minne 16kb - 7 REM +-----------------------------+ 8 REM - spelprogram f|r ABC80 - 9 REM +-----------------------------+ 10 ONERRORGOTO 34 : Z=INP(3) 11 ; CHR$(12); : ; CUR(6,10) 12 H$=" AV:+ JONAS EKLUND+ STRANDV[GEN 36+ 57200 OSKARSHAMN@" 13 G%=G%+1% 14 FOR X=1 TO 55 : NEXT X 15 V$=MID$(H$,G%,1%) 16 IF V$="+" THEN ; : GOTO 13 17 IF V$=" " THEN GOTO 20 18 IF V$="@" THEN 21 19 OUT 6,0,6,121 20 ; V$; : GOTO 13 21 FOR X%=1% TO 8000% : NEXT X% 22 E%=0% : GOSUB 117 : GOTO 24 23 E%=0% : GOSUB 120 24 O%=1% : G%=0% : B%=1% : H%=0% 25 D%=0% : RESTORE 26 D%=0% : E%=E%+1% : IF E%=7% THEN 144 27 ; CHR$(12) : B%=1% : N%=0% 28 H%=H%-1% : FOR X%=1% TO 24% 29 ; CUR(X%,0%);CHR$(151); : NEXT X% 30 ; : FOR M%=1% TO 8% 31 ; CUR(B%,1%)CHR$(151)"######################################" 32 B%=B%+3% : NEXT M% 33 GOTO 100 34 A%=62% : B%=72% 35 ; CUR(22,23)'LIV 'O%'(3)' 36 GOTO 39 37 IF INP(56%)<255% THEN GOTO 52 38 IF Y%=1% THEN 60 39 GOSUB 41 : GOTO 45 40 REM  RITA GUBBE  41 SETDOT A%,B% : SETDOT A%-1%,B% : SETDOT A%-3%,B%+2% : SETDOT A%-1%,B%+1% 42 SETDOT A%-2%,B%+1% : SETDOT A%-3%,B%+1% : SETDOT A%-3%,B% : SETDOT A%-5%,B% : SETDOT A%-1%,B%+2% : SETDOT A%,B%+2% 43 SETDOT A%-4%,B%+1% : SETDOT A%-5%,B%+1% : SETDOT A%-5%,B%+2% : SETDOT A%-6%,B%+1% : SETDOT A%-5%,B%+2% 44 RETURN 45 IF B%=76% THEN B%=75% 46 IF B%=3% THEN B%=4% 47 IF DOT(A%-5%,B%+4%) THEN 51 48 IF DOT(A%-5%,B%-2%) THEN 51 49 IF DOT(A%-3%,B%-2%) THEN 106 50 IF DOT(A%-3%,B%+4%) THEN 106 51 GOTO 37 52 IF DOT(A%-3%,B%-2%) THEN B%=B%+1% 53 IF DOT(A%-4%,B%+4%) THEN B%=B%-1% 54 REM  TA BORT GUBBE  55 CLRDOT A%,B%-1% : CLRDOT A%-1%,B%-1% : CLRDOT A%-2%,B% : CLRDOT A%-3%,B%-1% 56 CLRDOT A%-4%,B% : CLRDOT A%-5%,B%-1% : CLRDOT A%-6%,B% : CLRDOT A%-4%,B%+2% 57 CLRDOT A%,B%+1% : CLRDOT A%,B%+3% : CLRDOT A%-1%,B%+3% : CLRDOT A%-2%,B%+2% 58 CLRDOT A%-2%,B%+2% 59 CLRDOT A%-3%,B%+3% : CLRDOT A%-5%,B%+3% : CLRDOT A%-6%,B%+2% 60 G%=G%+1% : IF G%>1% THEN 82 61 REM  FLYTTA VARELSE  62 IF ]%=[% THEN D%=1% 63 IF D%=1% THEN ]%=]%-1% : GOTO 65 64 ]%=]%+1% : GOTO 66 65 IF ]%=U% THEN D%=0% 66 ; CUR(\%,]%)" `0 " 67 ; CUR(\%+1%,]%)" o? " 68 H%=H%+1% 69 IF DOT(A%-3%,B%+4%) THEN 106 70 IF DOT(A%-3%,B%-2%) THEN 106 71 IF DOT(A%,B%-2%) AND DOT(A%-1%,B%-2%) THEN 109 72 IF DOT(A%,B%+4%) AND DOT(A%-1%,B%+4%) THEN 110 73 ; CUR(22,7)'TID 'H%; 74 IF INP(56%)=198% THEN 86 75 IF INP(56%)=199% THEN 85 76 IF INP(56%)=214% THEN 88 77 IF INP(56%)=212% THEN 89 78 IF INP(56%)=141% THEN 98 79 GOTO 39 80 K%=0% : GOTO 62 81 GOTO 71 82 K%=K%+1% : IF K%<14% THEN 71 83 GOTO 80 84 REM  FLYTTA GUBBE H\GER/V[NSTER  85 B%=B%+1% : OUT 6%,0%,6%,121% : GOTO 39 86 B%=B%-1% : OUT 6%,0%,6%,121% : GOTO 39 87 REM  FLYTTA GUBBE UPP/NER  88 GOSUB 91 : GOSUB 93 : A%=A%+9% : GOSUB 41 : K%=0% : GOTO 82 89 GOSUB 90 : GOSUB 93 : A%=A%-9% : GOSUB 41 : K%=0% : GOTO 82 90 IF DOT(A%-7%,B%+1%) THEN RETURN ELSE 71 91 IF DOT(A%+3%,B%+1%) THEN 71 92 IF DOT(A%+2%,B%+1%) THEN RETURN ELSE 71 93 FOR Z=1 TO 200 : NEXT Z : Y%=1% 94 CLRDOT A%,B% : CLRDOT A%-1%,B% : CLRDOT A%-3%,B%+2% : CLRDOT A%-1%,B%+1% 95 CLRDOT A%-2%,B%+1% : CLRDOT A%-3%,B%+1% : CLRDOT A%-3%,B% : CLRDOT A%-5%,B% : CLRDOT A%-1%,B%+2% : CLRDOT A%,B%+2% 96 CLRDOT A%-4%,B%+1% : CLRDOT A%-5%,B%+1% : CLRDOT A%-5%,B%+2% : CLRDOT A%-6%,B%+1% : CLRDOT A%-5%,B%+2% : G%=0% 97 RETURN 98 OUT 6%,0%,6%,43% : FOR D=1 TO 2000 : NEXT D : OUT 6%,0% : GOTO 39 99 REM  L[SA SPELPLANS-DATA  100 READ \%,]%,[%,U% 101 READ T%,Y%,U$ 102 IF T%=111% THEN 34 103 FOR B=1 TO 70 : NEXT B 104 ; CUR(T%,Y%)U$ : GOTO 101 105 REM  GUBBEN "D\D"  106 B%=B%+1% : GOSUB 94 : B%=B%-1% : GOSUB 94 : OUT 6,7 : A%=62% : B%=72% 107 O%=O%+1% : IF O%=4% THEN 152 : FOR B=1 TO 1000 : NEXT B : OUT 6,0 : H%=H%+10 108 ; CUR(22,23)'LIV 'O%;'(3)' : GOTO 39 109 V%=1% : GOTO 113 110 V%=0% : GOTO 113 111 GOTO 39 112 REM  UPPTAGNING AV PO[NGSTEN  113 OUT 6,0,6,135 : GOSUB 94 114 N%=N%+1% : IF N%=4% THEN 26 115 IF V%=1% THEN B%=B%-3% ELSE B%=B%+3% 116 K%=0% : GOTO 39 117 IF W%>H% THEN W%=H% 118 IF W%=0% THEN W%=H% 119 REM  SPELREGLER  120 ; CHR$(12) : ; CUR(0,0);CHR$(151)',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,' 121 ; CUR(1,8);CHR$(151)'7#j#5=nj`%5jj 57# ';CUR(2,8);CHR$(151)'s{j#!uzj)07kjp5s{ ';CUR(2,29);CHR$(135)'JE-DATA' 122 ; CUR(3,0);CHR$(151)',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,' 123 ; 'Du ska ta dig ut ur huset p} s} kort' 124 ; 'tid som m|jligt. Du styr dig med' 125 ; 'f|ljande: '; 126 ; 'T ' : ; : ; ' F G' : ; : ; ' V'; 127 ; ' i respektive v{derstreck.' 128 ; 'Du kan bara g} upp eller ner d{r det' 129 ; 'finns vita plattor.' 130 ; 'Du m}ste ta upp alla po{ng-stenarna' 131 ; 'p} en bana innan du kommer till n{sta.' 132 ; 'RETURN ger ca:2 sekunders paus' 133 ; '(t.ex om du vill klia dig i huvudet och' 134 ; 'det beh|ver du s{kert under detta spel)' 135 ; 'Du f}r +10 sekunder f|r varge miss !!'; 136 ; ' TRYCK P] EN TANGENT'; 137 ; : ; CHR$(151)"######################################" 138 ; ' REKORDTID 'W%' DIN TID 'H% 139 ; CHR$(151)"pppppppppppppppppppppppppppppppppppppp" : B%=0% 140 FOR X%=1% TO 6000 : NEXT X% 141 IF INP(56%)>128% THEN GOTO 143 142 B%=0% : ]%=1% : GOTO 141 143 ; : FOR O%=1% TO 200% : NEXT O% : B%=B%+1% : IF B%=23% THEN RETURN ELSE 143 144 FOR X%=1% TO 100 : NEXT X% : B%=0% : F%=0% : A%=0% : L%=0% 145 FOR X%=0% TO B% : NEXT X% 146 A%=A%+1% : IF A%=11% THEN 148 147 OUT 6%,0%,6%,121% : GOTO 145 148 F%=F%+1% : IF F%=11% THEN 150 149 B%=B%+1% : A%=0% : GOTO 145 150 L%=L%+1% : IF L%=8% THEN 22 151 F%=0% : A%=0% : B%=0% : GOTO 145 152 OUT 6,543 : FOR X=1 TO 2000% : NEXT X : OUT 6,0 : ; CHR$(12) 153 ; CUR(10,3)"Du klarade dig tyv{rr inte ut" : H%=0% 154 ; " p} dina 3 liv" : ; : ; " (f|rs|k igen !!)" 155 FOR X=1 TO 3000 : NEXT X : GOTO 23 156 REM  SPELPLANS-DATA  157 DATA 13,1,12,1 158 DATA 9,8,"//'",15,8,"//'",18,11,"//'",15,21,"//'",12,27,"//'",18,30,"//'" 159 DATA 15,16,"7",16,16,"5",17,16,"5",18,25"7",19,25"5",20,25,"5",6,3,"//'" 160 DATA 3,8,"//'",9,33,"//'",3,36,"//'",6,26,"//'",9,22,"7",11,22,"5" 161 DATA 10,22,"5",6,7,"7",7,7,"5",8,7,"5",3,30,"7",4,30,"5",5,30,"5",20,19,"" 162 DATA 11,17,"",8,2,"",5,32,"" 163 DATA 111,111,"P" 164 DATA 4,30,36,26 165 DATA 3,4,"//'",3,20,"//'",6,15,"//'",6,33,"//'",9,36,"//'",12,2,"//'" 166 DATA 12,22,"//'",15,15,"//'",15,34,"//'",18,5,"//'",3,8,"7",4,8,"5",5,8,"5",6,13,"7",7,13,"5",8,13,"5",6,21,"7" 167 DATA 7,21,"5",8,21,"5",12,9,"7",13,9,"5",14,9,"5",15,23,"7",16,23,"5" 168 DATA 17,23,"5",5,2,"",8,19,"",14,6,"",17,26,"" 169 DATA 111,111,"P" 170 DATA 16,30,36,25 171 DATA 3,3,"//'",3,32,"//'",6,15,"//'",6,22,"//'",9,2,"//'",9,35,"//'" 172 DATA 12,21,"//'",15,2,"//'",15,30,"//'",18,10,"//'",18,26,"//'",18,36,"//'" 173 DATA 3,19,"7",4,19,"5",5,19,"5",6,20,"7",7,20,"5",8,20,"5",9,12,"7" 174 DATA 10,12,"5",11,12,"5",15,20,"7",16,20,"5",17,20,"5",18,25,"7",19,25,"5" 175 DATA 20,25,"5",18,33,"7",19,33,"5",20,33,"5",8,4,"",11,7,"",20,22,"",20,31,"" 176 DATA 111,111,"P" 177 DATA 7,6,17,4 178 DATA 3,29,"//'",6,17,"//'",9,6,"//'",9,15,"//'",9,23,"//'",9,36,"//'" 179 DATA 12,2,"//'",12,33,"//'",15,6,"//'",15,21,"//'",18,3,"//'",18,18,"//'" 180 DATA 6,21,"7",7,21,"5",8,21,"5",9,12,"7",10,12,"5",11,12,"5",9,30,"7" 181 DATA 10,30,"5",11,30,"5",12,9,"7",13,9,"5",14,9,"5",15,16,"7",16,16,"5" 182 DATA 17,16,"5",18,9,"7",19,9,"5" 183 DATA 20,9,"5",2,5,"",11,27,"",20,7,"",17,36,"" 184 DATA 111,111,"P" 185 DATA 13,26,36,23 186 DATA 3,5,"//'",3,31,"//'",6,2,"//'",6,12,"//'",6,26,"//'",9,9,"//'",12,18,"//'",12,24,"//'",12,32,"//'",15,3,"//'" 187 DATA 15,36,"//'",18,19,"//'",3,9,"7",4,9,"5",5,9,"5",6,7,"7",7,7,"5" 188 DATA 8,7,"5",6,16,"7",7,16,"5",8,16,"5",9,30,"7",10,30,"5",11,30,"5" 189 DATA 12,22,"7",13,22,"5",14,22,"5",15,24,"7",16,24,"5",17,24,"5",8,5,"" 190 DATA 8,36,"",17,26,"",20,3,"" 191 DATA 111,111,"P" 192 DATA 10,16,21,15 193 DATA 3,25,"//'",6,13,"//'",9,18,"//'",12,15,"//'",12,21,"//'",15,5,"//'" 194 DATA 15,36,"//'",18,17,"//'",9,13,"7",10,13,"5",11,13,"5",9,25,"7" 195 DATA 15,24,"7",16,24,"5",17,24,"5",10,25,"5",11,25,"5",12,19,"7",13,19,"5",14,19,"5",5,2,"",8,37,"" 196 DATA 17,33,"",0,7,"",1,7"",2,7,"",1,2,"EXIT",2,8,"" 197 DATA 111,111,"P" 198 END