1 REM +++++++++++++++++++++++++++++++++ 2 REM ! Program .... FEMKAMP 3 REM ! Utg}va 1 83-04-21 4 REM ! av (c) Stefan Molin 5 REM ! Minne 16 Kbytes 6 REM ! Ins{nt av 2192 7 REM +++++++++++++++++++++++++++++++++ 8 REM 9 REM Screened by C R LERIN. 10 REM 11 REM OBS! Programmet {r inte helt 12 REM realistiskt. Men jag hoppas 13 REM att det {r ett n|je att 14 REM spela. Man b|r ha 80-kolumners 15 REM sk{rm. 16 REM  17 REM  INLEDNING  18 REM  19 ; INP(3) 20 RANDOMIZE 21 ; CHR$(12) 22 ; CHR$(151)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," 23 ; " H[R KOMMER EN LITE ANNORLUNDA FEMKAMP!" 24 ; CHR$(151%)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," 25 ; CUR(4%,0%)" HUR M]NGA DELTAGARE " 26 ; CHR$(151%)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," 27 ONERRORGOTO 27 28 ; CUR(4%,20%); : INPUT A% 29 IF A%=0 THEN ; CUR(19%,0%); : END 30 IF A%>9 THEN 27 31 ; CUR(6%,0%)" SKRIV IN INITIALERNA" 32 ; CHR$(151%)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," 33 FOR I%=1% TO A% 34 ; CUR(8%,0%)" NAMN"I% 35 ; CHR$(151%)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," 36 ; CUR(8%,8%); : INPUTLINE A$(I%) 37 A$(I%)=LEFT$(A$(I%),LEN(A$(I%))-2%) 38 NEXT I% 39 REM  40 REM  H[NDELSE MENY  41 REM  42 ; CHR$(12) 43 ; "=======================================" 44 ; "GRENARNA [R:" 45 ; "=======================================" 46 ; "1 100m" 47 ; : ; "2 Kulst|tning" 48 ; : ; "3 H|jdhopp" 49 ; : ; "4 L{ngdhopp" 50 ; : ; "5 200m" 51 ; "=======================================" 52 FOR A=1 TO 6000 : NEXT A 53 ; " Lycka till!" 54 OUT 6,7 55 FOR A=1 TO 2000 : NEXT A : OUT 6,0 56 REM  57 REM  100m  58 REM  59 ; CHR$(12) 60 ; " Vi ska nu b|rja med 100m!" 61 FOR A=1 TO 2000 : NEXT A 62 IF A%<3 THEN M%=110 : GOTO 65 63 IF A%<6 THEN M%=60 : GOTO 65 64 IF A%>6 THEN M%=10 : GOTO 65 65 ; CHR$(12)" 100m" 66 ; CHR$(151%)"#####'###############################+" 67 FOR I%=1% TO A% 68 ; CUR(I%*2%,1%)A$(I%)":" 69 IF I%=A% THEN 71 70 ; CHR$(151)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," 71 NEXT I% 72 ; CHR$(151)",,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,." 73 FOR I%=1% TO A% 74 ; CUR(I%*2%,4%)" " 75 NEXT I% 76 ; CUR(21%,0%)"TRYCK TANGENT F\R START!"; : GET A$ 77 ; CUR(21%,0%)" " : ; CHR$(7) 78 FOR I%=1% TO A% 79 FOR I1%=1% TO M% : NEXT I1% 80 A1(I%)=RND 81 A(I%)=A(I%)+A1(I%) 82 A%(I%)=A(I%) 83 ; CUR(I%*2%,A%(I%)+4%)" " 84 IF A%(I%)+5%=38% THEN A1%=I% : GOTO 87 85 NEXT I% 86 GOTO 78 87 B%(A1%)=1% 88 ; CUR(22%,0%)A$(A1%)" VANN!" 89 OUT 6,7 : FOR A=1 TO 3000 : NEXT A : OUT 6,0 90 FOR A=1 TO 5000 : NEXT A 91 REM  92 REM  KULST\TNING  93 REM  94 ; CHR$(12) 95 ; "NU BLIR DET KULST\TNING!" 96 FOR A=1 TO 3000 : NEXT A 97 FOR I%=1% TO A% 98 ; CHR$(12) 99 ; A$(I%)" SKA ST\TA !" 100 IF I%=1 THEN 102 101 ; CUR(0%,0%)"REKORD"K1"m AV "A$(K2%) 102 FOR I3%=4% TO 22% 103 ; CUR(I3%,0%)CHR$(151); 104 NEXT I3% 105 ; CUR(10%,0%)CHR$(151%)" hz" 106 ; CUR(11%,0%)CHR$(151%)" >0" 107 ; CUR(12%,0%)CHR$(151%)"ppppppppppppppppppppppppppppppppppppppp" 108 ; CUR(12%,0%)CHR$(151%)"pxu}" 109 ; CUR(22%,0%)"TRYCK TANGENT F\R ST\T!"; : GET A$ 110 ; CUR(22%,0%)" " 111 K%=INT(RND*24) 112 IF K%<8 THEN 111 113 ; CUR(10%,0%)CHR$(151)" `x$" 114 ; CUR(11%,0%)CHR$(151)" ~u " 115 ; CUR(12%,0%)CHR$(151)"p}zt" 116 X%=K%+7% : I4%=11 : I5%=31 117 FOR I2%=1% TO K% 118 CLRDOT I5%,I4% 119 I4%=I4%+1% 120 I5%=I5%-1% 121 SETDOT I5%,I4% 122 NEXT I2% 123 FOR I2%=1% TO K%/3% 124 CLRDOT I5%,I4% 125 I4%=I4%+1% 126 SETDOT I5%,I4% 127 NEXT I2% 128 FOR I2%=1% TO X%-1% 129 CLRDOT I5%,I4% 130 I5%=I5%+1% 131 I4%=I4%+1% 132 SETDOT I5%,I4% 133 NEXT I2% 134 OUT 6,139 135 FOR A=1 TO 500 : NEXT A 136 GOSUB 151 137 FOR A=1 TO 2000 : NEXT A 138 K=K%*1.2 139 IF K>K1 THEN K1=K : K2%=I% 140 ; CUR(2%,0%)"L[NGD:"K"m" 141 FOR A=1 TO 1000 : NEXT A 142 IF K>23 THEN GOSUB 159 143 IF K<14 THEN GOSUB 155 144 FOR A=1 TO 5000 : NEXT A 145 NEXT I% 146 B%(K2%)=B%(K2%)+1% 147 GOTO 163 148 REM  149 REM  KULST\TNING(SUBRUTINER)  150 REM  151 ; CUR(10%,2%)"? " 152 ; CUR(11%,2%)" " 153 ; CUR(12%,2%)"tpp" 154 RETURN 155 ; CUR(10%,2%)" " 156 ; CUR(11%,2%)" p" 157 ; CUR(12%,2%)"w{~" 158 RETURN 159 ; CUR(10%,2%)"jzu5" 160 ; CUR(11%,2%)"h.5 " 161 ; CUR(12%,2%)"sxup" 162 RETURN 163 REM  164 REM  H\JDHOPP  165 REM  166 ; CHR$(12) 167 ; " NU BLIR DET H\JDHOPP!" 168 FOR A=1 TO 5000 : NEXT A 169 FOR I%=1% TO A% 170 ; CHR$(12) 171 ; CUR(1%,0%)" H\JDHOPP" 172 ; CUR(2%,0%)" ==========" 173 ; CUR(3%,0%)"NAMN:"A$(I%) 174 IF H8%<>0% THEN 175 ELSE 176 175 ; CUR(6%,0%)"REKORD"H8%"cm AV "A$(H7%) 176 ONERRORGOTO 176 177 ; CUR(4%,0%)"H\JD (CM)"; : INPUT H% 178 IF H%>400 OR H%<100 THEN 177 179 ; CUR(4%,0%)" " 180 ; CUR(6%,0%)" " 181 ; CUR(4%,0%)"H\JD:"H%"cm" 182 FOR I1%=5% TO 20% 183 ; CUR(I1%,0%)CHR$(151); 184 NEXT I1% 185 ; CUR(19%,1%)"ppppppppppppppppppppppppppppppppppppppp" 186 ; CUR(17%,1%)"?" 187 ; CUR(18%,1%)"" 188 ; CUR(19%,1%)"t" 189 H1%=H%/20% 190 IF INT(H1%/2%) THEN 191 ELSE H1%=H1%-1% 191 FOR I4%=58% TO 58%-H1% STEP -1 192 SETDOT I4%,39% 193 NEXT I4% 194 ; CUR(19%,20%)"z" 195 ; CUR(21%,0%)"TRYCK TANGENT F\R HOPP!"; : GET A$ : ; CUR(21%,0%)" " 196 FOR A=1 TO 1000 : NEXT A 197 FOR I4%=1% TO 14% 198 IF I4%=1 THEN 202 199 ; CUR(17%,I4%-1%)" " 200 ; CUR(18%,I4%-1%)" " 201 ; CUR(19%,I4%-1%)"pppp" 202 ; CUR(17%,I4%)" ?`" 203 ; CUR(18%,I4%)"'3" 204 ; CUR(19%,I4%)"zt}" 205 FOR A=1 TO 50-I4% : NEXT A 206 IF I4%=1 THEN 210 207 ; CUR(17%,I4%-1%)" " 208 ; CUR(18%,I4%-1%)" " 209 ; CUR(19%,I4%-1%)"pppp" 210 ; CUR(17%,I4%)"`j%" 211 ; CUR(18%,I4%)"b{7%" 212 ; CUR(19%,I4%)'rpzt' 213 FOR A=1 TO 50-I4% : NEXT A 214 NEXT I4% 215 ; CUR(17%,I4%)" o" 216 ; CUR(18%,I4%)"  " 217 ; CUR(19%,I4%)'px ' 218 H3%=INT(RND*14) 219 IF H3%<6 THEN 218 220 ; CUR(16%,I4%)" h" 221 ; CUR(17%,I4%)" o" 222 ; CUR(18%,I4%)"  " 223 ; CUR(19%,I4%)'px ' 224 H4%=H3%/3% 225 H4%=19%-H4% 226 FOR I5%=1% TO H3% 227 GOSUB 256 228 ON I5% GOSUB 235,240,246,251,240,246,251,240,246,251,240,246,251 229 FOR A=1 TO 10 : NEXT A 230 NEXT I5% 231 GOTO 262 232 REM  233 REM  H\JDHOPP (SUBRUTINER)  234 REM  235 ; CUR(H4%,I4%)" z" 236 ; CUR(H4%+1%,I4%)" {" 237 ; CUR(H4%+2%,I4%)" " 238 ; CUR(H4%+3%,I4%)" rs" 239 RETURN 240 H4%=H4%-1% 241 ; CUR(H4%,I4%)" `" 242 ; CUR(H4%+1%,I4%)" ~" 243 ; CUR(H4%+2%,I4%)" ~" 244 ; CUR(H4%+3%,I4%)" `" 245 RETURN 246 ; CUR(H4%,I4%)" h" 247 ; CUR(H4%+1%,I4%)" o" 248 ; CUR(H4%+2%,I4%)" " 249 ; CUR(H4%+3%,I4%)" (/" 250 RETURN 251 ; CUR(H4%,I4%)" z" 252 ; CUR(H4%+1%,I4%)" {" 253 ; CUR(H4%+2%,I4%)" " 254 ; CUR(H4%+3%,I4%)' "#' 255 RETURN 256 ; CUR(H4%,I4%-1%)" " 257 ; CUR(H4%+1%,I4%-1%)" " 258 ; CUR(H4%+2%,I4%-1%)" " 259 ; CUR(H4%+3%,I4%-1%)" " 260 ; CUR(19,I4%-1%)'ppppp' 261 RETURN 262 REM  263 REM  H\JDHOPP (FORTS.)  264 REM  265 FOR A=1 TO 100 : NEXT A 266 GOSUB 256 267 FOR I5%=16% TO 21% 268 ; CUR(H4%+2%,I5%-2%)" " 269 ; CUR(H4%+2%,I5%)"}|xt0" 270 FOR A=1 TO 50 : NEXT A 271 NEXT I5% 272 FOR H5%=H4%+2% TO 18% 273 ; CUR(H5%-1%,I5%-1%)" " 274 ; CUR(H5%,I5%)"-t}4 " 275 FOR A=1 TO 75 : NEXT A 276 NEXT H5% 277 FOR I4%=58% TO 58%-H1% STEP -1 278 IF DOT(I4%,39%) THEN 279 ELSE G%=1% 279 NEXT I4% 280 IF G%=1 THEN O$='UNDERK[NT !' ELSE O$='GODK[NT !' 281 FOR A=1 TO 1230 : NEXT A 282 ; CUR(6%,0%)O$ 283 FOR A=1 TO 1234 : NEXT A 284 IF G%=0 THEN 285 ELSE 290 285 IF H%>H8% THEN H8%=H% : H7%=I% 286 ; CUR(18%,21%)" " 287 ; CUR(16%,21%)"hh4" 288 ; CUR(17%,21%)'"k' 289 ; CUR(18%,21%)" zu" 290 FOR A=1 TO 4500 : NEXT A : G%=0 291 NEXT I% 292 IF H8%<>0 THEN 298 293 ; CHR$(12) 294 ; " TYV[R S] VAR DET INTE N]GON SOM" 295 ; " GORDE ETT GODK[NT HOPP S] NI F]R" 296 ; " HOPPA EN G]NG TILL" 297 GOTO 168 298 B%(H7%)=B%(H7%)+1% 299 REM  300 REM  L[NGDHOPP  301 REM  302 ; CHR$(12) 303 ; "=======================================" 304 ; " NU BLIR DET L[NGDHOPP!" 305 ; "=======================================" 306 FOR A=1 TO 2000 : NEXT A 307 FOR I%=1% TO A% 308 ; CHR$(12) 309 ; CUR(1%,0%)" L[NGDHOPP" 310 ; CUR(2%,0%)CHR$(151%)" #########" 311 ; "NAMN:"A$(I%) 312 IF I%=1 THEN 314 313 ; CUR(6%,0%)"REKORD"L2"m AV "A$(L2%) 314 FOR I1%=10% TO 20% 315 ; CUR(I1%,0%)CHR$(151%); 316 NEXT I1% 317 ; CUR(19%,1%)"###################'##################" 318 ; CUR(16%,2%)"|" 319 ; CUR(17%,2%)"}" 320 ; CUR(18%,2%)"0" 321 ; CUR(21%,0%)"TRYCK TANGENT F\R HOPP!"; : GET A$ 322 ; CUR(21%,0%)" " 323 FOR A=1 TO 1111 : NEXT A 324 FOR I1%=1% TO 5% 325 ; CUR(17%,3%)" " 326 FOR A=1 TO 150 : NEXT A 327 ; CUR(17%,3%)"d" 328 FOR A=1 TO 100 : NEXT A 329 NEXT I1% 330 FOR I1%=1% TO 15% STEP 2% 331 ; CUR(16%,I1%)" | " 332 ; CUR(17%,I1%)" <}." 333 ; CUR(18%,I1%)" h3u" 334 FOR A=1 TO 99-I1%*3 : NEXT A 335 ; CUR(16%,I1%+1%)" |" 336 ; CUR(17%,I1%+1%)" -}l" 337 ; CUR(18%,I1%+1%)" '#t" 338 FOR A=1 TO 99-I1%*3 : NEXT A 339 NEXT I1% 340 L=(RND*15%) 341 L%=L 342 L=INT(100*L+.5)/100 343 IF L>L2 THEN L2=L : L2%=I% 344 IF L%<2 THEN 340 345 ; CUR(16%,17%)" h4" 346 ; CUR(17%,17%)" hn<%" 347 ; CUR(18%,17%)" v)%" 348 FOR A=1 TO 150 : NEXT A 349 ; CUR(16%,18%)" " 350 ; CUR(17%,18%)" " 351 ; CUR(18%,18%)" " 352 FOR I1%=21% TO 21%+L% 353 ; CUR(16%,I1%)" ?" 354 ; CUR(17%,I1%)" {" 355 FOR A=1 TO 66 : NEXT A 356 NEXT I1% 357 ; CUR(16%,I1%)" |" 358 ; CUR(17%,I1%)" }," 359 ; CUR(18%,I1%)" 0" 360 FOR A=1 TO 2000 : NEXT A 361 ; CUR(5%,0%)"L[NGD:"L"m" 362 FOR A=1 TO 1000 : NEXT A 363 IF L>7.5 THEN 364 ELSE 373 364 ; CUR(16%,I1%)"4|h" 365 ; CUR(17%,I1%)"##" 366 ; CUR(18%,I1%)"`0" 367 FOR A=1 TO 1500 : NEXT A 368 ; CUR(16%,I1%)" p " 369 ; CUR(17%,I1%)"j5" 370 FOR A=1 TO 999 : NEXT A 371 ; CUR(16%,I1%)"4|" 372 ; CUR(17%,I1%)"#" 373 FOR A=1 TO 3000 : NEXT A 374 NEXT I% 375 B%(L2%)=B%(L2%)+1% 376 REM  377 REM  200m  378 REM  379 ; CHR$(12) 380 ; "=======================================" 381 ; " NU BLIR DET 200m" 382 ; "=======================================" 383 FOR A=1 TO 2000 : NEXT A 384 ; INP(4)CHR$(12) 385 ; CUR(1%,0%)CHR$(151)",,,,,<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,l,," 386 FOR I%=1% TO A% 387 ; CUR(I%*2%,1%)A$(I%)":" 388 ; CUR(I%*2%,4%)" " 389 A(I%)=0 : A%(I%)=0 390 IF I%=A% THEN 392 391 ; CHR$(151%)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," 392 NEXT I% 393 ; CHR$(151%)",,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,," 394 ; CUR(21%,0%)"TRYCK TANGENT F\R START!"; : GET A$ 395 ; CUR(21%,0%)" " : ; CHR$(7) 396 FOR I%=1% TO A% 397 FOR I1%=1% TO M% : NEXT I1% 398 A1(I%)=RND 399 A(I%)=A(I%)+A1(I%) 400 A%(I%)=A(I%) 401 ; CUR(I%*2%,A%(I%)+4%)" " 402 IF A%(I%)+5%=76% THEN A1%=I% : GOTO 405 403 NEXT I% 404 GOTO 396 405 B%(A1%)=B%(A1%)+1% 406 ; CUR(22%,0%)A$(A1%)" VANN!" 407 OUT 6,7 : FOR A=1 TO 3000 : NEXT A : OUT 6,0 408 FOR A=1 TO 5000 : NEXT A 409 REM  410 REM  SLUT  411 REM  412 ; INP(3)CHR$(12) 413 ; CHR$(151)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," 414 ; " SLUTST[LLNINGEN I FEMKAMPEN [R:" 415 ; CHR$(151%)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," 416 ; " NAMN:"," VINSTER (st)" : ; 417 FOR A=1 TO 4000 : NEXT A 418 FOR I%=1% TO A% 419 FOR A=1 TO 2000 : NEXT A 420 ; " "A$(I%),B%(I%) 421 OUT 6,135 422 NEXT I% 423 ; CUR(20%,0%)CHR$(151%)"" 424 ; CUR(20%,19%); : GET A$