Random game
Random game
Random demo
  • Entry name:
     Racer 
  • Category:
    Games
  • Publisher/Developer:
    SoftSide Publications
  • Year:
    1983
  • Code:
    Alan J. Zett
  • Controllers:
    Joystick
  • Programming language:
    Atari BASIC
source: Racer Racer Racer Racer Racer Racer Racer Racer
Listing 1
100 DIM VAR$(3),PM$(256),C$(20),S$(400),T$(400):POKE 106,PEEK(106)-8:GRAPHICS 4:LOC=PEEK(106)*256+1024
110 VAR$="PM$":LEN=256:GOSUB 480:LOC=PEEK(88)+PEEK(89)*256:VAR$="S$":LEN=400:GOSUB 480:POKE 752,1
120 POKE 708,68:POKE 709,14:POKE 710,0:RESTORE 470:FOR AZ=1 TO 18:READ AZ1:C$(AZ)=CHR$(AZ1):NEXT AZ:POKE 559,62
130 PM$=CHR$(0):PM$(256)=CHR$(0):PM$(2)=PM$(1):POKE 53277,3:POKE 54279,PEEK(106):POKE 53248,122:SCORE=0
140 DIS=3:SIDE=1:FAC=0.9:LAP=0:POS=32:? "RACER BY ALAN J. ZETT":? :? :PM$(176)=C$:PMH=122:PMV=176:POKE 704,200
150 COLOR 1:PLOT 32,0:DRAWTO 32,39:PLOT 45,0:DRAWTO 45,39:POKE 53278,0
160 LAP=LAP+1:? CHR$(28);"SCORE: ";INT(SCORE):T$=S$:S$(11)=T$:IF RND(0)>FAC AND D=0 THEN D=INT(RND(0)*DIS)-SIDE
170 COLOR 0:PLOT POS,0:PLOT POS+13,0
180 IF D>0 THEN POS=POS+1
190 IF D<0 THEN POS=POS-1
200 IF POS<10 THEN POS=10:D=0
210 IF POS>64 THEN POS=64:D=0
220 COLOR 1:PLOT POS,0:PLOT POS+13,0
230 SCORE=SCORE+22/PMV:POKE 77,0
240 SOUND 0,52+(PMV/2),2,4
250 IF D<0 THEN D=D+1
260 IF D>0 THEN D=D-1
270 IF LAP=200 THEN DIS=DIS+4:SIDE=SIDE+2:IF DIS>61 THEN DIS=61:SIDE=30
280 IF LAP>400 THEN LAP=0:FAC=FAC-0.07:IF FAC<0.25 THEN FAC=0.25
290 ST=STICK(0):IF ST=15 THEN 410
300 IF ST=5 THEN PMH=PMH+2:PMV=PMV+2
310 IF ST=6 THEN PMH=PMH+2:PMV=PMV-2
320 IF ST=7 THEN PMH=PMH+2
330 IF ST=9 THEN PMH=PMH-2:PMV=PMV+2
340 IF ST=10 THEN PMH=PMH-2:PMV=PMV-2
350 IF ST=11 THEN PMH=PMH-2
360 IF ST=13 THEN PMV=PMV+2
370 IF ST=14 THEN PMV=PMV-2
380 IF PMV<32 THEN PMV=32
390 IF PMV>176 THEN PMV=176
400 POKE 53248,PMH:PM$(PMV)=C$
410 IF PEEK(53252)=0 THEN 160
420 FOR X=15 TO 200 STEP 5:SOUND 0,X,8,8:NEXT X:FOR X=-1 TO 18:PM$(PMV+X)=CHR$(RND(0)*254):NEXT X
430 FOR X=255 TO 0 STEP -1:POKE 704,X:SOUND 0,X,X,X:NEXT X:SOUND 0,0,0,0:COLOR 0:PLOT 0,0:DRAWTO 79,0
440 POKE 53248,0:FOR X=0 TO 39:T$=S$:S$(11)=T$:NEXT X:? :? "GAME OVER (PRESS TRIGGER)"
450 IF STRIG(0)=1 THEN 450
460 GOTO 130
470 DATA 0,0,153,153,255,255,189,199,36,36,199,189,255,255,153,153,0,0
480 VNTP=PEEK(130)+PEEK(131)*256
490 VNTD=PEEK(132)+PEEK(133)*256
500 VVTP=PEEK(134)+PEEK(135)*256
510 STARP=PEEK(140)+PEEK(141)*256
520 AZ1=-1
530 AZ1=AZ1+1:FOR AZ=1 TO LEN(VAR$)
540 AZ2=PEEK(VNTP):IF AZ2>127 AND AZ<LEN(VAR$) THEN 560
550 IF AZ2-128*(AZ2>127)=ASC(VAR$(AZ))THEN VNTP=VNTP+1:NEXT AZ:GOTO 590
560 IF PEEK(VNTP)<128 THEN VNTP=VNTP+1:GOTO 560
570 VNTP=VNTP+1:IF VNTP<VNTD THEN 530
580 GRAPHICS 0:? VAR$;" ISN'T A LEGAL VARIABLE":END
590 AZ=VVTP+AZ1*8+2:IF PEEK(AZ-2)<>129 THEN 570
600 AZ1=LOC-STARP:GOSUB 620:AZ1=LEN:GOSUB 620:AZ1=LEN:GOSUB 620
610 RETURN
620 AZ2=INT(AZ1/256):AZ1=AZ1-AZ2*256:POKE AZ,AZ1:POKE AZ+1,AZ2:AZ=AZ+2:RETURN	

This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page, please contact me immediatelly so I can remove it!