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!
|
|
|
-
Entry name:Hopper
-
Category:Games
-
Publisher/Developer:BELLCOM - Public Domain Library
Listing 1
10GOSUB10000:GOSUB11000:GOSUB12000:GOSUB13000:GOSUB30000:GOSUB15000 100GOSUB2300 110GOSUB2400 120A9=STICK(N0):A1=N0:A2=N0 130U=USR(ADR(MOVE$)):ONA9GOTO200,200,200,200,200,200,140,200,200,200,150,200,160,170,200 140A1=N2:GOTO200 150A1=-N2:GOTO200 160A2=UP(YP+N1):GOTO200 170A2=-UP(YP) 200XP=XP+A1+SP(YP)*(A2=N0):YP=YP+A2:IFXP<N2ORXP>37THEN1200 203IFA1ORA2THENSOUNDN0,210,10,10 205A=PEEK(SC+YP*40+XP):A3=PEEK(SC+YP*40+XP+N1) 210IFA2<N0THENU=USR(ADR(UP$),PM+528):IFA2=-N2THENU=USR(ADR(UP$),PM+528) 220IFA2>N0THENU=USR(ADR(DOWN$),PM+528):IFA2=N2THENU=USR(ADR(DOWN$),PM+528) 225IFA1ORA2THENSOUNDN0,120,N10,10 230IFYP>=13ANDYP<=19AND(A<>90ORA3<>90)THENSOUNDN0,N0,N0,N0:GOTO1200 240SOUNDN0,N0,N0,N0:IFYP>=N3ANDYP<=9AND(A=90ORA3=90ORA=80ORA3=80ORA=83ORA3=83)THEN1200 250IFYP<FPTHENFP=YP:S=S+20:POSITIONN9,N0:?S;:IFYP=N2THEN1000 260POKEPX,47+XP*N4:SOUNDN3,S(YP),S1(YP),N2 270M1=M1-N1:IFM1<>N0THEN120 280SOUNDN2,200-150*(M<5),12,N8+N6*(M<N5):M1=M2:POKESC+917-M,N0:M=M-N1:SOUNDN2,N0,N0,N0:IFM<>N0THEN120 285SOUNDN2,200,12,14:FORJ=N1TO250:NEXTJ:SOUNDN2,N0,N0,N0 290GOTO1400 1000SOUNDN3,N0,N0,N0:IFA<>113ORA3<>113THEN1200 1010POKEPX,N0:XP=INT((XP+N3)/N7)*N7-N1:POSITIONXP,YP:?"uv"; 1020S=S+250+M*N10:GOSUB2480 1030H=H+N1 1040FORT=40TON10STEP-10:SOUNDN3,T,N10,N10:SOUNDN3,N0,N0,N0:FORI=N1TO15:NEXTI:NEXTT 1050IFH<>N5THENFORI=N1TO100:NEXTI:GOTO110 1100POSITIONN2,N0:?"":FORJ=N1TO400:NEXTJ 1110FORJ=N1TON5:POSITIONJ*7-N1,N2:?"qq";:S=S+400:GOSUB2480 1120FORJ1=N0TON8STEP1.2:SOUNDN0,20-J1,N10,N8-J1:SOUNDN0,80-J1,N10,N8-J1:NEXTJ1:SOUNDN0,N0,N0,N0 1130FORJ1=N0TO20:NEXTJ1:SOUNDN0,20,N2,N4:SOUNDN1,80,N10,N4:FORJ1=N1TO20:NEXTJ1 1140SOUNDN0,N0,N0,N0:SOUNDN1,N0,N0,N0:NEXTJ:FORJ=N1TO200:NEXTJ:H=N0:IFB<MBTHENB=B+N1:GOSUB2500 1150GOTO110 1200IFYP>N9AND(XP<N2ORXP>37)THENSOUNDN3,200,14,N10:XP=XP-A1:SOUNDN3,N0,N0,N0:GOTO205 1202IFYP=N2THEN1400 1205IFYP>11THEN1300 1210A1=N1:IFXP>=N2ANDXP<=36ANDA<>80ANDA3<>80ANDA<>83ANDA3<>83THENA1=N0 1220POKEPX,N0:FORJ=N1TON4 1225SOUNDN3,N3,N8,12-J*N2 1230IFXP<N2THENXP=37 1240IFXP>37THENXP=N2 1250A=PEEK(SC+YP*40+XP):A3=PEEK(SC+YP*40+XP+N1):POSITIONXP,YP:?DEATH$(J*N2-N1,J*N2) 1260FORI=N1TO30:NEXTI 1270SOUNDN3,N0,N0,N0:POKESC+YP*40+XP,A:POKESC+YP*40+XP+N1,A3:U=USR(ADR(MOVE$)) 1280XP=XP+SP(YP)*A1:NEXTJ 1290GOTO1500 1300FORJ=N0TON4:SOUNDN3,200,N4,N10-J*N2:IFJ<>N2ANDJ<>N4THENPOKE53256,J:POKEPX,47+XP*N4-J*N4 1310FORJ1=N0TO23:IFJ1/N8=INT(J1/N8)THENU=USR(ADR(MOVE$)) 1320NEXTJ1:NEXTJ:POKEPX,N0:POKE53256,N0:SOUNDN3,N0,N0,N0:GOTO1500 1400FORJ=40TO245STEPN5:FORJ1=N0TON8STEPN2:SOUNDN3,J+J1,N10,N10:POKE704,J+J1:NEXTJ1:NEXTJ 1410SOUNDN3,N0,N0,N0:POKE704,24:FORJ=N1TO200:NEXTJ:POKEPX,N0 1500FR=FR-N1:POSITIONN4+FR*N2,22:?""; 1510IFFR>N0THEN110 1520GOSUB2200:POSITIONN1,N0:?SP$(N1,20); 1525POSITION5-INT(LOG(S+N1)/LOG(N10)/N2),N0:?"SCORE:";S;SP$(N1,N10); 1530?:?:FORA=N1TON5:IFS<=HS(A)THENNEXTA:GOTO1600 1540?"CONGRATULATIONS!YOURSCOREISTHE";RA$(A*N3-N2,A*N3);"HIGHESTSCORETODAY.":?:TRAP1520 1550?"PLEASEENTERYOURNAME,":?"(UPTOEIGHTCHARACTERSLONG).":?">";:INPUTA$ 1560TRAPN0:A1$=SP$ 1570IFA=N1THENA1$(N1,N8)=A$:A1$(N9,40)=HS$(N1,32):GOTO1590 1580A1$(N1,A*N8-N8)=HS$(N1,A*N8-N8):A1$(A*N8-N7,A*N8)=A$:IFA<>N5THENA1$(A*N8+N1,40)=HS$(A*N8-N7,32) 1590HS$=A1$:FORJ=N5TOA+N1STEP-N1:HS(J)=HS(J-N1):NEXTJ:HS(A)=S 1600GOSUB2200:POSITION14,N2:?"" 1610FORJ=N1TON5:IFHS(J)>N0THENPOSITION11,N3+J:?J;".";HS(J);:POSITION21,N3+J:?HS$(J*N8-N7,J*N8) 1620NEXTJ 1630POSITIONN6,14:?"MOVEJOYSTICKTOEXITGAME,":?"ORPRESSBUTTONTOPLAYAGAIN." 1640IFSTICK(N0)<>15THEN1700 1650IFSTRIG(N0)=N1THEN1640 1660POSITIONN2,N0:?SP$(N1,20);:GOSUB2200:GOTO100 1700TRAP1600 1710POSITIONN4,17:?"AREYOUSUREYOUWISHTOEXIT";:INPUTA$ 1720TRAPN0:IFA$(N1,N1)<>"Y"THEN1600 1730GRAPHICS0:STOP 2000READBYTE$:A1=ASC(BYTE$)-48:IFA1>N10THENA1=A1-N7 2010A2=ASC(BYTE$(N2,N2))-48:IFA2>10THENA2=A2-N7 2020A$=CHR$(A1*16+A2):RETURN 2100FORJ=N0TON3:A2=INT(A1/256):A3=A1-A2*256:POKEA,A2:POKEA+N1,A3 2120A=A+N3:A1=A1+80:NEXTJ:RETURN 2200COLOR32:FORJ=N1TO23:PLOTN1,J:DRAWTO39,J:NEXTJ:PLOTN0,N0:RETURN 2300POSITIONN2,N1:?"rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqqqrrrqqqqrrrqqqqrrrqqqqrrrqqqqrrr" 2310FORJ=14TO18STEPN2:POSITIONN2,J:?"oooooooooooooooooooooooooo";:NEXTJ 2320POSITIONN2,21:?"abbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbc" 2330?"sst":?"deeeeeeeeeeeedeeeeeeeeeeeeeeeeeeeeeef"; 2340POSITIONN4,22:?F$;F$;F$;F$;F$:FR=5 2350B=N1:S=N0:H=N0 2360GOSUB2500 2390RETURN 2400XP=14+INT(RND(N0)*N10):YP=20:FP=YP:GOSUB12030 2410POSITION17,22:?"rrrrrrrrrrrrrrrrrrrrq";:M=20:M2=INT(3.5+B/N2):M1=M2 2430RESTORE14000+B*100 2440COLOR26:FORJ=N3TO19STEPN2 2445IFJ<>11THENPLOTN0,J:DRAWTO39,J:READA$:A=37-LEN(A$):POSITIONN2+INT(RND(N0)*A),J:?A$; 2450POKESC+J*40+39,90:NEXTJ 2460SOUNDN3,50,N10,N10:FORJ=N1TON5:NEXTJ:SOUNDN3,N0,N0,N0 2480POSITIONN2,N0:PRINT"SCORE:";S;SP$(N1,20) 2490POKE77,N0:RETURN 2500RESTORE14900+B*N10 2520FORJ=N1TON8:READA:POKE1663+J*N3,A:NEXTJ 2530IFB=N1THENSP(N3)=N1:SP(N9)=-N1 2540IFB=N4THENSP(N9)=-N2 2550IFB=N5THENSP(N3)=N2 2590RETURN 10000N0=0:N1=1:N2=2:N3=3:N4=4:N5=5:N6=6:N7=7:N8=8:N9=9:N10=10 10010DIMBYTE$(2),MOVE$(200),A$(40),UP$(28),DOWN$(28),SP$(40),F$(N2),DEATH$(8),HS$(40),RA$(15),A1$(40) 10020DIMSP(24),UP(24),HS(5),S(24),S1(24) 10030SP$="":HS$=SP$:A1$=SP$ 10040RESTORE 10050F$=CHR$(10):F$(N2,N2)=CHR$(11):DEATH$="ghijklmn":RA$="1ST2ND3RD4TH5TH" 10060PX=53248:MB=N5 10070FORJ=N1TO24:S(J)=N0:S1(J)=N1:NEXTJ:FORJ=N3TON9STEPN2:S(J)=N3+INT(J/N2):S1(J)=N8:NEXTJ 10080FORJ=13TO19STEPN2:S(J)=93+INT(J/N2):S1(J)=N2:NEXTJ 10100FORJ=N1TO24:SP(J)=N0:NEXTJ 10110SP(N3)=N1:SP(N5)=-N1:SP(7)=N1:SP(9)=-N1 10120FORJ=N4TO19:UP(J)=N2:NEXTJ:UP(20)=N1:UP(21)=N0:UP(N3)=N1 10130FORJ=N1TON5:HS(J)=N0:NEXTJ 10990RETURN 11000GRAPHICS21:POKE752,N1:C=N0:POKE87,N0 11010DL=PEEK(560)+PEEK(561)*256+N4 11020MEM=PEEK(DL)+PEEK(DL+1)*256+40 11030MH=INT(MEM/256):ML=MEM-MH*256 11040POKE559,N0:POKEDL-N1,198 11050POKEDL+N2,66:POKEDL+N3,ML 11060POKEDL+N4,MH 11070FORJ=N5TO26:POKEDL+J,N2:NEXTJ 11080POKEDL+12,130:POKEDL+15,130 11090POKEDL+22,130:POKEDL+27,65 11100POKEDL+28,PEEK(560) 11110POKEDL+29,PEEK(561) 11120READA:IFA=999THEN11140 11130POKE1744+C,A:C=C+N1:GOTO11120 11140POKE512,208:POKE513,N6 11150POKE1774,176:POKE1775,180 11160POKE1776,N0:POKE1777,144 11170POKE1778,N0:POKE54286,192 11180POKE559,34 11190DATA72,138,72,174,242,6,189,238,6,141,10,212,141,24,208,232 11200DATA224,4,144,2,162,0,138,141 11210DATA242,6,104,170,104,64,999 11220POKE710,0:POSITIONN2,N0:?"INITIALIZING..." 11990RETURN 12000A=PEEK(106)-N8:POKE54279,A:PM=256*A:POKE106,A:XP=-N10:POKE623,0 12020POKE559,46:POKE53277,N3 12025POKE704,24 12030FORI=PM+512TOPM+640:POKEI,N0:NEXTI 12040RESTORE12050:FORJ=PM+608TOPM+611:READA:POKEJ,A:NEXTJ 12050DATA8,93,62,93 12060POKEPX,47+XP*N4 12070RETURN 13000FORJ=N1TO171:GOSUB2000:MOVE$(J,J)=A$:NEXTJ 13010SC=PEEK(88)+PEEK(89)*256:A=1664 13020A1=SC+N2+40*N3:GOSUB2100 13030A1=SC+N2+40*13:GOSUB2100 13040POKEA,N0 13045DATAD8,A9,80,85,CD,A9,06,85,CE 13050DATA38,B0,3D,60,A0,00,B1,CB 13055DATA48,A2,25,C8,B1,CB,88,91 13060DATACB,C8,CA,D0,F6,68,A0,25 13065DATA91,CB,38,B0,27,A0,00,B1 13070DATACB,48,C8,B1,CB,48,A2,24 13075DATAC8,B1,CB,88,88,91,CB,C8 13080DATAC8,CA,D0,F4,68,A0,25,91 13085DATACB,68,88,91,CB,38,B0,04 13090DATAD8,68,C6,CD,E6,CD,A0,00 13095DATAB1,CD,F0,B7,85,CC,E6,CD 13100DATAB1,CD,85,CB,E6,CD,B1,CD,F0,0C 13105DATAC9,01,EA,F0,20,C9,02,EA 13110DATAF0,A0,D0,B7,A0,25,B1,CB 13115DATA48,A2,25,88,B1,CB,C8,91 13120DATACB,88,CA,D0,F6,68,A0,00 13125DATA91,CB,38,B0,C5,A0,25,B1 13130DATACB,48,88,B1,CB,48,A2,24 13140DATA88,B1,CB,C8,C8,91,CB,88,88,CA 13145DATAD0,F4,68,A0,00,91,CB,68 13150DATAC8,91,CB,38,B0,A2 13200FORJ=N1TO28:GOSUB2000:UP$(J,J)=A$:NEXTJ 13210DATA68,68,85,CC,68,85,CB,A2 13220DATA60,A0,00,C8,C8,C8,C8,B1 13230DATACB,88,88,88,88,91,CB,C8 13240DATACA,D0,F0,60 13300DOWN$=UP$ 13310DOWN$(11,11)=CHR$(94):FORJ=12TO15:DOWN$(J,J)=CHR$(136):NEXTJ 13320FORJ=18TO21:DOWN$(J,J)=CHR$(200):NEXTJ:DOWN$(24,24)=CHR$(136) 13990RETURN 14100DATA 14110DATA 14120DATA 14130DATA 14140DATA 14150DATA 14160DATA 14170DATA 14200DATA 14210DATA 14220DATA 14230DATA 14240DATA 14250DATA 14260DATA 14270DATA 14300DATA 14310DATA 14320DATA 14330DATA 14340DATA 14350DATA 14360DATA 14370DATA 14400DATA 14410DATA 14420DATA 14430DATA 14440DATA 14450DATA 14460DATA 14470DATA 14500DATA 14510DATA 14520DATA 14530DATA 14540DATA 14550DATA 14560DATA 14570DATA 14910DATA0,2,0,2,0,2,0,2 14920DATA0,2,0,2,0,2,0,2 14930DATA0,2,0,2,0,3,0,2 14940DATA0,2,0,3,0,3,0,2 14950DATA1,2,0,3,0,3,1,2 15000POSITIONN2,N0:?"HOPPER";SP$(N1,9); 15010POSITION12,N2:?"AGAMEOFSKILL.":POSITIONN5,N5:?"MOVEJOYSTICKFORINSTRUCTIONS" 15020?"ORPRESSBUTTONTOSTARTGAME." 15030POSITIONN1,21:?"WRITTENBYRICHBOUCHARDANDALANZETT" 15050IFSTRIG(N0)=N0THENGOSUB2200:RETURN 15060IFSTICK(N0)=15THEN15050 15070GOSUB2200 15100POSITIONN2,N3:?"YOURMISSION:MOVEFROGSINTOBUNKERS":?:? 15110?"MOVEONTOLOGS" 15120?:?"AVOIDSNAKEHEADS,USEBODIES" 15130POSITIONN10,15:?"AVOIDCARS" 15140?:?"WATCHOUTFORFASTERCARS" 15150POSITIONN8,21:?"MOVEJOYSTICKTOCONTINUE" 15160IFSTICK(N0)=15THEN15160 15170GOSUB2200 15180POSITIONN2,N5:?"THEJOYSTICKISUSEDTOMOVETHEFROGS.ATIMEBARISDISPLAYEDAT" 15190?"THEBOTTOMOFTHESCREEN.WHENTHISRUNSOUT,YOURFROGEXPIRES." 15200POSITION16,13:?"SCORING":?:?"EACHFORWARDHOP:20":?"REACHINGABUNKER:250" 15210?"+BONUSFORREMAININGTIME":?"5FROGSREACHINGBUNKERS:2000" 15220POSITIONN7,21:?"PRESSBUTTONTOSTARTGAME" 15230IFSTRIG(N0)=N1THEN15230 15240GOSUB2200:RETURN 30000POKE106,PEEK(106)-5:START=(PEEK(106)+1)*256:POKE756,START/256:POKE752,1 30010DIMXFR$(38):XFR$="hji`" 30020Z=USR(ADR(XFR$)):RESTORE30100 30030READX:IFX=-1THENRESTORE:RETURN 30040FORY=0TO7:READZ:POKEX+Y+START,Z:NEXTY:GOTO30030 30100DATA512,0,0,0,127,127,127,20,20 30101DATA520,31,17,17,255,255,85,1,1 30102DATA528,0,0,192,252,250,252,64,64 30103DATA536,0,0,2,42,58,42,3,3 30104DATA544,168,136,136,170,170,170,128,128 30105DATA552,0,0,0,170,170,170,56,56 30106DATA560,10,34,168,168,168,168,34,10 30107DATA568,170,170,138,168,170,162,138,170 30108DATA576,170,170,42,168,170,162,138,170 30109DATA584,168,168,42,170,170,138,40,168 30110DATA592,1,17,17,5,5,5,17,17 30111DATA600,192,196,68,80,80,80,68,68 30112DATA608,42,42,168,170,170,162,40,42 30113DATA616,170,170,168,42,170,138,162,170 30114DATA624,170,170,162,42,170,138,162,170 30115DATA632,128,136,42,42,42,42,136,160 30116DATA640,248,220,252,28,24,48,103,254 30117DATA648,0,0,0,0,0,248,155,31 30118DATA656,0,0,0,0,0,31,217,248 30119DATA664,31,59,63,56,24,12,230,127 30120DATA672,0,0,0,85,170,170,10,10 30121DATA680,0,8,2,84,170,170,2,2 30122DATA688,0,0,0,160,168,168,128,128 30123DATA696,0,0,0,21,85,85,5,5 30124DATA704,0,16,64,42,85,85,0,0 30125DATA712,0,0,0,170,85,85,80,80 30126DATA720,0,0,0,0,0,0,0,0 30127DATA776,0,0,0,170,170,170,160,160 30128DATA784,0,0,0,170,170,170,0,0 30129DATA792,0,0,0,170,170,170,10,10 30130DATA800,160,160,170,170,170,0,0,0 30131DATA808,0,0,170,170,170,0,0,0 30132DATA816,10,10,170,170,170,0,0,0 30133DATA824,0,0,0,1,1,0,0,0 30134DATA832,0,0,0,128,128,0,0,0 30135DATA840,0,0,48,5,5,48,0,0 30136DATA848,0,0,48,64,64,48,0,0 30137DATA856,25,13,0,229,5,0,13,25 30138DATA864,140,152,0,92,64,0,152,140 30139DATA872,25,13,0,224,0,0,13,25 30140DATA880,140,152,0,28,0,0,152,140 30141DATA888,0,0,0,255,0,0,0,0 30142DATA896,170,170,170,170,170,170,170,170 30143DATA904,255,255,255,255,255,255,255,255 30144DATA912,85,85,85,85,85,85,85,85 30145DATA920,160,160,160,160,160,160,160,160 30146DATA928,10,10,10,10,10,10,10,10 30147DATA936,17,17,5,5,5,17,17,1 30148DATA944,68,68,80,80,80,68,196,192 30149DATA-1
References
Listing downloads
Downloads
Copyright holder
