SPRITE 1,8*8,0,140 SPRITE 1 SIZE 3 PAL 3 FOR Y=0 TO 96 SPRITE 1,,Y/2, IF Y MOD 4 = 0 THEN PLAY 1,90,1 SOUND 1 WAIT 2 NEXT Y PLAY 0,60,15 SOUND 6 WAIT 30 PLAY 0,60,15 SOUND 6 WAIT 30 PLAY 0,60,15 SOUND 6 WAIT 60 PRINT SPRITE.Y(1) SPRITE 1,-32,-32, REM Y=48 REM X=64 TOUCHSCREEN RANDOMIZE TIMER REM WAS8BIT CELL SIZE 1,1 BG 1 BG FILL 0,0 TO 9,0 CHAR 4 SPRITE 0,,,96 SPRITE 0 SIZE 1 PAL 6 DIM GLOBAL NAME$(4),GOAL(4) FOR I=1 TO 4 READ GOAL(I),NAME$(I) NEXT I DATA 10,"PANHANDLER" DATA 25,"PROSPECTER" DATA 50,"GOLDMINER" DATA 85,"RAILBARON" REM GAME ENDS PAST THIS LEVEL DIM GLOBAL BUILDCC(4),XTRAIN(4),YTRAIN(4) FOR I=1 TO 4 READ XTRAIN(I),YTRAIN(I) NEXT I DATA 1,0,0,1,-1,0,0,-1 GLOBAL CASH,LEVEL,PAY,WIN,BAL,SKILL,BUILD,IBUILD,CHECK,ITRAIN,DTRAIN BUILDCC(1)=44 BUILDCC(2)=46 BUILDCC(3)=78 BUILDCC(4)=136 CASH=25 LEVEL=1 CALL STATS NEWBOARD: WIN=0 BAL=0 PAY=0 PAL 0 BG FILL 0,1 TO 9,7 CHAR 2 PAL 4 CELL 8,0,44 CELL 9,0,134 BUILD=1 IBUILD=0 MGOLD=1 CALL PUTEMPTY(3,64+LEVEL*2) CALL PUTEMPTY(1,6+RND(3)*2) FOR IADD=1 TO LEVEL REM HAZZARDS CALL PUTEMPTY(2,14) CALL PUTEMPTY(2,76) CALL PUTEMPTY(2,74) REM MOUNTAINS CC=64+2*RND(LEVEL) IF CC>=66 THEN INC MGOLD CALL PUTEMPTY(3,CC) NEXT IADD IFRAME=96 SPRITE 0 PAL 1 CALL STATS DOTRACKS: DO IF TAP THEN XX=TOUCH.X\16 YY=TOUCH.Y\16 CC=CELL.C(XX,YY) IF YY>0 THEN IF CC>=6 AND CC<=12 THEN DTRAIN=(CC/2)-2 GOTO DOTRAIN END IF IF CC=2 AND IBUILD THEN IF BUILD=1 THEN PAL 0 CELL XX,YY,42 CASH=CASH-1 PAY=PAY+1 CALL STATS PLAY 0,80,5 SOUND 1 ELSE IF BUILD=2 THEN PAL 0 CELL XX,YY,38 CASH=CASH-2 PAY=PAY+2 CALL STATS PLAY 0,80,5 SOUND 1 ELSE IF BUILD=3 THEN PAL 0 CELL XX,YY,2 CASH=CASH-3 PAY=PAY+3 CALL STATS PLAY 0,30,10 SOUND 2 END IF ELSE IF CC=74 AND IBUILD THEN IF BUILD=1 THEN PAL 0 CELL XX,YY,42 CASH=CASH-4 PAY=PAY+4 CALL STATS PLAY 0,90,1 SOUND 0 ELSE IF BUILD=2 THEN PAL 0 CELL XX,YY,38 CASH=CASH-5 PAY=PAY+5 CALL STATS PLAY 0,90,1 SOUND 0 END IF ELSE IF CC=76 AND IBUILD THEN IF BUILD=1 THEN PAL 0 CELL XX,YY,42 CASH=CASH-2 PAY=PAY+2 CALL STATS PLAY 0,90,1 SOUND 0 ELSE IF BUILD=2 THEN PAL 0 CELL XX,YY,38 CASH=CASH-3 PAY=PAY+3 CALL STATS PLAY 0,90,1 SOUND 0 END IF ELSE IF CC=14 AND IBUILD THEN IF BUILD=1 THEN PAL 0 CELL XX,YY,42 CASH=CASH-3 PAY=PAY+3 CALL STATS PLAY 0,90,1 SOUND 0 ELSE IF BUILD=2 THEN PAL 0 CELL XX,YY,38 CASH=CASH-4 PAY=PAY+4 CALL STATS PLAY 0,90,1 SOUND 0 END IF ELSE IF CC=40 OR CC=42 THEN IF IBUILD AND BUILD=3 THEN PAL 0 CELL XX,YY,2 PLAY 3,30,30 SOUND 3 CASH=CASH-3 PAY=PAY+3 CALL STATS ELSE PAL 4 CELL 9,0,134 CELL 8,0,BUILDCC(BUILD) IBUILD=0 ADD CC,2,40 TO 42 PAL 0 CELL XX,YY,CC PLAY 3,50,5 SOUND 4 END IF ELSE IF CC>=32 AND CC<=38 THEN IF IBUILD AND BUILD=3 THEN PAL 0 CELL XX,YY,2 PLAY 3,30,30 SOUND 3 CASH=CASH-3 PAY=PAY+3 CALL STATS ELSE PAL 4 CELL 9,0,134 CELL 8,0,BUILDCC(BUILD) IBUILD=0 ADD CC,2,32 TO 38 PAL 0 CELL XX,YY,CC PLAY 3,50,5 SOUND 4 END IF END IF ELSE IF CC=44 OR CC=46 OR CC=78 OR CC=134 OR CC=136 THEN IBUILD=0 PAL 4 CELL 9,0,134 IF CC=44 THEN CELL 8,0,46 BUILD=2 PLAY 0,62,1 SOUND 0 END IF IF CC=46 THEN CELL 8,0,78 BUILD=3 PLAY 0,63,1 SOUND 0 END IF IF CC=78 THEN CELL 8,0,136 BUILD=4 PLAY 0,65,1 END IF IF CC=136 THEN CELL 8,0,44 BUILD=1 PLAY 0,61,1 END IF IF CC=134 THEN PLAY 0,70,1 SOUND 0 PAL 5 CELL 8,0,BUILDCC(BUILD) CELL 9,0,134 IBUILD=-1 IF BUILD=4 THEN PLAY 0,90,90 SOUND 6 IF BAL>0 AND MGOLD=0 THEN SKILL=SKILL+BAL IF BAL<=0 AND MGOLD>0 THEN SKILL=SKILL-LEVEL CALL STATS IF SKILL>=GOAL(LEVEL) THEN CALL MTEXT(2) SPRITE 1,64,48, IF LEVEL<4 THEN INC LEVEL SKILL=0 FOR SI=30 TO 60 PLAY 0,SI,1 SOUND 4 WAIT VBL NEXT SI WAIT 60 ELSE CALL MTEXT(1) SPRITE 1,64,48, WAIT 120 END IF CALL STATS SPRITE 1,-32,-32, GOTO NEWBOARD END IF END IF END IF END IF WAIT VBL LOOP REM TRAIN GOES INTO REM 1R=32,34,40 REM 2D=34,36,42 REM 3L=36,38,40 REM 4U=32,38,42 REM 32:LD 34:LU 36:RU 38:RD 40:LR 42:UD DOTRAIN: SPRITE 0 PAL 6 IF DTRAIN=1 THEN ITRAIN=100 IF DTRAIN=2 THEN ITRAIN=104 IF DTRAIN=3 THEN ITRAIN=108 IF DTRAIN=4 THEN ITRAIN=96 TX=XX*16 TY=YY*16 DO FOR II=0 TO 16 SPRITE 0,TX+XTRAIN(DTRAIN)*II,TY+YTRAIN(DTRAIN)*II,ITRAIN IF II MOD 4 = 0 THEN PLAY 1,90,1 SOUND 1 WAIT 2 NEXT II TX=TX+XTRAIN(DTRAIN)*16 TY=TY+YTRAIN(DTRAIN)*16 CC=CELL.C(TX\16,TY\16) IF CC>=32 AND CC<=42 THEN IF DTRAIN=1 THEN IF CC=32 THEN GOSUB TRAINCW ELSE IF CC=34 THEN GOSUB TRAINCCW ELSE IF CC=40 THEN REM NADA ELSE GOTO DOFIRE END IF ELSE IF DTRAIN=2 THEN IF CC=34 THEN GOSUB TRAINCW ELSE IF CC=36 THEN GOSUB TRAINCCW ELSE IF CC=42 THEN REM NADA ELSE GOTO DOFIRE END IF ELSE IF DTRAIN=3 THEN IF CC=36 THEN GOSUB TRAINCW ELSE IF CC=38 THEN GOSUB TRAINCCW ELSE IF CC=40 THEN REM NADA ELSE GOTO DOFIRE END IF ELSE IF DTRAIN=4 THEN IF CC=32 THEN GOSUB TRAINCCW ELSE IF CC=38 THEN GOSUB TRAINCW ELSE IF CC=42 THEN REM NADA ELSE GOTO DOFIRE END IF END IF ELSE IF CC>=64 AND CC<=72 AND DTRAIN=4 THEN REM MOUNTAINS... WW=0 IF CC=66 THEN WW=10 DEC MGOLD ELSE IF CC=68 THEN WW=15 DEC MGOLD ELSE IF CC=70 THEN WW=20 DEC MGOLD ELSE IF CC=72 THEN WW=25 DEC MGOLD END IF CASH=CASH+WW WIN=WIN+WW CALL STATS PAL 3 CELL TX\16,TY\16,64 PLAY 0,60,15 SOUND 6 WAIT 30 PLAY 0,60,15 SOUND 6 WAIT 30 SPRITE 0,-16,16,0 GOTO DOTRACKS ELSE GOTO DOFIRE END IF REM ADD ITRAIN,2,96 TO 110 LOOP TRAINCW: ADD ITRAIN,2,96 TO 110 SPRITE 0,,,ITRAIN WAIT 2 ADD ITRAIN,2,96 TO 110 SPRITE 0,,,ITRAIN WAIT 2 ADD DTRAIN,1,1 TO 4 RETURN TRAINCCW: ADD ITRAIN,-2,96 TO 110 SPRITE 0,,,ITRAIN WAIT 5 ADD ITRAIN,-2,96 TO 110 SPRITE 0,,,ITRAIN WAIT 5 ADD DTRAIN,-1,1 TO 4 RETURN DOFIRE: CALL MTEXT(3) SPRITE 1,64,48, SPRITE 0 PAL 1 PLAY 3,40,90 SOUND 3 DO SPRITE 0,TX,TY,128 WAIT 8 SPRITE 0,TX,TY,130 WAIT 8 SPRITE 0,TX,TY,132 WAIT 8 LOOP SUB MTEXT(I) IF I=1 THEN IC=176 ELSE IF I=2 THEN IC=180 ELSE IF I=3 THEN IC=184 END IF COPY $8000+IC*16,16*4 TO $8000+188*16 END SUB SUB PUTEMPTY(P,C) BG 1 IGO=-1 WHILE IGO IGO=0 CC=0 WHILE CC<>2 X=RND(7)+1 Y=RND(4)+2 CC=CELL.C(X,Y) WEND IF CELL.C(X,Y-1)<>2 THEN IGO=-1 IF CELL.C(X,Y+1)<>2 THEN IGO=-1 IF CELL.C(X-1,Y)<>2 THEN IGO=-1 IF CELL.C(X+1,Y)<>2 THEN IGO=-1 WEND PAL P CELL X,Y,C END SUB SUB STATS BAL=WIN-PAY BG 0 PAL 7 TEXT 11,0,"$" REM TEXT 0,1,"L:" TEXT 0,0,"+" TEXT 3,0,"-" TEXT 6,0,"=" TEXT 13,1,"/" TEXT 0,1,NAME$(LEVEL) NUMBER 12,0,CASH,4 NUMBER 1,0,WIN,2 NUMBER 4,0,PAY,2 NUMBER 7,0,BAL,3 NUMBER 11,1,SKILL,2 NUMBER 14,1,GOAL(LEVEL),2 BG 1 END SUB #1:MAIN PALETTES 193F000800203F3500170E0300153F3C 003F1519003F2A09002A0015003F3F00 #2:MAIN CHARACTERS 00000000000000000000000000000000 00000000000000000000000000000000 FF80808080808080FF80808080808080 FF01010101010101FF01010101010101 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8FE F0F0F0F0F0F0F0F0F0F0F0F0F4FF34F4 FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8FE FFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFF 0F0F0F0F0F0F0F0F0F0F0F0F2FFF282E FFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFF 00000000FFFFFFFF04040F04FFFFF8FE 00000000FFFFFFFF2020F020FFFF3FFF 18C8101B070F1F1F18C8131F0F1F3D3A 000000C0E0F0F8F80000C0E0F0F8FCFC 00000000000000000000000000000000 00000000000000000000000000000000 80808080808080FF80808080808080FF 01010101010101FF01010101010101FF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFF F0F0F0F0F0F0F0F0F4F4FFF4F0F0F0F0 FFFFFFFF00000000FEFEFEFF040F0404 FFFFFFFF00000000FFFFFFFF20F02020 0F0F0F0F0F0F0F0F2E2EFE2F0F0F0F0F FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFEFEFEFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1F1F0F07030000003F3F1F0F07030000 F8F8F0E0C0000000FCBC58F0E0C00000 0000000020FC22210000000000000000 00000000000040800000000000000000 04042F1838E422210000000000000000 2020F020202040800000000000000000 04040F04040402010000000000000000 2020F4181C2744840000000000000000 00000000000002010000000000000000 00000000043F44840000000000000000 0000000021FF21210000000000000000 0000000004FF04040000000000000000 04040F040404040F0000000000000000 2020F020202020F00000000000000000 4CE4C464E44E000FFFFFFFFFFFFFFFF0 2020F020202020F0DFDF0FDFDFDFDF0F 46E9C162E44F0201FFFFFFFFFFFFFDFE 00000000043F4484FFFFFFFFFBC0BB7B 2122E438182F04040000000000000000 8040202020F020200000000000000000 2122FC20000000000000000000000000 80400000000000000000000000000000 01020000000000000000000000000000 84443F04000000000000000000000000 01020404040F04040000000000000000 8444271C18F420200000000000000000 2121FF21000000000000000000000000 0404FF04000000000000000000000000 04040404040F04040000000000000000 2020202020F020200000000000000000 04040404040F0404FBFBFBFBFBF0FBFB 2020202020F02020DFDFDFDFDF0FDFDF 01020404040F0404FEFDFBFBFBF0FBFB 8444271C18F420207BBBD8E3E70BDFDF 000101010303070F0000000000000000 000080C0E0E0F0F80000000000000000 000101010303070F0000000000000000 000080C0E0E0F0F80000000000000000 000101010303070F0000000000000000 000080C0E0E0F0F80000000000000000 000101010303070F0000000000000000 000080C0E0E0F0F80000000000000000 000101010303070F0000000000000000 000080C0E0E0F0F80000000000000000 000D1B366D5A34680F142952A4C890A0 00B06CDAF61CCA2EF09C26499305C923 000868080000060E0008680800060917 00000030380C040000003048743A0E04 46E9C162E1490600FFFFFFFFFFFFFFFF 4122140814224100BEDDEBF7EBDDBEFF 0F1F1F3F0000000000000000040F0404 FEFFFFFF000000000000000020F02020 0F1F1F3F00000000000C0C00040F0404 FEFFFFFF000000000000000020F02020 0F1F1F3F00000000000D0D00040F0404 FEFFFFFF000000000080800020F02020 0F1F1F3F00000000000D0D00040F0404 FEFFFFFF0000000000B0B00020F02020 0F1F1F3F00000000000D0D00040F0404 FEFFFFFF0000000000B6B60020F02020 5B386C5A370D1B00CB90A4C85224291F 4C2ACE1CF8B060004529C3164C9830E0 18302000010100002E58702102030100 000010F0E00000000010E818F0E00000 00CCA9ADA9A9CD00FF335652565632FF 00A2555515151200FF5DAAAAEAEAEDFF 00000008080109080103070707070707 000000101080901080C0E0E0E0E0E0E0 0000000002000010000000000103070F 000080000040E04400007CFCFCFCFCF8 00000000F00070700000000000FFFFFF 00000000D80000600000000000FCFEFF 000201040E1C482000040E1F3F7F3F1F 00000080000010000000000080C0E0F0 080B0B0B000000000707070707070707 10D0D0D000000000E0E0E0E0E0E0E0E0 0000000100000800000000000103070F 0040802070381204002070F8FCFEFCF8 000000001B00000600000000003F7FFF 000000000F000E0E0000000000FFFFFF 000001000002072200003E3F3F3F3F1F 00000000400000080000000080C0E0F0 000000000B0B0B080707070707070707 00000000D0D0D010E0E0E0E0E0E0E0E0 20481C0E040102001F3F7F3F1F0E0400 0800000080000000F0E0C08000000000 707000F000000000FFFFFF0000000000 600000D800000000FFFEFC0000000000 00080000010000000F07030100000000 44E0400000800000F8FCFCFCFC7C0000 08090108080000000707070707070301 1090801010000000E0E0E0E0E0E0C080 22070200000100001F3F3F3F3F3E0000 0010000080000000F0E0C08000000000 0600001B00000000FF7F3F0000000000 0E0E000F00000000FFFFFF0000000000 10000000010000000F07030100000000 0412387020804000F8FCFEFCF8702000 00000001010206050000000101020604 000000008080C0E0000000008080C0A0 000010080E0E1B1E0000100002061812 001818181CDEBE7E001818181CD6324A 0000000023241F0E0000000003040602 0000A0AC286838A800008084082830A0 0000000000000000FFFFFFFFFFFFFFFF 000000040C183060FFFFFFFFFFFFFFFF 000001030307478FFFFFFEFCFCF8B870 000080C0C0E0E2F1FFFF7F3F3F1F1D0E 00000000000000000000000000000000 00000000000000000000000000000000 FFFFFFFFFFFFFFFF001F20404340201F FFFFFFFFFFFFFFFF00FF000FD050900F FFFFFFFFFFFFFFFF00FF00A0A0A0A03F FFFFFFFFFFFFFFFF00FE007844424478 0D151E0F0603000009111A0D06030000 E0F0B09060C000006050309060800000 1D0F0B0B0B0B00001D09080B080A0000 EE7EE8BC3C000000AA4A809824000000 02070D000107060000040C0000050200 6030B0003C080C006020300008000800 004163361C080000FFFFFFFFFFFFFFFF C080000000000000FFFFFFFFFFFFFFFF 9F80410100000000607FBEFEFFFFFFFF F90182800000000006FE7D7FFFFFFFFF 00000000000000000000000000000000 00000000000000000000000000000000 FFFFFFFFFFFFFFFF007F40407F414040 FFFFFFFFFFFFFFFF00905050900F807F FFFFFFFFFFFFFFFF009FA09E813E00FF FFFFFFFFFFFFFFFF0042427E424200FE 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 FFE3E0C0C0E4FFFF001C1F3F3F1B007F FFEF070707D7FFFF0013FAFBFA2A00FF FFFFFFFFFFFFFFFF0012AA3AAAAA00FF FFFFFFFFFFFFFFFF008E90908CE202FC FF998981919999FF0066767E6E666600 FF819F879F9F81FF007E607860607E00 FF99C3E7C39999FF00663C183C666600 FF81E7E7E7E7E7FF007E181818181800 FFC39F919999C3FF003C606E66663C00 FFC399999999C3FF003C666666663C00 FFE7C399819999FF00183C667E666600 FF9F9F9F9F9F81FF0060606060607E00 FF819F879F9F9FFF007E607860606000 FFC3E7E7E7E7C3FF003C181818183C00 FF998981919999FF0066767E6E666600 FFC3E7E7E7E7C3FF003C181818183C00 FFFFFFFFFFFFFFFF0000444555552900 FFFFFFFFFFFFFFFF0000C728E6212E00 FFFFFFFFFFFFFFFF0000334A334A3300 FFFFFFFFFFFFFFFF00002EA424A42400 #15:MAIN SOUND 28001000000000003800846C003A0000 08006060000000003800806C003A0000 28002022000000003800505000000000 18000099000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000