home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / LOC2.DSK / MAPGEN2.txt < prev    next >
Text File  |  2014-09-09  |  4KB  |  114 lines

  1.  FORGET LOAD
  2.  
  3.  : DMO? 24418 PEEK ;
  4.  VARIABLE SELVT
  5.  : OI PAD READLN PAD GETNUM ;
  6.  : PRNG . PRINT " - " . PRINT " ) =  " ;
  7.  : SELECT
  8.  BEGIN CR SELVT VTAB CLEOP 13 HTAB PRINT " SELECT OPTION: " KEYIN CVRTNUM N1 PICK3 CNM
  9.  UNTIL SWAP DROP ;
  10.  
  11.  : NP2 20 28 ;
  12.  : NP3 27 20 ;
  13.  : NP4 32 17 ;
  14.  : LEV3? 24428 PEEK ;
  15.  : SELPRMS BEGIN HOME 10 VTAB 9 HTAB
  16.   PRINT " WATER BOUNDARY? (Y/N) " KEYIN DUP 217 = SWAP 206 = OVER OR UNTIL
  17.  IF N40
  18.  ELSE 30
  19.  THEN -> WBOUN
  20.  
  21. HOME 8 VTAB 15 HTAB PRINT " WATER AREA " CR CR 15 HTAB PRINT " 1) SMALL " CR
  22. 15 HTAB PRINT " 2) MEDIUM " CR 15 HTAB PRINT " 3) LARGE " 
  23. N3 SELECT SUB1 10 * 10 DIE + WBOUN + -> WAPCT
  24.  
  25.   20 NP N1 AND + -> T1 9 -> TEMP1
  26.   800 8 WAPCT * - DUP -> N TEMP1 / NP / NP * 48 MIN -> T2
  27.   BEGIN
  28.    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
  29.    UNTIL 24573 POKE NT NP / NP * NT =
  30.   UNTIL N NT / -> T1
  31.  
  32. T1 TEMP1 <>
  33.   IF HOME 8 VTAB 10 HTAB PRINT " AVG. TERR. SIZE =  " T1 . CR
  34.    BEGIN CR 10 VTAB CLEOP 8 HTAB PRINT " MIN. TERR. SIZE ( " T1 TEMP1 PRNG OI TEMP1 T1 CNM
  35.    UNTIL
  36.   ELSE T1
  37.   THEN -> MNSZ T1 MNSZ - N2 * ADD1 -> DLSZ
  38.  
  39.   BEGIN HOME 10 VTAB 7 HTAB PRINT " MIN. WATER SIZE (8-20) =  " OI 8 20 CNM
  40.   UNTIL -> MNWA
  41.  
  42.  
  43.   HOME 8 VTAB 7 HTAB PRINT " PROBABLE TYPE OF GEOGRAPHY " CR CR N4 HTAB PRINT " 1) CONTINENTS AND ISLANDS "
  44.  CR N4 HTAB PRINT " 2) CONTINENTS AND LARGE ISLANDS " CR N4 HTAB PRINT " 3) ONE CONTINENT "
  45.  N3 SELECT SUB1
  46.  
  47.  -> LCAS
  48.  
  49. 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 "
  50. N2 SELECT SUB1 -> SCAS HOME ;
  51.  
  52.  
  53.  : SETPRMS LEV2 IF
  54.  LEV3? IF N2 DIE ELSE ZR THEN IF N40 ELSE 30 THEN -> WBOUN
  55. 10 DIE LEV3? IF N40 ELSE 30 THEN + -> WAPCT
  56.  NP N2 = IF 10 9 THEN
  57. NP N3 = IF 9 N4 THEN
  58. NP N4 = IF 8 N2 THEN
  59.  DIE + NP * 24573 POKE
  60. 800 8 WAPCT * - NT / -> T1
  61. T1 9 > IF T1 9 - ADD1 DIE 9 + ELSE T1 THEN -> MNSZ T1 MNSZ - N2 * ADD1 -> DLSZ
  62. 13 DIE 8 + -> MNWA
  63. LEV3? IF 6 DIE DUP IF 5 = IF N3 ELSE N2 THEN ELSE ADD1 THEN ELSE N3 THEN SUB1 -> LCAS
  64.  N3 DIE IF N1 ELSE N2 THEN SUB1 -> SCAS
  65.  ELSE 30 -> WBOUN N1 -> DLSZ 17 -> MNWA N2 -> LCAS ZR -> SCAS NP N2 - CASE: NP2 NP3 NP4 THEN -> MNSZ 24573 POKE
  66. THEN ;
  67.  
  68.  : INIT BWIN DSPEX HOME DMO?
  69.  IF ZR
  70.  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 "
  71.  N2 SELECT SUB1 THEN CASE: SETPRMS SELPRMS THEN ;
  72.  
  73. : FEELT -> AREG 17216 CALL ;
  74. : SOLO? 24442 PEEK ;
  75.  : CXCHK
  76.  ZR 24457 POKE 48 ZR DO 255 I 24458 + POKE LOOP
  77.  ZR -> TEMP1 SWIN HOME 21 VTAB 12 HTAB PRINT " PLEASE WAIT " NT ADD1 N1
  78.   DO I FEELT I 24457 + PEEK 255 =
  79.    IF TEMP1 INC TEMP1
  80.    THEN
  81.   LOOP CR INVERSE TEMP1
  82.   IF 7 HTAB PRINT " SORRY, MAP TOO COMPLEX " CR 8 HTAB PRINT " FOR COMPUTER PLAYER " 20000 DELAY 128
  83.   ELSE 17 HTAB PRINT " OK " N1
  84.   THEN 3715 POKE NORMAL 3500 DELAY HOME ;
  85. : CHKMAP SOLO?
  86.  IF CXCHK TEMP1
  87.  IF DROP0 DUP THEN
  88.  THEN ;
  89.  
  90.  : NEWP ZR ZR N1 ;
  91.  : NEWM N1 ZR N1 ;
  92.  : SAVEMAP N1 -> FILETYPE PAD ASSIGN " BSAVE  " DSB1 NXTP ASSIGN " .M,A2816,L1700,D " NT ZR WRLNK0 DSB2 ZR ;
  93.  : GO N1 N1 ;
  94.  : MAPMUS CR 132 PUTC PRINT " BLOADX,A42000,D1 " CR ;
  95.  : MAP 1 1 BLKSIZE ZR 15 -> SELVT MAPMUS
  96.   BEGIN NOT
  97.    IF INIT
  98.    THEN SETBN BWIN MAPGEN ZR 3715 POKE BNORM PROCWA SWIN N16 -> AREG 164 -> XREG 19740 CALL ( MUSIC!
  99.    ZR HTAB DSPEX
  100.  DMO? NOT IF
  101.    BEGIN HOME PRINT " 1) NEW PARAMS  2) REDO, SAME PARAMS " CR PRINT " 3) SAVE MAP    4) PROCEED "
  102.     22 -> SELVT N4 SELECT 15 -> SELVT
  103.     SUB1 CASE: NEWP NEWM SAVEMAP GO THEN
  104.    UNTIL
  105.   ELSE N1
  106.  THEN
  107.  DUP IF CHKMAP THEN
  108.   UNTIL HOME
  109.  BEGIN N1 20 INSERTMS HOME SIDE N1 =
  110.  UNTIL READ " RLOAD,D1 " ;
  111.  
  112.  CLOSE RUN
  113.  
  114.