Random game
Random game
Random demo
Entry name:
 Game of Tag, The 
Publisher/Developer:

BELLCOM - Public Domain Library
(Software library)
  • Category:

    Games
  • Controllers:

    Joystick
  • Maximum players:

    2
  • Programming language:

    Atari BASIC
Game of Tag, The Game of Tag, The Game of Tag, The
Listing 1
100REM
110GOSUB1170:REMINITIALIZE
120PLR=1-PLR:IFPEEK(53279)=6THENRUN:REMALLOWRESTART
130IFPEEK(20)+256*PEEK(19)>900THENIT=1-IT:POKE20,0:POKE19,0:FORW=15TO0STEP-0.1:SOUND0,10,12,W:NEXTW
140BLINK=BLINK-(BLINK>0):GOSUB530
150S=STICK(PLR):T=STRIG(PLR):POKEPOKEHERE+1,VV+IT
160IFS=15ANDT=1THENS=S(PLR)
170S(PLR)=S
180SOUNDPLR,S*5+100,10,4
190TEST=POS(PLR)
200TEST=TEST-20*(S=10ORS=14ORS=6)+20*(S=5ORS=9ORS=13)-(S>8ANDS<12)+(S>4ANDS<8)
210IFTEST<SCR+20ORTEST>SCR+439THENSOUNDPLR,0,0,0:GOTO120
220CHR=(S>4ANDS<8)+3*(S>8ANDS<12)+2*(S=14ORS=13)
230SOUNDPLR,0,0,0
240P=PEEK(TEST):IFP=0THENPOKEPOS(PLR),0:POKETEST,CHR+PLR*64:POS(PLR)=TEST:GOTO120
250Z=P-(PLR=0)*64:IFZ<1ORZ>3THEN280
260IFPLR=ITTHEN310:REMGOTCHA
270PLR=1-PLR:GOTO310:REMWHOOPS!
280IFP=196THENPLR=1-PLR:GOTO310:REMMONSTERGOTPLAYER
290GOTO120
300REMPLAYERCAUGHTROUTINE
310RESTORE340:SOUND3,0,0,0
320POSITION0,1:?#6;"";(1-PLR)+1;""
330POKEPOS(0),0:POKEPOS(1),0
340DATA100,1,100,1,115,1,90,1,100,2,120,3
350FORI=1TO6:READA,B
360FORW=15TO0STEP-0.5/B:SOUND0,A,10,W:NEXTW
370SOUND0,0,0,0:NEXTI
380COLOR32:PLOT0,1:DRAWTO19,1
390SCR(PLR)=SCR(PLR)+1
400POSITION3,1:?#6;SCR(0):POSITION17,1:?#6;SCR(1)
410IFMONSTERSTHENFORI=1TOMONSTERS:POKEMPOS(I),5+128:NEXTI
420IFSCR(PLR)<ESCORETHENIT=1-IT:GOSUB1510:GOTO120
430REMGAMEOVER
440FORI=255TO0STEP-5:POKECOLTAB+4,PEEK(53770):SOUND0,I,12,4:SOUND1,I,10,4:NEXTI:SOUND0,0,0,0
450POSITION0,1:?#6;"";PLR+1;"wN!"
460FORI=1TO5:FORW=0TO15:SOUND0,10,0,W:NEXTW:FORW=0TO15:SOUND0,12,0,15-W:NEXTW:NEXTI
470POKECOLTAB+4,28:S=0:GOTO490
480IFPEEK(20)<25THEN510
490POKE20,0:POSITION7,0:S=1-S:IFSTHEN?#6;"PRESS":GOTO510
500?#6;"":POKE53279,0
510IFPEEK(53279)<>6THEN480
520RUN
530REM...ANDTHEMONSTERSCOMEOUTTOPLAY
540DURATION=DURATION-1:IFDURATIONTHEN590:REMMAKEITRARE
550MONSTERS=MONSTERS+1:IFMONSTERS>8THENMONSTERS=8:GOTO590
560MPOS=SCR+20+INT(420*RND(0)):IFPEEK(MPOS)<>5+128THEN560
570MPOS(MONSTERS)=MPOS:MCUR(MONSTERS)=DIR(INT(8*RND(0))):MNERGY(MONSTERS)=20-MONSTERS
580BLINK=10:POKEMPOS,6+128:DURATION=45:RETURN
590IFMONSTERS=0ORBLINKTHENRETURN
600INDEX=INDEX+1:IFINDEX>MONSTERSTHENINDEX=1
610SOUND3,INDEX*10+20,0,15
620MPOS=MPOS(INDEX)+MCUR(INDEX):IFMPOS<SCR+20ORMPOS>SCR+419THEN650
630P=PEEK(MPOS):IFP=0THENPOKEMPOS(INDEX),0:POKEMPOS,196:MPOS(INDEX)=MPOS:GOTO670
640IFP<4ORP>64ANDP<68THENPLR=1-(P>64):GOTO310:REMMONSTERBUMPPLAYER
650MCUR(INDEX)=DIR(INT(8*RND(0)))
660MNERGY(INDEX)=MNERGY(INDEX)-1
670IFMNERGY(INDEX)>0THENSOUND3,0,0,0:RETURN
680REMTURNTOSTONE
690FORI=1TO10:SOUND3,I*2+50,0,8:NEXTI:SOUND0,0,0,0
700MONSTERS=MONSTERS-1:POKEMPOS(INDEX),5+128:INDEX=INDEX-1
710FORI=INDEX+1TOMONSTERS
720MPOS(I)=MPOS(I+1):MCUR(I)=MCUR(I+1):MNERGY(I)=MNERGY(I+1)
730NEXTI:SOUND3,0,0,0
740RETURN
750END
760CHSET=(PEEK(106)-8)*256:FORI=0TO7:POKECHSET+I,0:POKECHSET+512+I,0:NEXTI
770RESTORE810:TP=0:IFPEEK(CHSET+8)=24THEN960
780READA:IFA=-1THEN960
790FORJ=0TO7:READB:POKECHSET+TP*512+A*8+J,B:SOUND0,B,10,8:POKE712,B:NEXTJ
800TP=1-TP:GOTO780:REMFOLLOWINGDATASTATEMENTSARECUSTOMCHARACTERS
810DATA1,24,24,16,126,24,28,82,33
820DATA1,24,24,18,124,16,24,36,72
830DATA2,28,28,72,62,9,28,22,48
840DATA2,28,28,9,62,72,28,52,6
850DATA3,24,24,8,126,24,56,74,132
860DATA3,24,24,72,62,8,24,36,18
870DATA4,30,63,91,255,231,219,126,60
880DATA4,30,63,91,255,231,195,126,60
890DATA5,30,63,127,255,255,255,126,60
900DATA5,30,63,127,255,255,255,126,60
910DATA6,30,63,127,219,255,255,126,60
920DATA6,30,63,127,255,255,255,126,60
930DATA7,0,255,0,255,0,0,0,0
940DATA7,0,255,0,255,0,0,0,0
950DATA-1
960IFPEEK(1600)=173THEN980
970FORI=1536TO1629:READA:POKEI,A:POKE712,A:SOUND0,A,10,8:NEXTI
980SOUND0,0,0,0:LETPOKEHERE=1605:VV=22:COLTAB=1624
990RETURN
1000REMMACHINECODE
1010DATA104,104,104,133,203,169
1020DATA36,141,0,2,169,6
1030DATA141,1,2,169,192,141
1040DATA14,212,169,76,141,40
1050DATA2,169,6,141,41,2
1060DATA169,16,141,26,2,96
1070DATA72,138,72,166,203,173
1080DATA92,6,141,10,212,141
1090DATA26,208,142,9,212,162
1100DATA4,189,87,6,157,21
1110DATA208,202,208,247,173,10
1120DATA210,9,6,141,22,208
1130DATA104,170,104,64,165,203
1140DATA73,2,133,203,169,16
1150DATA141,26,2,96,102,118
1160DATA72,216,28,0,0,0
1170REM
1180OPEN#1,4,0,"K:"
1190GRAPHICS2+16:POKE538,0:POKE54286,64
1200POSITION2,2:?#6;"THE":POSITION4,4:?#6;"":POSITION6,6:?#6;"":POSITION7,8:?#6;"tag"
1210FORI=0TO3:SETCOLORI,I,14-I*2:NEXTI
1220FORI=1TO50:POKE53274,PEEK(53770):POKE53279,0:POKE712,PEEK(53770):NEXTI
1230GOSUB760:REMINITIALIZECHSET&MACHINELANGUAGE
1240GRAPHICS1+16:DL=PEEK(560)+256*PEEK(561)+4
1250A=USR(1536,CHSET/256)
1260SETCOLOR4,0,14:SETCOLOR3,15,8:SETCOLOR0,2,10:SETCOLOR2,9,6
1270SCR=PEEK(DL)+256*PEEK(DL+1)+40
1280POKEDL-1,7+64
1290POKEDL+2,PEEK(DL+2)+128
1300FORI=1TO120
1310P=SCR+30+INT(388*RND(0)):IFPEEK(P)THEN1310
1320POKEP,5+128:NEXTI
1330FORPLR=0TO1
1340POSITION6,0:?#6;"PLAYER";PLR+1
1350POSITION1,1:?#6;"":FORI=1TO3
1360GET#1,A:IFA<32ORA>90THEN1360
1370COLORA+32*(A>64)+PLR*128:PLOTPLR*14+1+I,0:NEXTI
1380COLOR32:PLOT5,0:DRAWTO15,0:PLOT0,1:DRAWTO19,1:NEXTPLR:COLOR48:PLOT3,1:PLOT17,1
1390POSITION7,0:?#6;"":ESCORE=5
1400IFPEEK(53279)=5THEN1460
1410POSITION8,1:?#6;"";ESCORE;"";
1420IFPEEK(53279)<>3THEN1400
1430IFPEEK(53279)=3THEN1430
1440ESCORE=ESCORE+1:IFESCORE>10THENESCORE=1
1450GOTO1400
1460COLOR32:PLOT5,0:DRAWTO15,0:PLOT5,1:DRAWTO15,1
1470POSITION9,0:?#6;"":IT=0:PLR=IT
1480POSITION0,2:?#6;""
1490DIMPOS(1),S(1),SCR(1),MPOS(8),DIR(7),MCUR(8),MNERGY(8):SCR(0)=0:SCR(1)=0
1500DIR(0)=20:DIR(1)=20:DIR(2)=19:DIR(3)=-19:DIR(4)=21:DIR(5)=-21:DIR(6)=1:DIR(7)=-1
1510POKE20,0:POKE19,0:MONSTERS=0:DURATION=70
1520POS(0)=SCR+20:POS(1)=SCR+419:S(0)=7:S(1)=11:Z=0
1530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!