'=========================================================================== ' Subject: SPEED RACER DEMO Date: 06-05-95 (00:00) ' Author: The ABC Programmer Code: QB, QBasic, PDS ' Keys: SPEED,RACER,DEMO Packet: DEMOS.ABC '=========================================================================== '======================================= ' Speed Racer Demo by William Yu ' Simple demonstration of a vertical ' scrolling road with a cheap imitation ' of a race car done in QuikDraw '======================================= DEFINT A-Z SCREEN 7 REDIM Sprite%(240) ' FOR a = 0 TO 158: READ Sprite%(a): NEXT ' DATA 22,25,224,-8164,7168,-25,1948,-32513,224,-8164 DATA 7168,-17,4060,-16129,224,-8164,7168,-1,8188,-7937 DATA 224,-8164,7168,-1,8188,-7937,30944,-8164,7288,-1 DATA 8188,-7937,31968,-8164,7292,-1025,8188,-7937,-288,-8164 DATA 7422,-4609,8188,-7937,-512,0,254,-2785,8160,-7937 DATA -512,0,254,-2753,16368,-3841,-512,0,254,-641 DATA 32760,-1793,-512,0,254,-641,32760,-1793,-512,0 DATA 254,-17025,32760,-1793,-512,0,254,-17025,32760,-1793 DATA -512,0,254,-8833,32760,-1793,31744,0,124,-1153 DATA 32760,-1793,14336,0,56,-14465,32760,-1793,0,0 DATA 0,-129,32760,-1793,0,0,0,-193,16368,-3841 DATA 0,0,0,-225,8160,-7937,224,-8164,7168,-1 DATA 8188,-7937,192,-16372,3072,-1,16380,-3841,192,-16372 DATA 3072,-1,16380,-3841,248,-1924,31744,-5,892,255 DATA 248,-1924,31744,248,124,0,248,-1924,31744,248 DATA 124,0,0,0,0,0,0,0,0 PUT (100, 100), Sprite%, PSET GET (98, 98)-(123, 126), Sprite% LINE (98, 98)-(123, 126), 0, BF X = 200: Y = 0: Z = 0: N = 1: M = 165: R = 230 UP = 0 DO DO IF N > 0 THEN LINE (X, Y - N)-(X + 4, Y), 0, BF LINE (X, Y)-(X + 4, Y + 15), 15, BF Y = Y + 25 LOOP UNTIL Y >= 225 PUT (R, M), Sprite%, PSET PUT (R + 1, M), Sprite%, PSET PUT (R, M), Sprite%, PSET V$ = INKEY$ IF V$ = CHR$(0) + "H" THEN IF N = 0 THEN N = 1 UP = 1 M = M - 1 END IF IF V$ = CHR$(0) + "P" THEN N = N - 1 IF V$ = CHR$(0) + "M" THEN R = R + 1 IF V$ = CHR$(0) + "K" THEN R = R - 1 IF N < 0 THEN N = 0 IF UP = 1 THEN Z = Z + N IF M = 30 THEN M = M + 1: N = N + 1 IF N = 6 THEN N = N - 1 IF V$ = "+" AND N < 5 THEN N = N + 1 IF Z >= 15 THEN Z = -10 Y = Z LOOP UNTIL V$ = CHR$(27)