mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-09 14:00:17 +00:00
These tests use a variety of sample code (with some of the larger files removed, so they are not complete!) and verifies that they all compile successfully.
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
|
|
|