10 ' === JURASSIC.BAS === Een kleine dino-demo === (c) 1994 JPSOFT/RUN AD
20 DEFINT B-Z: KEY OFF: MUSIC = -1: KEY 15, CHR$(8) + CHR$(31): ON KEY(15) GOSUB 30: KEY(15) ON: GOSUB 40: GOTO 250
30 MUSIC = -1 - MUSIC: BGM = 1: SOUND 0, 0: GOSUB 50: IF NOT MUSIC THEN OY = CSRLIN: OX = POS(0): LOCATE 2, 58: PRINT "Niet aktief... ": LOCATE OY, OX: RETURN ELSE RETURN
40 RESTORE 70: READ BGMN: DIM BGM$(BGMN), p(420): FOR I = 1 TO BGMN: READ BGM$(I): NEXT I: MUSIC = -1: BGM = 1: GOSUB 50: ON PLAY(6) GOSUB 50: PLAY ON: RETURN
50 IF MUSIC THEN PLAY "MB" + BGM$(BGM): BGM = BGM + 1: IF BGM = BGMN + 1 THEN GOSUB 30: RETURN
170 DATA 254,0,0,15,128,0,7,192,0,3,224,0,1,240,0,0,249,223,0,124,112,0,62,224,0,63,128,0,63,128,0,223,192,0,31,192,0,103,224,0,1,224,0,0,112,0,0,48,0,0,48,0,0,16,0,0,16,0,0,16,0,0,16,0
180 DATA 6,9,"Hallo, ik ben een Pteranodon, een bepaald soort vliegende dinosaurus.",11,"Wil je meer over mij en nog veel meer dinosaurussen weten?",13,"Bestel dan heel gauw RUN Flagazine nummer 11!",15
190 DATA "Daarin vind je namelijk (naast vele andere interessante programma's,",17,"zoals de Bommelbank, de dinosaurus database van Jarno Peschier,",19,"inclusief plaatjes!"
200 FOR Y = 1 TO 21: FOR X = 1 TO 3: READ D: FOR Z = 7 TO 0 STEP -1: IF D - 2 ^ Z < 0 THEN 220
230 L = 3: FOR XP = 0 TO 580 STEP 3: PUT (XP, Y * 14 - 20 + 5 * SIN(XP / 75)), p, PSET: IF XP / 8 > L THEN LOCATE Y, L: PRINT LEFT$(T$, 1): T$ = MID$(T$, 2): L = L + 1
240 NEXT XP: LINE (580, Y * 14 - 13)-(639, Y * 14 + 10), 1, BF: RETURN
260 PRINT "Alt+S = Muziek aan/uitzetten": LINE (0, 300)-(639, 349), 6, BF: CIRCLE (500, 80), 10, 15: PAINT (500, 80), 15, 15: CIRCLE (510, 70), 15, 15: PAINT (510, 70), 15, 15: CIRCLE (519, 87), 14, 15
270 PAINT (519, 87), 15, 15: CIRCLE (529, 74), 17, 15: PAINT (529, 74), 15, 15: CIRCLE (310, 45), 25, 14: PAINT (310, 45), 14, 14: FOR A = 0 TO 8 * ATN(1) STEP ATN(1) / 4
280 LINE (310 + 25 * SIN(A), 45 + 25 * COS(A) * 3 / 4)-(310 + 35 * SIN(A), 45 + 35 * COS(A) * 3 / 4), 14: NEXT A: RESTORE 170: XP = 0: YP = 200: C = 10: GOSUB 200: GET (10, 198)-(67, 223), p
290 FOR XP = 10 TO 580 STEP 4: PUT (XP, 198 + 5 * SIN(XP / 75)), p, PSET: NEXT XP: LINE (580, 190)-(639, 235), 1, BF: RESTORE 180: READ J: FOR I = 1 TO J: READ Y: READ T$: GOSUB 230: NEXT I
300 RESTORE 180: READ J: FOR I = 1 TO J: READ Y: READ T$: T$ = "": GOSUB 230: NEXT I: Y = 12: T$ = "Druk op een toets...": GOSUB 230: WHILE INKEY$ = "": WEND: LOCATE , , 1: SCREEN 0: COLOR 7, 0: CLS : SOUND 0, 0: END