FORGET LOAD : DMO? 24418 PEEK ; VARIABLE SELVT : OI PAD READLN PAD GETNUM ; : PRNG . PRINT " - " . PRINT " ) = " ; : SELECT BEGIN CR SELVT VTAB CLEOP 13 HTAB PRINT " SELECT OPTION: " KEYIN CVRTNUM N1 PICK3 CNM UNTIL SWAP DROP ; : NP2 20 28 ; : NP3 27 20 ; : NP4 32 17 ; : LEV3? 24428 PEEK ; : SELPRMS BEGIN HOME 10 VTAB 9 HTAB PRINT " WATER BOUNDARY? (Y/N) " KEYIN DUP 217 = SWAP 206 = OVER OR UNTIL IF N40 ELSE 30 THEN -> WBOUN HOME 8 VTAB 15 HTAB PRINT " WATER AREA " CR CR 15 HTAB PRINT " 1) SMALL " CR 15 HTAB PRINT " 2) MEDIUM " CR 15 HTAB PRINT " 3) LARGE " N3 SELECT SUB1 10 * 10 DIE + WBOUN + -> WAPCT 20 NP N1 AND + -> T1 9 -> TEMP1 800 8 WAPCT * - DUP -> N TEMP1 / NP / NP * 48 MIN -> T2 BEGIN BEGIN HOME 13 VTAB 7 HTAB PRINT " (MUST BE EVENLY DIVISABLE " CR 7 HTAB PRINT " BY THE NUMBER OF PLAYERS) " 10 VTAB 5 HTAB PRINT " NUMBER OF TERRITORIES ( " T2 T1 PRNG OI T1 T2 CNM UNTIL 24573 POKE NT NP / NP * NT = UNTIL N NT / -> T1 T1 TEMP1 <> IF HOME 8 VTAB 10 HTAB PRINT " AVG. TERR. SIZE = " T1 . CR BEGIN CR 10 VTAB CLEOP 8 HTAB PRINT " MIN. TERR. SIZE ( " T1 TEMP1 PRNG OI TEMP1 T1 CNM UNTIL ELSE T1 THEN -> MNSZ T1 MNSZ - N2 * ADD1 -> DLSZ BEGIN HOME 10 VTAB 7 HTAB PRINT " MIN. WATER SIZE (8-20) = " OI 8 20 CNM UNTIL -> MNWA HOME 8 VTAB 7 HTAB PRINT " PROBABLE TYPE OF GEOGRAPHY " CR CR N4 HTAB PRINT " 1) CONTINENTS AND ISLANDS " CR N4 HTAB PRINT " 2) CONTINENTS AND LARGE ISLANDS " CR N4 HTAB PRINT " 3) ONE CONTINENT " N3 SELECT SUB1 -> LCAS HOME 8 VTAB 12 HTAB PRINT " TERRITORY SHAPES " CR CR N6 HTAB PRINT " 1) MULTI-SHAPED TERRITORIES " CR N6 HTAB PRINT " 2) LONG, WIDE TERRITORIES " N2 SELECT SUB1 -> SCAS HOME ; : SETPRMS LEV2 IF LEV3? IF N2 DIE ELSE ZR THEN IF N40 ELSE 30 THEN -> WBOUN 10 DIE LEV3? IF N40 ELSE 30 THEN + -> WAPCT NP N2 = IF 10 9 THEN NP N3 = IF 9 N4 THEN NP N4 = IF 8 N2 THEN DIE + NP * 24573 POKE 800 8 WAPCT * - NT / -> T1 T1 9 > IF T1 9 - ADD1 DIE 9 + ELSE T1 THEN -> MNSZ T1 MNSZ - N2 * ADD1 -> DLSZ 13 DIE 8 + -> MNWA LEV3? IF 6 DIE DUP IF 5 = IF N3 ELSE N2 THEN ELSE ADD1 THEN ELSE N3 THEN SUB1 -> LCAS N3 DIE IF N1 ELSE N2 THEN SUB1 -> SCAS ELSE 30 -> WBOUN N1 -> DLSZ 17 -> MNWA N2 -> LCAS ZR -> SCAS NP N2 - CASE: NP2 NP3 NP4 THEN -> MNSZ 24573 POKE THEN ; : INIT BWIN DSPEX HOME DMO? IF ZR ELSE 8 VTAB 13 HTAB PRINT " MAP GENERATION " CR CR N3 HTAB PRINT " 1) USE PROGRAMMED CHARACTERISTICS " CR N3 HTAB PRINT " 2) DEFINE YOUR OWN " N2 SELECT SUB1 THEN CASE: SETPRMS SELPRMS THEN ; : FEELT -> AREG 17216 CALL ; : SOLO? 24442 PEEK ; : CXCHK ZR 24457 POKE 48 ZR DO 255 I 24458 + POKE LOOP ZR -> TEMP1 SWIN HOME 21 VTAB 12 HTAB PRINT " PLEASE WAIT " NT ADD1 N1 DO I FEELT I 24457 + PEEK 255 = IF TEMP1 INC TEMP1 THEN LOOP CR INVERSE TEMP1 IF 7 HTAB PRINT " SORRY, MAP TOO COMPLEX " CR 8 HTAB PRINT " FOR COMPUTER PLAYER " 20000 DELAY 128 ELSE 17 HTAB PRINT " OK " N1 THEN 3715 POKE NORMAL 3500 DELAY HOME ; : CHKMAP SOLO? IF CXCHK TEMP1 IF DROP0 DUP THEN THEN ; : NEWP ZR ZR N1 ; : NEWM N1 ZR N1 ; : SAVEMAP N1 -> FILETYPE PAD ASSIGN " BSAVE " DSB1 NXTP ASSIGN " .M,A2816,L1700,D " NT ZR WRLNK0 DSB2 ZR ; : GO N1 N1 ; : MAPMUS CR 132 PUTC PRINT " BLOADX,A42000,D1 " CR ; : MAP 1 1 BLKSIZE ZR 15 -> SELVT MAPMUS BEGIN NOT IF INIT THEN SETBN BWIN MAPGEN ZR 3715 POKE BNORM PROCWA SWIN N16 -> AREG 164 -> XREG 19740 CALL ( MUSIC! ZR HTAB DSPEX DMO? NOT IF BEGIN HOME PRINT " 1) NEW PARAMS 2) REDO, SAME PARAMS " CR PRINT " 3) SAVE MAP 4) PROCEED " 22 -> SELVT N4 SELECT 15 -> SELVT SUB1 CASE: NEWP NEWM SAVEMAP GO THEN UNTIL ELSE N1 THEN DUP IF CHKMAP THEN UNTIL HOME BEGIN N1 20 INSERTMS HOME SIDE N1 = UNTIL READ " RLOAD,D1 " ; CLOSE RUN