mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-01 23:20:15 +00:00
708 lines
33 KiB
QBasic
708 lines
33 KiB
QBasic
'RETRO.BAS by Matt Bross, 1997
|
|
'HOMEPAGE - http://www.GeoCities.Com/SoHo/7067/
|
|
'EMAIL - oh_bother@GeoCities.Com
|
|
DEFINT A-Z
|
|
DECLARE SUB BYE ()
|
|
DECLARE SUB ShowHiScore ()
|
|
DECLARE SUB DELAY (SEC!)
|
|
DECLARE SUB FrogINTRO ()
|
|
DECLARE SUB OptScn (SPECIAL)
|
|
DECLARE SUB Frogger (TLIVES%, ODIF%, OT%, OD!)
|
|
DECLARE SUB NewHiScore (SCORE%)
|
|
|
|
TYPE ScoreType
|
|
SCORE AS LONG
|
|
PERSON AS STRING * 3
|
|
END TYPE
|
|
|
|
DIM SHARED HISCORE(9) AS ScoreType
|
|
|
|
SCREEN 7: CLS
|
|
RANDOMIZE TIMER + VAL(DATE$) + RND
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INTRO AND GAME%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
FrogINTRO
|
|
ShowHiScore
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%BEGIN DATA%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
FroggerGraphics:
|
|
'frog
|
|
DATA 9,9,0,-32612,0,-32612,20,-32578,0,-32598,0,-32513,0,-32513,-32567,-32513
|
|
DATA 0,54,8,62,0,54,0,127,0,127,28,127,0,99,34,-32541,0,-32575,-32575,-32575
|
|
DATA 0,0
|
|
'car1
|
|
DATA 9,9,-32513,-32513,-32513,0,-32575,-32575,-32513,0,-32575,-32575,-32541,0
|
|
DATA 0,0,-32541,0,0,128,-32513,128,0,0,-32513,0,0,0,-32578,0,0,0,28,65,-32578
|
|
DATA -32578,-32578,0
|
|
'car2
|
|
DATA 9,9,-32513,-32513,-32513,0,-32513,-32575,-32575,0,-32541,-32575,-32575,0
|
|
DATA -32541,0,0,0,255,-32768,-32768,-32768,-32513,0,0,0,-32578,0,0,0,28,0,0
|
|
DATA 65,-32578,-32578,-32578,0
|
|
'log1
|
|
DATA 9,9,-32640,-32513,127,-32640,0,-32513,-32513,64,0,-32513,-32513,64,0
|
|
DATA -32513,-32513,64,0,-32513,-32513,64,0,-32513,-32513,64,0,-32513,-32513
|
|
DATA 64,0,-32513,-32513,64,-32640,-32513,127,-32640
|
|
'lily
|
|
DATA 9,9,-32547,-32513,0,-32513,-32632,127,0,127,0,-32513,0,-32513,8,-32513,0
|
|
DATA -32521,-32632,-32513,0,119,-32567,-32513,0,-32586,-32575,255,0,255
|
|
DATA -32541,127,0,93,-32513,-32513,0,-32541
|
|
'water
|
|
DATA 9,9,-32513,-32513,0,-32513,-32513,219,0,219,-32513,146,0,146,-32513,73,0
|
|
DATA 73,-32513,-32513,0,-32513,-32513,219,0,219,-32513,146,0,146,-32513,73,0
|
|
DATA 73,-32513,-32513,0,-32513
|
|
'road
|
|
DATA 9,9,-32513,-32513,-32513,0,-32513,-32513,-32513,0,-32513,-32513,-32513,0
|
|
DATA -32513,-32513,-32513,0,-32513,-32513,-32513,127,-32513,-32513,-32513,0
|
|
DATA -32513,-32513,-32513,0,-32513,-32513,-32513,0,-32513,-32513,-32513,0
|
|
'exit1
|
|
DATA 9,9,-32513,0,0,-32513,-32513,127,127,-32640,-32576,64,64,-32577,-32576
|
|
DATA 64,64,-32577,-32576,64,64,-32577,-32576,64,64,-32577,-32576,64,64,-32577
|
|
DATA -32576,64,64,-32577,-32576,64,64,-32577
|
|
FroggerIntroPalette:
|
|
DATA 1,0,7,2,8,7,4,5,7,7,10,10,10,8,7,15
|
|
FroggerIntroGraphics:
|
|
'title1
|
|
DATA 57,87,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3976,0,0,0,0,0,0,0,0,0
|
|
DATA 0,0,0,0,0,0,-3841,0,0,0,-24576,0,0,0,0,0,0,0,0,0,0,0,-1793,0,0,0,-16369
|
|
DATA 0,0,0,0,0,0,0,0,0,0,768,-1793,0,0,0,-3969,0,0,0,0,0,0,0,0,0,0,7936
|
|
DATA -1793,0,0,256,28927,0,0,0,0,0,0,0,0,0,0,16128,-1793,0,0,3840,28784
|
|
DATA 0,0,0,0,0,0,0,8192,0,0,32512,-3841,0,0,1536,-8159,0,0,0,0,0,0,0,-8192
|
|
DATA 0,0,-256,-3841,0,0,2048,-8189,0,0,0,0,0,0,0,-8190,0,0,-253,-7937,0
|
|
DATA 0,20224,-16361,0,0,0,0,0,0,0,-16363,0,0,-249,-16129,0,0,-26623,-32513
|
|
DATA 0,0,0,0,0,0,0,-32705,0,0,-241,-16129,0,0,-20477,127,0,0,0,0,0,0,0
|
|
DATA 63,0,0,-481,15615,0,0,8199,-16322,0,0,0,0,0,0,0,30,0,0,-225,1023,128
|
|
DATA 0,16399,-994,0,0,0,0,0,0,0,30,0,0,-225,1790,96,0,16399,-2019,0,0,0
|
|
DATA 0,0,0,0,28,0,0,-193,1276,32,0,16399,-1765,192,0,0,0,0,0,0,24,0,0,-129
|
|
DATA 1272,32,0,24604,-1225,0,0,0,0,0,0,0,48,0,0,-129,1272,16,0,12344,-1673
|
|
DATA 192,0,0,0,0,0,0,112,0,0,-1,-31503,16,0,2096,31470,96,0,0,0,0,0,0,224
|
|
DATA 0,256,-1,29935,16,0,26466,2496,160,0,0,0,0,0,768,192,0,768,-1,7904
|
|
DATA 8,0,-10265,0,192,0,0,0,0,0,1536,0,0,1792,-1,608,8,256,-8977,128,112
|
|
DATA 0,0,0,0,0,1024,0,0,3840,-257,832,8,768,-15889,128,144,0,0,0,0,0,0
|
|
DATA 0,0,7936,-769,64,232,1792,-27665,128,0,0,0,0,0,0,0,0,0,16128,-257
|
|
DATA 64,56,3840,4591,128,0,0,0,0,0,0,0,0,0,16128,-1537,64,16,7936,32495
|
|
DATA 128,0,0,0,0,0,0,0,0,0,32512,-1537,64,16,7936,32494,128,0,0,0,0,0,0
|
|
DATA 0,0,0,-256,-1537,192,16,16128,-308,0,0,0,0,0,0,0,0,0,0,-255,-769,192
|
|
DATA 16,32256,32732,0,0,0,0,0,0,0,0,0,0,-255,-1281,128,16,31744,-232,0
|
|
DATA 0,0,0,0,0,0,0,0,0,-255,-1793,128,16,32256,-200,0,0,0,0,0,0,0,0,0,0
|
|
DATA -255,-513,192,32,-512,-208,0,0,0,0,0,0,0,0,0,0,-255,-3329,192,32,-512
|
|
DATA -208,0,0,0,0,0,0,0,0,0,0,-205,-8449,64,32,-512,-14,128,0,0,0,0,0,0
|
|
DATA 0,0,0,-197,-769,96,64,-8704,-14,160,0,0,0,32,0,0,0,0,0,-217,-3841
|
|
DATA 48,64,-9191,-14,208,0,0,0,16,0,0,0,0,0,-221,-11777,40,128,-8931,-10
|
|
DATA 248,0,0,256,40,0,0,0,0,0,-221,-513,52,128,-9955,-10,220,0,0,256,20
|
|
DATA 0,0,0,0,0,-205,-16385,-73,0,-9443,-9,236,0,0,768,164,0,0,0,0,0,-185
|
|
DATA -4865,19548,0,-27847,-17,-3857,0,0,0,76,0,0,0,0,0,-185,-3329,-391
|
|
DATA 0,-18631,-49,-1801,0,0,512,112,0,0,0,0,0,-153,255,-16404,128,-18631
|
|
DATA -33,-1805,0,0,0,224,0,0,0,0,0,-185,16639,32566,240,-18629,-97,-2079
|
|
DATA 0,0,0,32,0,0,0,0,0,-185,8446,-221,254,14139,-65,15808,224,0,0,0,0
|
|
DATA 0,0,0,0,-185,254,-224,235,28475,-65,2016,92,0,0,32,0,0,0,0,0,-153
|
|
DATA 254,3904,-32519,20283,-65,128,254,0,0,0,0,0,0,0,0,-185,24820,128,-32514
|
|
DATA 32571,-1,0,1,0,0,0,0,0,0,0,0,-185,205,128,-32765,-197,-1,0,0,0,0,0
|
|
DATA 0,0,0,0,0,-185,192,128,0,-197,-1,0,0,0,0,0,0,0,0,0,0,-121,6608,0,0
|
|
DATA -133,-257,0,0,0,6144,0,0,0,0,0,0,-121,5504,0,0,-133,-257,0,0,0,5120
|
|
DATA 0,0,0,0,0,0,-121,-4672,0,0,-133,-257,0,0,0,-5120,0,0,0,0,0,0,-313
|
|
DATA -17024,0,0,-133,-257,0,0,0,-17408,0,0,0,0,0,0,-1401,-9340,0,0,-133
|
|
DATA -769,0,0,0,-10236,0,0,0,0,0,0,-1401,-17729,0,0,-133,-769,0,0,0,-18241
|
|
DATA 0,0,0,0,0,0,-377,-2823,0,0,-135,-1793,0,0,0,-3847,0,0,0,0,0,0,-9329
|
|
DATA -19233,0,0,-143,-1793,0,0,768,-20257,0,0,0,0,0,0,-3509,-1793,0,0,-207
|
|
DATA -3841,0,0,512,-3841,0,0,0,0,0,0,-31919,-28469,0,0,-224,-7937,0,0,768
|
|
DATA -32565,0,0,0,0,0,0,-30383,-7970,0,0,32544,255,0,0,2304,222,0,0,0,0
|
|
DATA 0,0,865,87,0,0,-256,252,0,0,768,84,0,0,0,0,0,0,-6656,188,0,0,7936
|
|
DATA 248,0,0,1536,184,0,0,0,0,0,0,8960,248,0,0,7936,240,0,0,768,240,0,0
|
|
DATA 0,0,0,0,13056,248,0,0,3840,240,0,0,768,240,0,0,0,0,0,0,4352,248,0
|
|
DATA 0,3840,240,0,0,256,240,0,0,0,0,0,0,7168,248,0,0,3840,240,0,0,3072
|
|
DATA 240,0,0,0,0,0,0,7680,124,0,0,3840,248,0,0,3584,120,0,0,0,0,0,0,7936
|
|
DATA 28,0,0,3840,248,0,0,3840,24,0,0,0,0,0,0,32512,140,0,0,1792,248,0,0
|
|
DATA 0,8,0,0,0,0,0,0,-253,228,0,0,16128,248,0,0,0,0,0,0,0,0,0,0,-241,244
|
|
DATA 0,0,-255,248,0,0,0,0,0,0,0,0,0,0,-225,252,0,0,-241,240,0,0,0,0,0,0
|
|
DATA 0,0,0,0,-193,248,0,0,-993,0,0,0,0,0,0,0,0,0,0,0,-385,0,0,0,56,0,0
|
|
DATA 0,0,0,0,0,0,0,0,0,-8000,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,30832,0,0,0
|
|
DATA -32753,0,0,0,0,0,0,0,0,0,0,0,-14577,-8057,0,0,14336,0,0,0,0,0,0,0
|
|
DATA 0,0,0,0,16128,-3969,0,0,0,-8057,0,0,0,-8185,0,0,0,0,0,0,0,-7937,0
|
|
DATA 0,0,8,0,0,0,8,0,0,0,0,0,0,0,-1921,0,0,0,-16345,0,0,0,-16345,0,0,0
|
|
DATA 0,0,0,0,-385,0,0,0,14352,0,0,0,14352,0,0,0,0,0,0,0,31800,0,0,0,0,0
|
|
DATA 0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0
|
|
DATA 0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
'title2
|
|
DATA 54,81,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0
|
|
DATA 0,-7951,0,0,0,0,0,0,0,0,0,0,0,0,0,-7951,0,0,2048,0,0,0,8192,0,0,0
|
|
DATA 0,0,256,-24322,0,0,0,0,0,0,16385,0,0,0,0,0,256,-7937,0,0,2816,64,0
|
|
DATA 0,8192,0,0,0,0,0,256,-3842,0,0,0,64,0,0,1,0,0,0,0,0,256,-7945,0,0
|
|
DATA 2,32,0,0,24,0,0,0,0,0,16128,-3841,0,0,-19455,80,0,0,0,0,0,0,0,0,16128
|
|
DATA -3841,0,0,-7671,32,0,0,16384,0,0,0,32,0,32512,-24322,0,0,16514,240
|
|
DATA 0,0,1,0,0,0,0,0,-256,24829,0,0,-32766,176,0,0,16386,0,0,0,0,0,-249
|
|
DATA -24321,0,2304,-24824,0,0,1280,16384,0,0,5376,0,0,-243,16607,0,0,-8440
|
|
DATA 0,0,4098,-20448,0,0,2560,0,0,-225,-7937,0,512,-256,16,0,4100,2048
|
|
DATA 0,0,7424,0,0,-489,2047,192,1024,-16640,48,0,8456,-16384,0,0,7680,0
|
|
DATA 0,-193,1258,64,1792,4352,184,0,16384,16396,128,0,0,0,0,-129,16626
|
|
DATA 64,1792,2304,-24574,0,8192,-12028,0,0,0,0,0,-4225,-23324,32,3584,5120
|
|
DATA 16386,0,4144,-6133,160,0,0,0,0,30079,1093,32,15872,2576,184,0,-21888
|
|
DATA 16529,96,0,0,0,768,-1,-19272,48,20736,25856,74,0,1024,-32750,0,0,0
|
|
DATA 0,1792,-1,7792,16,-3326,-32262,16512,0,256,352,160,0,0,0,3840,-257
|
|
DATA 688,16,-2298,-7447,233,0,512,0,224,0,0,0,7936,-1,864,208,-221,-31520
|
|
DATA 92,0,2048,80,32,0,0,0,16128,-1,16,112,-2289,-23836,-32618,0,0,10240
|
|
DATA 0,0,0,0,32512,-1,144,32,-1265,1484,20490,4096,0,5376,0,0,0,0,-256
|
|
DATA -257,80,32,-1177,735,180,0,0,2560,128,0,0,0,-255,-257,80,544,-3105
|
|
DATA 9375,80,0,0,0,0,0,0,0,-255,-1,48,32,1407,-13793,16,0,80,8192,0,0,0
|
|
DATA 0,-255,-257,32,32,1791,20751,16,0,8192,128,0,0,0,0,-255,-257,32,0
|
|
DATA 3807,21020,12448,0,256,2176,0,0,0,0,-255,-1,184,8192,3775,16522,4184
|
|
DATA 0,0,0,0,0,0,0,-253,-257,88,64,7799,-23024,-28644,48,256,-32768,40
|
|
DATA 0,0,0,-214,-1,140,5184,3819,25408,8208,1,0,1040,16,0,0,0,-201,-257
|
|
DATA 6,2176,17486,22612,4272,0,256,2720,96,0,0,0,-253,-1,37,-31616,3754
|
|
DATA -29744,16627,112,384,81,0,0,0,0,-221,-1,16038,-11264,-12224,22980
|
|
DATA 1089,8,0,-32768,0,0,-31232,0,-201,-1,21499,2048,-3864,9312,1156,512
|
|
DATA 0,26656,0,0,-29952,0,-217,-257,-16409,-16256,-12208,6608,1032,56,256
|
|
DATA 16385,8,0,1536,0,-187,-769,-10466,-22416,6200,-26368,2052,18,768,10842
|
|
DATA 132,0,1537,0,-16537,-2817,27299,-25604,20737,21568,16,16384,2816,1448
|
|
DATA 0,0,0,0,-185,-7425,8002,-18200,-13559,9608,0,0,5376,8408,20,0,0,0
|
|
DATA -185,-7937,946,-28420,20997,68,4,40,6912,-22280,0,0,0,0,32611,-3841
|
|
DATA 2,-31744,-17919,15626,-22384,-32752,1280,17728,64,0,0,0,-189,25342
|
|
DATA 4,-18432,-11115,23191,49,4,2561,-30048,40,0,0,0,-189,255,4,-20480
|
|
DATA -5380,-30556,4181,4,22785,81,0,0,0,0,-189,-32514,200,-28672,22751
|
|
DATA 12309,-22452,44,27137,-24058,0,0,0,0,-189,253,168,-31744,-19974,17799
|
|
DATA 17476,48,28674,0,0,0,-32768,0,-61,2046,104,0,12663,-27328,2050,29
|
|
DATA -18432,-30718,128,0,0,0,-637,1524,216,1280,-23813,9386,29,152,20489
|
|
DATA 1,20,0,0,0,-893,-3628,208,1024,16637,10254,1,569,43,10752,160,0,144
|
|
DATA 0,-893,-6149,96,19456,16637,4104,12312,657,4108,128,4,0,8352,0,-53
|
|
DATA 32495,160,1024,21757,149,0,56,5124,64,0,0,72,0,-4729,-2101,192,24576
|
|
DATA 9470,8238,0,152,9744,0,0,0,209,0,-860,11791,64,20736,4350,-32555,0
|
|
DATA 266,1248,0,0,0,40,0,25516,29223,128,20736,-9807,165,0,3584,10241,0
|
|
DATA 0,0,80,0,-860,11791,64,21248,4096,-32560,0,17160,480,0,0,2048,32,0
|
|
DATA -4857,-2101,192,0,1106,32,0,-24424,10768,0,0,512,16400,0,-30654,-3897
|
|
DATA 0,0,11552,12,0,-30961,533,0,0,512,16,0,20032,24609,0,2560,3584,176
|
|
DATA 0,16901,9232,0,0,256,64,0,1536,-24519,0,3328,1032,16,0,-24574,18450
|
|
DATA 0,0,2048,160,0,1024,-4036,0,1280,544,12,0,4864,1,0,0,3072,48,0,1536
|
|
DATA 28734,0,1280,16457,128,0,-24568,2049,0,0,512,0,0,3840,4349,0,1280
|
|
DATA 176,104,0,16384,-32766,0,0,3328,0,0,16128,-12033,0,1280,16708,32,0
|
|
DATA -32766,0,0,0,0,0,0,-256,-3841,0,1280,-8183,0,0,512,0,0,0,0,0,0,-256
|
|
DATA -16129,0,768,12367,32,0,0,72,0,0,0,0,0,-253,248,0,1024,770,80,0,0
|
|
DATA 0,0,0,0,0,0,3590,0,0,2048,-10240,8,0,-3839,-32734,0,0,0,0,0,-30965
|
|
DATA 3264,0,1024,8232,144,0,21000,16,0,0,0,0,0,29456,-264,0,0,1420,0,0
|
|
DATA 16,2,0,0,0,0,0,800,-4065,0,0,-24528,0,0,544,2112,0,0,0,0,0,64,-16889
|
|
DATA 0,-24576,2048,0,0,0,20480,0,0,0,0,0,128,-2801,128,16384,0,16384,0
|
|
DATA 128,2560,0,0,256,128,0,0,-29949,0,0,1024,64,0,0,8192,0,0,0,8,0,0,-16383
|
|
DATA 0,0,0,16,0,0,0,0,0,0,0,0,0,-16384,0,0,256,0,0,0,0,0,0,0,0,0,0,-16384
|
|
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,-32767,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0
|
|
DATA 0,0,0,-32768,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0
|
|
'title3
|
|
DATA 55,82,0,0,48,0,0,0,0,0,0,32,0,0,0,0,0,0,16,0,0,0,0,0,0,32,0,0,0,0
|
|
DATA 0,0,96,0,0,0,0,0,0,64,0,0,0,0,0,0,64,0,0,0,0,0,0,32,0,0,0,0,0,0,-7952
|
|
DATA 0,0,0,16,0,0,65,0,0,0,0,0,0,16465,0,0,16384,0,0,0,-32608,0,0,0,0,0
|
|
DATA 0,-7951,0,0,8192,16,0,0,81,0,0,0,0,0,256,16483,0,0,16384,0,0,0,-32638
|
|
DATA 0,0,0,0,0,256,-32605,0,0,256,0,0,0,16448,0,0,0,0,0,768,16597,0,0,768
|
|
DATA 0,0,512,-32520,0,0,0,0,0,768,16633,0,0,2304,0,0,256,-32554,0,0,0,0
|
|
DATA 0,768,85,0,0,0,192,0,0,234,0,0,0,0,0,512,-16134,0,0,-1536,0,0,256
|
|
DATA 5,0,0,0,0,0,256,21,0,0,8452,0,0,2560,-32546,0,0,0,0,0,11776,-16129
|
|
DATA 0,0,-16374,0,0,5376,0,0,0,0,0,0,-6400,16639,0,0,8,128,0,-4096,16384
|
|
DATA 0,0,0,0,0,-16637,254,0,256,256,128,0,24576,16384,0,0,0,0,0,-235,-16132
|
|
DATA 0,8192,2816,0,0,523,160,0,0,0,0,0,-5607,-3345,128,3072,18184,1,0,5890
|
|
DATA 12344,0,0,0,0,0,-233,-18945,0,0,26112,-16246,0,10,16408,0,0,0,0,0
|
|
DATA -193,-21254,192,0,256,67,0,-2781,4190,0,0,0,0,0,22301,16630,64,256
|
|
DATA 512,-32624,0,-21978,10413,0,0,0,0,0,-4113,24818,32,-30976,512,-12261
|
|
DATA 0,21784,-16307,0,0,0,0,256,-2057,20708,32,514,6656,16552,0,-21992
|
|
DATA 165,0,0,0,0,3840,-1026,-29779,32,15878,16512,112,0,17729,1844,0,0
|
|
DATA 0,0,14080,30167,1916,160,22279,-32162,16400,14336,-24408,3176,32,0
|
|
DATA 0,0,-1280,-1025,584,192,-18425,18088,176,12288,21829,1952,128,0,0
|
|
DATA 0,7937,30719,1476,576,21543,-30638,-32688,-16384,-22102,3856,0,0,0
|
|
DATA 0,-22016,-5,144,64,-22134,-9542,248,21761,17748,32,0,0,1024,0,22273
|
|
DATA 32725,1092,64,-11245,24645,8272,-22528,-21974,146,0,0,2048,0,-255
|
|
DATA -1,230,96,21763,-20090,4344,0,20736,72,0,0,0,0,-255,30079,226,32,-24053
|
|
DATA 13665,84,2,-30200,520,112,0,0,0,-2034,-18310,1015,2256,1,128,80,1537
|
|
DATA 17541,-32504,48,322,7,0,-1785,22524,1016,3104,512,2128,4208,1616,-24575
|
|
DATA 6927,224,262,8,128,-201,-1281,-15880,-32632,0,1280,8,76,0,4354,8,0
|
|
DATA 5,32,-29,-3585,3042,2200,0,1024,8388,22,512,14617,24,0,14,0,-57,-1
|
|
DATA -3075,4348,0,0,128,172,0,-13310,12,4,16,80,-2105,-2049,-4916,10342
|
|
DATA -32768,0,4112,10450,2048,-24013,138,128,128,224,-2073,-1,-6408,4346
|
|
DATA 0,0,1144,2156,0,-7929,0,0,64,128,-191,-1,29904,-24388,0,10240,8441
|
|
DATA 22,0,28679,66,0,32,0,-18653,16351,2946,5290,0,17408,4112,2120,96,-6863
|
|
DATA 228,64,2248,0,32515,22527,5120,11264,0,512,13921,18,2048,-29143,192
|
|
DATA 128,-11104,0,-8397,-5633,-28152,7296,0,20484,14944,64,512,3079,64
|
|
DATA 32,-24560,0,7937,-11777,1025,1024,8224,256,22211,-16334,3840,7423
|
|
DATA 0,192,32,0,-253,-1409,6314,2048,160,-24319,32290,16404,1152,-13068
|
|
DATA 0,-32768,2144,0,-255,-2561,20492,3072,64,1281,31777,8208,2816,-29450
|
|
DATA 0,0,100,64,-1455,-22481,-22491,1536,4330,12112,-21936,5465,1984,1269
|
|
DATA 0,-32767,160,0,-2799,-19121,-32523,2640,20727,264,2600,2052,25248
|
|
DATA 265,244,8192,-2928,0,-504,31,-32544,29962,-8136,-26609,0,17666,12048
|
|
DATA 133,6,0,208,0,-2814,2143,-16169,14336,16469,4207,2048,10887,20384
|
|
DATA 25,0,0,9872,0,-1270,2192,-32745,256,-11927,12300,64,5252,-9170,-32676
|
|
DATA 0,0,-32733,0,29957,528,13,512,-20076,28799,128,11144,-31154,128,0
|
|
DATA 0,256,0,14495,-30559,40,0,1,-32202,0,-15668,16734,84,0,0,8,0,4373
|
|
DATA -6909,112,8704,-6078,28,0,-21112,1556,142,0,0,16385,0,11818,8216,248
|
|
DATA 1024,-15615,14,0,-3949,-28416,12,0,1024,0,0,18224,5320,96,512,1924
|
|
DATA 232,0,30881,816,152,0,0,0,0,11818,-20196,252,1024,-7360,78,0,-28271
|
|
DATA 4356,12,0,0,0,0,5397,-6369,242,-24064,12352,-30712,0,-20711,4684,6
|
|
DATA 0,0,0,0,2624,-129,224,-28672,0,0,0,15616,16516,0,0,0,0,0,1344,29695
|
|
DATA 192,-32768,42,0,0,5120,-17366,128,0,0,0,0,2816,-1281,160,0,0,4096
|
|
DATA 0,5120,1280,192,0,0,0,0,1280,5616,0,0,3072,-32760,0,2560,-2302,96
|
|
DATA 0,0,0,0,2816,-13316,224,0,0,0,0,1536,13507,0,0,0,0,0,5376,-2161,32
|
|
DATA 0,4104,-32768,0,4096,2176,96,0,0,0,0,24576,-2032,128,0,784,16384,0
|
|
DATA 16384,1792,0,0,0,0,0,-16384,29696,224,0,0,3,0,0,19456,96,0,0,16,0
|
|
DATA 1,2816,32,0,0,0,0,1,1024,0,0,0,0,0,2,768,0,0,0,12,0,2,0,0,0,0,0,0
|
|
DATA 4,1536,0,512,0,0,0,4,0,0,0,0,0,0,24,1024,0,8192,0,8,0,8,512,0,0,0
|
|
DATA 0,0,32,3072,0,2048,0,0,0,32,0,0,0,0,0,0,64,4096,0,16384,0,44,0,0,0
|
|
DATA 0,0,0,0,0,0,6144,0,0,0,0,0,0,0,0,0,0,0,0,128,12288,0,0,0,0,0,128,8192
|
|
DATA 0,0,0,0,0,0,12288,0,0,0,0,0,0,0,0,0,0,0,0,0,24576,0,0,0,128,0,0,8192
|
|
DATA 0,0,0,0,0,0,-16384,0,0,0,0,0,0,0,0,0,0,0,0,0,16384,0,0,0,0,0,0,-32768
|
|
DATA 0,0,0,0,0,0,-32767,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,0
|
|
DATA 0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,2048,0,0,0,2,0,0,0,0,0
|
|
'title4
|
|
DATA 55,82,0,0,0,0,0,16384,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0
|
|
DATA 0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,0,0,0
|
|
DATA 0,0,0,0,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0
|
|
DATA 0,256,-16157,0,0,0,0,0,0,0,0,0,0,128,0,256,16483,0,0,0,0,0,0,0,0,0
|
|
DATA 0,0,0,256,-16157,0,0,0,0,0,0,0,0,0,0,0,0,256,-16191,0,0,0,0,0,0,0
|
|
DATA 0,0,0,0,0,256,-16157,0,0,0,0,0,0,0,0,0,0,0,0,768,71,0,0,0,0,0,0,0
|
|
DATA 0,0,0,0,0,768,-32569,0,0,0,0,0,0,0,0,0,1282,0,0,1280,-32552,0,0,0
|
|
DATA 0,0,0,0,0,0,1280,0,0,1792,-32518,0,0,0,0,0,0,0,0,0,-31488,0,0,1792
|
|
DATA 114,0,0,0,0,0,0,0,0,0,2560,0,0,3840,245,0,0,0,0,0,0,0,0,0,2048,0,0
|
|
DATA 1280,213,0,0,0,0,0,0,0,0,0,3072,0,0,1792,243,0,0,0,0,0,0,0,0,0,32
|
|
DATA 0,0,21760,84,0,0,0,0,0,0,0,0,0,-4859,0,0,-2044,-32766,0,0,0,0,0,3840
|
|
DATA 252,0,0,400,0,0,16413,-32512,0,0,0,0,0,-256,252,0,1280,0,128,0,0,1792
|
|
DATA 128,0,0,0,0,-32753,-16185,0,4096,10,0,0,29984,12480,64,0,0,0,0,-30708
|
|
DATA -8057,0,28928,12288,2,0,-254,6216,64,0,0,0,0,5237,4124,0,2048,768
|
|
DATA 136,3328,-1273,24828,192,0,0,0,-32000,-21821,2723,0,4,3072,21,-26624
|
|
DATA -8385,-6061,128,0,0,0,1536,1,-10432,0,16568,6696,-32768,16641,-10305
|
|
DATA -3868,0,0,0,0,15872,10794,514,0,513,4,209,-32767,-1027,11517,128,0
|
|
DATA 0,0,-16384,2305,513,0,62,2562,208,257,-769,245,0,0,0,0,-9213,10784
|
|
DATA -32736,96,0,256,2,8960,-1,-22274,0,0,0,0,-1018,3652,-16383,2272,2
|
|
DATA 2048,0,257,-1,9462,0,0,0,0,-32754,0,-8191,256,32001,-2187,-4050,512
|
|
DATA -30078,8329,0,124,136,0,-28643,64,13326,8440,257,-32536,171,518,5888
|
|
DATA 11008,0,-16788,28928,64,25121,32512,-8180,17568,256,1024,23747,26
|
|
DATA -32768,-15612,2,-355,-3328,28,17125,-18688,-16242,12,-30720,27136
|
|
DATA -7444,22,2184,-13206,16,30653,4416,19,-1342,-8193,20367,62,4,2128
|
|
DATA 0,63,20480,8,192,-20351,29729,191,-1088,28667,4095,2076,1028,8256
|
|
DATA 25120,55,16384,32,128,29200,3219,223,-1086,28667,3054,8240,1108,0
|
|
DATA -14832,20495,0,1025,8,29216,4243,235,-3327,-2561,-31105,8256,-24572
|
|
DATA 24,2603,86,6816,640,100,6152,256,212,9249,-4081,-3329,3104,8208,7432
|
|
DATA 1089,2096,2080,16413,714,-8509,16631,188,1041,-4081,-8462,1120,-32760
|
|
DATA 18952,-32535,4272,2176,-14270,532,32483,1527,16,9248,-4081,-20225
|
|
DATA 7520,4120,1801,5195,128,2320,1031,642,-4669,8438,176,-7935,-4081,20605
|
|
DATA -22824,16400,-17401,1583,16,1792,-32708,32,-20466,760,80,528,3,24847
|
|
DATA 794,-15360,2305,-32688,-116,312,19481,4,0,-7938,128,264,1,-7734,4866
|
|
DATA 3712,2112,2096,32708,240,11784,0,0,13759,0,12,33,15904,4096,11777
|
|
DATA 32583,241,-349,1488,12320,0,0,-32584,8,12289,1,5760,-13824,1536,32558
|
|
DATA 240,-240,-22800,6144,0,0,81,0,28675,3585,15488,10240,16384,3552,0
|
|
DATA -12416,-24386,-16270,0,0,17,32,32257,2304,26752,2560,808,20619,132
|
|
DATA -31852,-22028,4111,0,0,84,0,-6400,898,-1918,1280,9232,19475,0,2218
|
|
DATA 857,33,0,512,236,0,5376,716,-32665,-10240,58,-32654,32,4,-32197,24
|
|
DATA 0,0,16385,0,3584,16255,-7937,-32768,16,-32684,0,316,-30323,72,0,0
|
|
DATA 0,0,256,-24769,-32577,0,-32768,4,64,24,26688,64,0,0,0,0,0,-1,254,-32768
|
|
DATA 1,-32508,192,48,0,8,0,0,0,0,0,-241,222,0,-12288,8192,0,48,0,0,0,0
|
|
DATA 0,0,0,-1025,254,-32768,0,0,0,48,1024,8,0,0,0,0,256,-26817,-32579,0
|
|
DATA 16384,40,64,280,20528,66,0,0,0,0,0,0,0,0,0,156,0,192,128,120,0,0,0
|
|
DATA 0,0,0,0,0,-32768,0,0,256,0,16,0,0,0,0,0,0,0,0,0,0,0,1664,0,48,0,0
|
|
DATA 0,0,0,0,0,0,0,0,0,3200,0,16,0,0,0,0,0,0,0,0,0,0,0,4096,0,96,0,0,0
|
|
DATA 0,0,0,0,0,0,0,0,8192,0,64,0,0,0,0,0,0,0,0,0,0,0,-16384,0,192,0,0,0
|
|
DATA 0,0,0,0,0,0,0,0,-32767,256,128,0,0,0,0,0,0,0,0,0,0,0,2,256,128,0,0
|
|
DATA 0,0,0,0,0,0,0,0,0,4,768,0,0,0,0,0,0,0,0,0,0,0,0,24,1536,0,0,0,0,0
|
|
DATA 0,0,0,0,0,0,0,16,1024,0,0,0,0,0,0,0,0,0,0,0,0,32,3072,0,0,0,0,0,64
|
|
DATA 0,0,0,0,0,0,64,1024,0,0,0,0,0,0,0,0,0,0,0,0,0,6144,0,0,0,0,0,0,0,0
|
|
DATA 0,0,0,0,128,4096,0,0,0,0,0,0,0,0,0,0,0,0,0,12288,0,0,0,0,0,0,0,0,0
|
|
DATA 0,0,0,0,24576,0,0,0,0,0,0,0,0,0,0,0,0,0,24576,0,0,0,0,0,0,0,0,0,0
|
|
DATA 0,0,0,-16384,0,0,0,0,0,0,0,0,0,0,0,0,0,-32767,0,0,0,0,0,0,0,0,0,0
|
|
DATA 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0
|
|
DATA 0,0,0,0
|
|
'title5
|
|
DATA 57,22,0,-241,248,0,0,0,0,0,0,0,0,0,0,0,0,0,768,240,-8185,0,0,-241
|
|
DATA 248,0,0,0,0,0,0,0,0,0,15360,0,7680,0,768,-1,-7937,0,0,0,0,0,0,0,0
|
|
DATA 0,-16383,0,256,192,16128,-1,-257,0,0,0,0,0,0,0,0,0,6,0,0,48,-255,-1
|
|
DATA -1,192,-512,0,0,0,0,0,0,0,24,0,0,12,-249,-1,-1,240,-32255,0,0,0,31744
|
|
DATA 0,0,0,32,0,0,2,-241,-1,-1,252,6673,0,15360,0,-7168,0,0,0,64,0,0,1
|
|
DATA -225,-1,-1,254,-17631,-12289,-6145,248,17408,0,6144,0,64,0,0,1,-225
|
|
DATA -1,-1,254,-16864,30860,18992,136,16640,-30861,-18993,112,128,0,0,-32768
|
|
DATA -193,-1,-1,255,-19136,-19677,-25754,40,18432,19676,25753,208,128,0
|
|
DATA 0,-32768,-193,-1,-1,255,-31424,-22714,-19634,72,30720,22712,19633
|
|
DATA 176,128,0,0,-32768,-193,-1,-1,255,-17088,-20619,-28834,120,16384,20616
|
|
DATA 28833,128,128,0,0,-32768,-193,-1,-1,255,-19647,11895,-17572,96,16384
|
|
DATA -11896,17571,128,64,0,0,1,-225,-1,-1,254,4641,28728,-14752,32,-7936
|
|
DATA -28729,14751,192,64,0,0,1,-225,-1,-1,252,-3295,-8209,-130,226,0,0
|
|
DATA 129,0,32,0,0,2,-249,-1,-1,240,24,7424,-32646,12,0,0,129,0,24,0,0,12
|
|
DATA -255,-1,-1,192,6,5888,-32658,48,0,2048,145,0,6,0,0,48,16128,-1,-257
|
|
DATA 0,-16383,6144,-32271,192,0,1792,14,0,-16383,0,256,192,768,-1,-7937
|
|
DATA 0,15360,3840,7839,0,0,0,0,0,15360,0,7680,0,0,-241,248,0,768,240,-8185
|
|
DATA 0,0,0,0,0,768,240,-8185,0,0,0,0,0,0,-241,248,0,0,0,0,0,0,-241,248
|
|
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
|
|
SUB BYE
|
|
SCREEN 0, 0, 0, 0: WIDTH 80, 25: CLS
|
|
PRINT "FROGGER! Written in *QB*. Matt Bross, 1997"
|
|
PRINT "HOMEPAGE - http://www.GeoCities.Com/SoHo/7067/"
|
|
PRINT "EMAIL - oh_bother@GeoCities.Com"
|
|
END
|
|
END SUB
|
|
|
|
SUB DELAY (SEC!)
|
|
FOR V = 0 TO SEC! * 70: WAIT &H3DA, 8: WAIT &H3DA, 8, 8: NEXT
|
|
END SUB
|
|
|
|
SUB Frogger (TLIVES, ODIF, OT, OD!)
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%GRAPHICS ARRAYS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
REM $DYNAMIC
|
|
DIM FROG(37), car1(37), car2(37), log1(37), lily(37), water(37), road(37)
|
|
DIM exit1(37): RESTORE FroggerGraphics
|
|
FOR i = 0 TO 37: READ FROG(i): NEXT: FOR i = 0 TO 37: READ car1(i): NEXT
|
|
FOR i = 0 TO 37: READ car2(i): NEXT: FOR i = 0 TO 37: READ log1(i): NEXT
|
|
FOR i = 0 TO 37: READ lily(i): NEXT: FOR i = 0 TO 37: READ water(i): NEXT
|
|
FOR i = 0 TO 37: READ road(i): NEXT: FOR i = 0 TO 37: READ exit1(i): NEXT
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%%INFORMATION ARRAYS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
DIM FrogLev(23, 15)
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%VARIABLES%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
NewGame: LIVES = TLIVES: SCORE = 0: DIF = ODIF: D! = OD!
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%LOAD HIGH SCORE TABLE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
OPEN "hiscore.dat" FOR BINARY AS #1
|
|
'FOR i = 0 TO 9: GET #1, , HISCORE(i): NEXT
|
|
CLOSE
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%LOAD LEVEL%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
NextLev: CLS
|
|
FOR Y = 0 TO 15: FOR X = 0 TO 23
|
|
SELECT CASE Y
|
|
CASE 0: IF INT(RND * DIF) = 0 THEN FrogLev(X, Y) = 8 ELSE FrogLev(X, Y) = 9
|
|
CASE 1 TO 6: FrogLev(X, Y) = 6
|
|
IF INT(RND * DIF) = 0 THEN
|
|
IF Y AND 1 THEN FrogLev(X, Y) = 4 ELSE FrogLev(X, Y) = 5
|
|
END IF
|
|
CASE 8 TO 14: FrogLev(X, Y) = 7
|
|
IF INT(RND * (100 - DIF)) = 0 THEN
|
|
IF Y AND 1 THEN FrogLev(X, Y) = 2 ELSE FrogLev(X, Y) = 3
|
|
END IF
|
|
END SELECT
|
|
NEXT: NEXT
|
|
|
|
FOR Y = 0 TO 6
|
|
FY = -1: FX = -1: EX = -1
|
|
FOR X = 0 TO 23
|
|
IF FrogLev(X, Y) = 4 AND Y AND 1 THEN FY = 0
|
|
IF FrogLev(X, Y) = 5 THEN FX = 0
|
|
IF FrogLev(X, Y) = 8 THEN EX = 0
|
|
NEXT
|
|
IF Y AND 1 THEN
|
|
IF FY = -1 THEN FrogLev(INT(RND * 23), Y) = 4
|
|
ELSE
|
|
IF FX = -1 AND Y <> 0 THEN
|
|
IF Y = 3 OR Y = 6 THEN EX = 11 ELSE EX = 0
|
|
FrogLev(INT(RND * 11) + EX, Y) = 5
|
|
END IF
|
|
END IF
|
|
IF EX = -1 AND Y = 0 THEN FrogLev(INT(RND * 11), Y) = 8
|
|
NEXT
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%RESTART POINT%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
ReStart: FX = 11: FY = 15: SEC = OT: ForStep = DIF: SideStep = DIF \ 2
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%DRAW LEVEL%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
FOR Y = 0 TO 15: FOR X = 0 TO 23
|
|
EX = X * 9 + 50: EY = Y * 9 + 20
|
|
SELECT CASE FrogLev(X, Y)
|
|
CASE 2: PUT (EX, EY), car1, PSET
|
|
CASE 3: PUT (EX, EY), car2, PSET
|
|
CASE 4: PUT (EX, EY), log1, PSET
|
|
CASE 5: PUT (EX, EY), lily, PSET
|
|
CASE 6: PUT (EX, EY), water, PSET
|
|
CASE 7: PUT (EX, EY), road, PSET
|
|
CASE 8: PUT (EX, EY), exit1, PSET
|
|
CASE ELSE: LINE (EX, EY)-(EX + 8, EY + 8), 0, BF
|
|
END SELECT
|
|
NEXT: NEXT
|
|
LOCATE 2, 14: PRINT SPACE$(12)
|
|
LINE (0, 178)-(45, 186), 0, BF
|
|
IF LIVES > 5 THEN SLIVES = 5 ELSE SLIVES = LIVES
|
|
FOR X = 0 TO SLIVES - 1: PUT (X * 9, 178), FROG, PSET: NEXT
|
|
LOCATE 22, 1: PRINT "LIVES": LOCATE 1, 16: PRINT "FROGGER!"
|
|
LOCATE 22, 9: PRINT "SCORE": LOCATE 23, 9: PRINT SCORE
|
|
LOCATE 22, 16: PRINT "TIME": LOCATE 23, 16: PRINT SEC
|
|
LOCATE 22, 23: PRINT "LEVEL": LOCATE 23, 23: PRINT DIF
|
|
LOCATE 22, 31: PRINT "HISCORE": LOCATE 23, 31: PRINT HISCORE(0).SCORE
|
|
PUT (149, 155), FROG, PSET: IF LIVES <= 0 THEN GOTO LOSE
|
|
DO: LOOP UNTIL INKEY$ <> ""
|
|
T& = TIMER MOD 86400: DO: LOOP UNTIL TIMER >= T&: T& = TIMER
|
|
'------------------------>BEGIN MAIN LOOP OF FROGGER GAME<-------------------
|
|
DEF SEG = 0
|
|
DO
|
|
'**********************************GET KEY***********************************
|
|
|
|
|
|
'a = INP(&H60): WHILE LEN(INKEY$): WEND
|
|
'SELECT CASE a
|
|
' CASE &H48: OFX = FX: OFY = FY: FY = FY - 1
|
|
'SCORE = SCORE + ForStep: KeyPress = -1
|
|
' CASE &H50: OFX = FX: OFY = FY: FY = FY + 1
|
|
'KeyPress = -1
|
|
' CASE &H4B: OFX = FX: OFY = FY: FX = FX - 1
|
|
'SCORE = SCORE + SideStep: KeyPress = -1
|
|
' CASE &H4D: OFX = FX: OFY = FY: FX = FX + 1
|
|
'SCORE = SCORE + SideStep: KeyPress = -1
|
|
' CASE &H1: GOSUB ABORTGAME
|
|
' CASE ELSE: KeyPress = 0
|
|
'END SELECT
|
|
|
|
a$ = INKEY$
|
|
'a = INP(&H60): WHILE LEN(INKEY$): WEND
|
|
SELECT CASE a$
|
|
CASE "8": OFX = FX: OFY = FY: FY = FY - 1
|
|
SCORE = SCORE + ForStep: KeyPress = -1
|
|
CASE "2": OFX = FX: OFY = FY: FY = FY + 1
|
|
KeyPress = -1
|
|
CASE "4": OFX = FX: OFY = FY: FX = FX - 1
|
|
SCORE = SCORE + SideStep: KeyPress = -1
|
|
CASE "6": OFX = FX: OFY = FY: FX = FX + 1
|
|
SCORE = SCORE + SideStep: KeyPress = -1
|
|
CASE "q": GOSUB ABORTGAME
|
|
CASE ELSE: KeyPress = 0
|
|
END SELECT
|
|
|
|
|
|
'********************************MOVE FROG***********************************
|
|
IF KeyPress THEN
|
|
LOCATE 23, 9: PRINT SCORE: SOUND 500, .5
|
|
'*************************CHECK BOUNDS OF THE FROG***************************
|
|
IF FX < 0 THEN FX = 0
|
|
IF FX > 23 THEN FX = 23
|
|
IF FY < 0 THEN FY = 0
|
|
IF FY > 15 THEN FY = 15
|
|
END IF
|
|
'********************************DRAW FROG***********************************
|
|
IF KeyPress OR FY < 7 THEN PUT (FX * 9 + 50, FY * 9 + 20), FROG, PSET
|
|
'******************************ERASE OLD CELL********************************
|
|
IF FX <> OFX OR FY <> OFY THEN
|
|
EX = OFX * 9 + 50: EY = OFY * 9 + 20
|
|
SELECT CASE FrogLev(OFX, OFY)
|
|
CASE 2: PUT (EX, EY), car1, PSET
|
|
CASE 3: PUT (EX, EY), car2, PSET
|
|
CASE 4: PUT (EX, EY), log1, PSET
|
|
CASE 5: PUT (EX, EY), lily, PSET
|
|
CASE 6: PUT (EX, EY), water, PSET
|
|
CASE 7: PUT (EX, EY), road, PSET
|
|
CASE 8: PUT (EX, EY), exit1, PSET
|
|
CASE ELSE: LINE (EX, EY)-(EX + 8, EY + 8), 0, BF
|
|
END SELECT
|
|
END IF
|
|
|
|
DO: newtimer! = TIMER: LOOP WHILE newtimer! = lasttimer!
|
|
lasttimer! = newtimer!
|
|
|
|
DO: newtimer! = TIMER: LOOP WHILE newtimer! = lasttimer!
|
|
lasttimer! = newtimer!
|
|
|
|
|
|
'*****************************CHECK FOR BONUSES******************************
|
|
IF FrogLev(FX, FY) = 8 THEN GOTO WIN
|
|
IF SCORE AND SCORE MOD (100 * DIF + 1) = 0 THEN GOSUB LIFEUP
|
|
'***************************CHECK IF YOU ARE DEAD****************************
|
|
SELECT CASE FrogLev(FX, FY)
|
|
CASE 2, 3, 6, 9: GOTO DIE
|
|
END SELECT
|
|
IF T& <> FIX(TIMER) THEN T& = TIMER: SEC = SEC - 1: LOCATE 23, 16: PRINT SEC
|
|
IF SEC <= 0 THEN GOTO DIE
|
|
'******************************MOVE OBSTICALES*******************************
|
|
BACK = 23: FORTH = 0
|
|
FOR Y = 1 TO 14: FOR X = BACK TO FORTH STEP SGN(FORTH - BACK)
|
|
SELECT CASE FrogLev(X, Y)
|
|
CASE 2
|
|
IF X = 0 THEN C2 = 23 ELSE C2 = X - 1
|
|
SWAP FrogLev(X, Y), FrogLev(C2, Y)
|
|
PUT (C2 * 9 + 50, Y * 9 + 20), car1, PSET
|
|
IF FrogLev(X, Y) <> 2 THEN PUT (X * 9 + 50, Y * 9 + 20), road, PSET
|
|
CASE 3
|
|
IF X = 23 THEN C2 = 0 ELSE C2 = X + 1
|
|
SWAP FrogLev(X, Y), FrogLev(C2, Y)
|
|
PUT (C2 * 9 + 50, Y * 9 + 20), car2, PSET
|
|
IF FrogLev(X, Y) <> 3 THEN PUT (X * 9 + 50, Y * 9 + 20), road, PSET
|
|
CASE 4
|
|
SELECT CASE Y
|
|
CASE 1, 5
|
|
IF X = 23 THEN C2 = 0 ELSE C2 = X + 1
|
|
IF FY = Y AND FX = X THEN OFX = FX: OFY = FY: FX = (FX + 1) MOD 23
|
|
SWAP FrogLev(X, Y), FrogLev(C2, Y)
|
|
PUT (C2 * 9 + 50, Y * 9 + 20), log1, PSET
|
|
IF FrogLev(X, Y) <> 4 THEN PUT (X * 9 + 50, Y * 9 + 20), water, PSET
|
|
CASE 3
|
|
IF X = 0 THEN C2 = 23 ELSE C2 = X - 1
|
|
IF FY = Y AND FX = X THEN OFX = FX: OFY = FY: FX = FX - 1
|
|
SWAP FrogLev(X, Y), FrogLev(C2, Y)
|
|
PUT (C2 * 9 + 50, Y * 9 + 20), log1, PSET
|
|
IF FrogLev(X, Y) <> 4 THEN PUT (X * 9 + 50, Y * 9 + 20), water, PSET
|
|
END SELECT
|
|
END SELECT
|
|
NEXT
|
|
IF Y > 7 THEN SWAP BACK, FORTH ELSE IF Y AND 1 THEN SWAP BACK, FORTH
|
|
NEXT
|
|
SOUND 100, .1
|
|
|
|
'DELAY D!
|
|
|
|
LOOP
|
|
'--------------------->END MAIN LOOP OF FROGGER GAME<------------------------
|
|
DIE: SOUND 500, 5: SOUND 200, 3: SOUND 100, 2
|
|
LIVES = LIVES - 1: GOTO ReStart
|
|
|
|
WIN: PUT ((OFX + 1) * 9 + 50, OFY * 9 + 20), log1, PSET
|
|
LOCATE 2, 14: PRINT "LEVEL PASSED": DIF = DIF + 1: GOTO NextLev
|
|
|
|
LOSE: FOR X = 0 TO 500 STEP 40: SOUND 2000 + X, 1: NEXT
|
|
SOUND 200, 4: SOUND 100, 2
|
|
LOCATE 2, 15: PRINT "GAME OVER!"
|
|
WHILE LEN(INKEY$): WEND: DELAY 1
|
|
IF SCORE > HISCORE THEN NewHiScore SCORE
|
|
LOCATE 1, 1: PRINT SPACE$(40)
|
|
PRINT SPACE$(40)
|
|
LOCATE 2, 15: PRINT "PLAY AGAIN?"
|
|
promt: a$ = INPUT$(1)
|
|
SELECT CASE a$
|
|
CASE "Y", "y": GOTO NewGame
|
|
CASE "N", "n": DEF SEG : EXIT SUB
|
|
CASE ELSE: GOTO promt
|
|
END SELECT
|
|
|
|
ABORTGAME: LOCATE 2, 12: PRINT "ABORT GAME?(Y/N)": a$ = INPUT$(1)
|
|
SELECT CASE a$
|
|
CASE "Y", "y": LOCATE 2, 12: PRINT SPACE$(16): GOTO LOSE
|
|
CASE "N", "n": LOCATE 2, 12: PRINT SPACE$(16): RETURN
|
|
CASE ELSE: GOTO ABORTGAME
|
|
END SELECT
|
|
|
|
LIFEUP: SOUND 3000, .9: SOUND 3000, .2: SOUND 4000, .1
|
|
SCORE = SCORE + DIF: LIVES = LIVES + 1
|
|
IF LIVES > 5 THEN SLIVES = 4 ELSE SLIVES = LIVES - 1
|
|
PUT (SLIVES * 9, 178), FROG, PSET: RETURN
|
|
|
|
END SUB
|
|
|
|
REM $STATIC
|
|
SUB FrogINTRO
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%LOAD TITLE IMAGES%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
CLS : FOR X = 0 TO 15: PALETTE X, 0: NEXT
|
|
REDIM title1(1393), title2(1135), title3(1149), title4(1149), title5(353)
|
|
RESTORE FroggerIntroGraphics
|
|
FOR i = 0 TO 1393: READ title1(i): NEXT
|
|
FOR i = 0 TO 1135: READ title2(i): NEXT
|
|
FOR i = 0 TO 1149: READ title3(i): NEXT
|
|
FOR i = 0 TO 1149: READ title4(i): NEXT
|
|
FOR i = 0 TO 353: READ title5(i): NEXT
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%SET PALETTE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
RESTORE FroggerIntroPalette
|
|
FOR X = 0 TO 15: READ i: PALETTE X, i: NEXT
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%SHOW MORPHING TITLE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
PUT (131, 60), title1, PSET
|
|
DELAY 1: LINE (131, Y)-(188, 144), 0, BF
|
|
PUT (131, 60), title2, PSET
|
|
DELAY .05: LINE (131, 60)-(188, 144), 0, BF
|
|
PUT (131, 60), title3, PSET
|
|
DELAY .05: LINE (131, 60)-(188, 144), 0, BF
|
|
PUT (131, 60), title4, PSET
|
|
DELAY .05: LINE (131, 60)-(188, 144), 0, BF
|
|
PUT (131, 88), title5, PSET
|
|
ERASE title1, title2, title3, title4, title5
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%SET STAR PALETTE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
DELAY 1: PALETTE 0, 0: PALETTE 3, 8: PALETTE 5, 7: PALETTE 8, 15
|
|
LOCATE 16, 11: PRINT "PRESS SPACE TO START"
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%STAR INIT%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
nstar = 100
|
|
REDIM starX(nstar), starY(nstar), starZ(nstar), OSX(nstar), OSY(nstar)
|
|
FOR X = 0 TO nstar
|
|
starX(X) = INT(RND * 320) - 160
|
|
starY(X) = INT(RND * 200) - 100
|
|
starZ(X) = INT(RND * 150)
|
|
NEXT
|
|
'%%%%%%%%%%%%%%%%%%%%%%%%%%REAL(!) 3D STAR SCROLLER%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
DEF SEG = 0
|
|
DO
|
|
FOR X = 0 TO nstar
|
|
SELECT CASE POINT(OSX(X), OSY(X))
|
|
CASE 3, 5, 8: PSET (OSX(X), OSY(X)), 0
|
|
END SELECT
|
|
IF starZ(X) <= 0 THEN
|
|
starX(X) = INT(RND * 320) - 160
|
|
starY(X) = INT(RND * 200) - 100
|
|
starZ(X) = INT(RND * 150)
|
|
ELSE
|
|
SX = 50 * starX(X) \ starZ(X) + 160
|
|
SY = 50 * starY(X) \ starZ(X) + 100
|
|
c = starZ(X) \ 50
|
|
SELECT CASE c
|
|
CASE 0: c = 8
|
|
CASE 1: c = 5
|
|
CASE 2: c = 3
|
|
END SELECT
|
|
IF POINT(SX, SY) = 0 THEN PSET (SX, SY), c
|
|
OSX(X) = SX: OSY(X) = SY
|
|
starZ(X) = starZ(X) - 1
|
|
END IF
|
|
NEXT
|
|
SELECT CASE INP(&H60)
|
|
CASE &H39: EXIT DO
|
|
CASE &H10: IF SPECIAL = 0 THEN SPECIAL = 1
|
|
CASE &H30: IF SPECIAL = 1 THEN SPECIAL = 2
|
|
END SELECT
|
|
LOOP
|
|
PALETTE: DEF SEG
|
|
OptScn SPECIAL
|
|
END SUB
|
|
|
|
SUB NewHiScore (SCORE)
|
|
i = 9: DO: i = i - 1: IF i = 0 THEN EXIT DO
|
|
IF SCORE > HISCORE(i).SCORE THEN EXIT DO
|
|
LOOP
|
|
|
|
LOCATE 1, 1: PRINT "YOU HAVE A NEW HIGH SCORE"
|
|
INPUT "PLEASE GIVE 3 OR LESS INITIALS: ", NAME$
|
|
HISCORE(i).PERSON = NAME$: HISCORE(i).SCORE = SCORE
|
|
OPEN "hiscore.dat" FOR BINARY AS #1
|
|
FOR i = 0 TO 9
|
|
' PUT #1, , HISCORE(i)
|
|
NEXT
|
|
CLOSE #1
|
|
END SUB
|
|
|
|
SUB OptScn (SPECIAL)
|
|
|
|
CLS : LIVES = 5: DIF = 0: D = 0: OT = 40: choose = 1
|
|
IF SPECIAL = 2 THEN
|
|
DO
|
|
COLOR 15
|
|
LOCATE 1, 1: PRINT "OPTIONS SCREEN: PRESS ENTER TO EXIT"
|
|
IF choose = 1 THEN COLOR 4 ELSE COLOR 15
|
|
LOCATE 2, 1: PRINT "LIVES: "; LIVES
|
|
IF choose = 2 THEN COLOR 4 ELSE COLOR 15
|
|
LOCATE 3, 1: PRINT "DIFFICULTY: "; DIF
|
|
IF choose = 3 THEN COLOR 4 ELSE COLOR 15
|
|
LOCATE 4, 1: PRINT "TIME: "; OT
|
|
IF choose = 4 THEN COLOR 4 ELSE COLOR 15
|
|
LOCATE 5, 1: PRINT "DELAY: "; D / 10; " "
|
|
DO: a$ = INKEY$: LOOP UNTIL a$ <> ""
|
|
SELECT CASE a$
|
|
CASE CHR$(13): EXIT DO
|
|
CASE CHR$(0) + "K"
|
|
SELECT CASE choose
|
|
CASE 1: LIVES = LIVES - 1
|
|
CASE 2: DIF = DIF - 1
|
|
CASE 3: OT = OT - 1
|
|
CASE 4: D = D - 1
|
|
END SELECT
|
|
CASE CHR$(0) + "H"
|
|
IF choose = 0 THEN choose = 4 ELSE choose = choose - 1
|
|
CASE CHR$(0) + "P"
|
|
IF choose = 4 THEN choose = 0 ELSE choose = choose + 1
|
|
CASE CHR$(0) + "M"
|
|
SELECT CASE choose
|
|
CASE 1: LIVES = LIVES + 1
|
|
CASE 2: DIF = DIF + 1
|
|
CASE 3: OT = OT + 1
|
|
CASE 4: D = D + 1
|
|
END SELECT
|
|
END SELECT
|
|
LOOP
|
|
END IF
|
|
|
|
COLOR 15
|
|
Frogger LIVES, DIF, OT, D / 10
|
|
END SUB
|
|
|
|
SUB ShowHiScore
|
|
CLS
|
|
LOCATE 1, 14: PRINT "HIGH SCORES": PRINT
|
|
FOR i = 0 TO 9
|
|
a$ = STR$(i + 1): IF i < 9 THEN a$ = a$ + " "
|
|
a$ = a$ + STR$(HISCORE(i).SCORE)
|
|
b$ = HISCORE(i).PERSON
|
|
LOCATE i + 3, 7: PRINT a$, b$
|
|
NEXT
|
|
SLEEP
|
|
BYE
|
|
END SUB
|
|
|