;;; Map Variables
Land_Codes = (Water, 0, Province, 1, Capital, 2),
Country_Codes = (En="England", Ru="Russia", Fr="France", Tk="Turkey", Ge="Germany", It="Italy", AH="Austria-Hungary"),
Country_Unit_Codes = (EA="English Army", EF="English Fleet", RA="Russian Army", RF="Russian Fleet", FA="French Army", FF="French Fleet", TA="Turk Army", TF="Turk Fleet", GA="German Army", GF="German Fleet", IA="Italian Army", IF="Italian Fleet", AA="Austrian Army", AT="Austrian Fleet"),
;;; + Unit#. ... (Ex.:EF1)
Map_Annular_Codes = (Corner=0, Exterior=1, Ring=2, Middle=3, Center=4),
;;; A geometric 'spiral-chain' system for the 74 provinces of Diplomacy. -- (Have another system to add?)
;;; 4
Corners = (NAO, StP, Syr, MAO),
;;; 11
Exterior = (NWS, BAR, Nor, Fin, Mos, Sev, Arm, EME, ION, Tun, NAf),
;;; 31
Ring = (ENG, Lon, Wal, IRI, Lvp, Cly, Edi, Yor, NTH, SKA, SWE, GOB, Liv, War, Ukr, Rum, BLA, Ank, Smy, Con, AEG, Gre, Alb, ADR, Apu, Nap, TYS, WME, Spa, Por, Gas, Bre),
;;; 20
Middle = (Pic, Bel, Hol, HEL, Den, BAL, Pru, Sil, Gal, Bud, Bul, Ser, Tri, Ven, Rom, Tus, GOL, Mar, Bur, Par),
;;; 8
Center = (Pie, Tyr, Mun, Ruh, Kie, Ber, Boh, Vie),
Map_Values = (
;;; (Code, Land, Annular, Weight, Neighbours, Owners, Full_Name. ,,, =-> What to add/change ??)
;;; (Abc, L, A, 0.nn%, ( , , , ) , (Who?) , Name)
(1, NAO, 0, 0, 0.68, (MAO, NWS, IRI, Cly), (0, En), "North-Atlantic Ocean"),
(2, NWS, 0, 1, 0.72, (NTH, Edi, Nor, NAO, BAR, Cly), (0, En), "Norwegian Sea"),
(3, BAR, 0, 1, 0.64, (Stp, Nor, NWS), (0, Ru), "Barents Sea"),
(4, Nor, 2, 1, 0.82, (Stp, Swe, NTH, NWS, Fin, BAR), (0, Ne), "Norway"),
(5, Fin, 1, 1, 0.71, (Stp, Swe, Nor, GOB), (0, Ru), "Finland"),
(6.a, StP, 2, 0, 0.99, (Mos, Fin, Liv, GOB, Nor, Bar), (RF1, Ru), "St-Petersburg"),
(6.F1, StpS, 2, 0, 0.99, (Fin, Liv, GOB ), (RF1, Ru), "St-Petersburg SouthCoast"),
(6.F2, StpN, 2, 0, 0.97, (Nor, Bar), (0, Ru), "St-Petersburg NorthCoast"),
(7, Mos, 2, 1, 0.96, (War, Sev, Stp, Ukr, Liv), (RA1, Ru), "Moscow"),
(8, Sev, 2, 1, 0.98, (Rum, BLA, Mos, Ukr, Arm), (RF2, Ru), "Sevastopol"),
(9, Arm, 1, 1, 0.68, (Ank, Sev, Smy, BLA, Syr), (0, Tk), "Armenia"),
(10, Syr, 1, 0, 0.58, (Smy, Arm, EME), (0, Ne), "Syria"),
(11, EME, 0, 1, 0.59, (Smy, ION, AEG, Syr), (0, Ne), "East Mediterranean"),
(12, ION, 0, 1, 0.75, (Nap, Gre, Tun, AEG, TYS, Apu, Alb, ADR, EME), (0, It), "Ionian Sea"),
(13, Tun, 2, 1, 0.81, (ION, WME, TYS, NAf), (0, Ne), "Tunis"),
(14, NAf, 1, 1, 0.58, (Tun, MAO, WME), (0, Ne), "North Africa"),
(15, MAO, 0, 0, 0.79, (Bre, Spa, WME, Por, Eng, SpaN, NAO, IRI, NAf, Gas), (0, Fr), "Mid-Atlantic Ocean"),
(16, ENG, 0, 2, 0.91, (Lon, Bre, Bel, NTH, MAO, Wal, Pic), (0, Ne), "English Channel"),
(17, Lon, 2, 2, 0.98, (NTH, ENG, Yor, Wal), (EF1, En), "London)",
(18, Wal, 1, 2, 0.72, (Lon, Lvp, ENG, IRI, Yor), (0, En), "Wales"),
(19, IRI, 0, 2, 0.69, (Lvp, ENG, MAO, Wal, NAO, Cly), (0, Ne), "Irish Sea"),
(20, Lvp, 2, 2, 0.92, (Edi, IRI, Yor, Wal, NAO, Cly), (EA1, En), "Liverpool"),
(21, Cly, 1, 2, 0.59, (Lvp, Edi, NAO, NWS), (0, EN), "Clyde"),
(22, Edi, 2, 2, 0.95, (NTH, Lvp, NWS, Yor, Cly), (EF2, En), "Edinburgh"),
(23, Yor, 1, 2, 0.74, (Lon, Edi, Lvp, NTH, Wal), (0, En), "Yorkshire"),
(24, NTH, 0, 2, 0,89, (Lon, Edi, Bel, Nor, Den, Hol, ENG, NWS, Yor, SKA, HEL), (0, En), "North Sea"),
(25, SKA, 0, 2, 0.68, (Den, Swe, Nor, NTH), (0, Ne), "Skagerrack"),
(26, Swe, 2, 2, 0.88, (Den, Nor, BAL, Fin, SKA, GBO), (0, Ne), "Sweden"),
(27, GOB, 0, 2, 0.68, (Stp, Swe, BAL, Liv, Fin), (0, Ru), "Golf of Bothnia"),
(28, Liv, 1, 2, 0.69, (War, Mos, Stp, BAL, Pru, GOB), (0, Ru), "Livonia"),
(29, War, 2, 2, 0.99, (Mos, Ukr, Gal, Sil, Liv, Pru), (RA2, Ru), "Warsaw"),
(30, Ukr, 1, 2, 0.86, (War, Mos, Sev, Rum, Gal), (0, Ru), "Ukraine"),
(31, Rum, 2, 2, 0.87, (Sev, Bud, BulE, Ser, BLA, Ukr), (0, Ne), "Rumania"),
(30, BLA, 0, 2, 0.88, (Ank, Sev, Con, Rum, BulE), (0, Ne), "Black Sea"),
(31, Ank, 2, 2, 0.97, (Con, Smy, BLA, Arm, Syr), (TF1, Tk), "Ankara"),
(32, Smy, 2, 2, 0.92, (Con, Ank, Arm, EME, Syr), (TA2, Tk), "Smyrna"),
(33, Con, 2, 2, 0.99, (Ank, Smy, Bul, BLA, AEG), (TA1, Tk), "Constantinople"),
(34, AEG, 0, 2, 0.79, (Con, Gre, Smy, BulS, ION, EME), (0, Tk), "Aegean Sea"),
(37, Gre, 2, 2, 0.87, (BulS, Ser, ION, AEG, Alb), (0, Ne), "Greece"),
(38, Alb, 1, 2, 0.78, (Tri, Gre, Ser, ION, ADR), (0, Au), "Albania"),
(39, ADR, 0, 2, 0.68, (Tri, Ven, ION, Alb, Apu), (0, Au), "Adriatic Sea"),
(40, Apu, 1, 2, 0.73, (Nap, Ven, Rom, ION, ADR), (0, It), "Apulia"),
(41, Nap, 2, 2, 0.98, (Rom, ION, TYS, Apu), (IF1, It), "Naples"),
(42, TYS, 0, 2, 0.74, (Nap, Rom, Tun, ION, WME, GLY, TUS), (0, It), "Tyrrhenian Sea"),
(43, WME, 0, 2, 0.69, (SpaS, Tun, MAO, TYS, GLY), (0, Ne), "Western Mediterranean"),
(44.a, Spa, 2, 2, 0.81, (Mar, Por, MAO, WME, Gas, GLY), (0, Ne), "Spain"),
(44.F1, SpaS, 2, 2, 0.83, (Mar, Por, MAO, WME, GLY), (0, Ne), "Spain SouthCoast"),
(44.F2, SpaN, 2, 2, 0.79, (Por, MAO, Gas), (0, Ne), "Spain NorthCoast"),
(45, Por, 2, 2, 0.77, (SpaS, SpaN, MAO), (0, Ne), "Portugal"),
(46, Gas, 1, 2, 0.55, (Bre, SpaN, Par, Mar, MAO, Bur), (0, Fr), "Gascony"),
(47, Bre, 2, 2, 0.95, (Par, MAO, ENG, Pic, Gas), (FF1, Fr), "Brest"),
(48, Pic, 1, 3, 0.73, (Par, Bre, Bel, Bur, NTH), (0, Fr), "Picardy"),
(49, Bel, 2, 3, 0.86, (Hol, NTH, Bur, Ruh, ENG, Pic), (0, Ne), "Belgium"),
(50, Hol, 2, 3, 0.82, (Kie, Bel, NTH, Ruh, HEL), (0, Ne), "Holland"),
(51, HEL, 0, 3, 0.73, (Kie, Hol, Den, NTH), (0, Ge), "Helgoland Bight"),
(52, Den, 2, 3, 0.81, (Kie, Swe, NTH, Bal, SKA, HEL), (0, Ne), "Denmark"),
(53, BAL, 0, 3, 0.70, (Kie, Den, Ber, GBO, Pru, Liv), (0, Ge), "Baltic Sea"),
(54, Pru, 1, 3, 0.67, (Ber, War, Liv, Sil, BAL), (0, Ge), "Prussia"),
(55, Sil, 1, 3, 0.71, (Ber, Kie, Bur, Tyr, Ruh, Sil), (0, Ge), "Silesia"),
(56, Gal, 1, 3, 0.78, (Bud, Vie, War, Rum, Ukr, Sil, Boh), (0, AH), "Galicia"),
(57, Bud, 2, 3, 0.98, (Ser, Tri, Rum, Vie, Gal), (AA1, AH), "BudaPest"),
(58.a, Bul, 2, 3, 0.83, (Con, Rum, Ser, Gre, AEG, BLA), (0, Ne), "Bulgaria"),
(58.F1, BulE, 2, 3, 0.81, (Con, Rum, Ser, BLA), (0, Ne), "Bulgaria EastCoast"),
(58.F2, BulS, 2, 3, 0.85, (Con, Gre, Ser, AEG), (0, Ne), "Bulgaria SouthCoast"),
(59, Ser, 2, 3, 0.88, (Bud, Tri, Gre, Rum, Bul, Alb), (0, Ne), "Serbia"),
(60, Tri, 2, 3, 0.98, (Bud, Vie, Ser, Ven, Tyr, Alb), (AF2, AH), "Trieste"),
(61, Ven, 2, 3, 0.98, (Rom, Tri, Tyr, Pie, Apu, Tus), (IA2, It), "Venice"),
(62, Rom, 2, 3, 0.96, (Ven, Nap, TYS, GLY, Apu, Tus), (IA1, It), "Rome"),
(63, Tus, 1, 3, 0.82, (Rom, Ven, Pie, TYS, GLY), (0, It), "Tuscany"),
(64, GOL, 0, 3, 0.75, (Mar, SpaS, WME, TYS, Pie, Tus), (0, Fr), "Golf of Lyons"),
(65, Mar, 2, 3, 0.98, (SpaS, Bur, Pie, GOL, Gas), (0, Fr), "Marseilles"),
(66, Bur, 1, 3, 0.89, (Par, Mun, Mar, Bel, Ruh, Pic, Gas), (0, Fr), "Burgundy"),
(67, Par, 2, 3, 0.99, (Bre, Bur, Pic, Gas), (0, Fr), "Paris"),
(68, Pie, 1, 4, 0.78, (Mar, Ven, Tyr, Tus, GLY), (0, It), "Piedmont"),
(69, Tyr, 1, 4, 0.79, (Ven, Tri, Mun, Vie, Pie, Boh), (0, It), "Tyrolia"),
(70, Mun, 2, 4, 0.99, (Kie, Ber, Bur, Ruh, Tyr, Sil, Boh), (GA1, Ge), "Munich"),
(71, Ruh, 1, 4, 0.79, (Mun, Kie, Bel, Hol, Bur), (0, Ge), "Ruhr"),
(72, Kie, 2, 4, 0.97, (Mun, Ber, Den, Hol, Ruh, Bal, HEL), (GF1, Ge), "Kiel"),
(73, Ber, 2, 4, 0.95, (Mun, Kie, Bal, Sil, Pru), (GA2, Ge), "Berlin"),
(74, Boh, 1, 4, 0.74, (Vie, Mun, Gal, Tyr, Sil), (0, AH), "Bohemia"),
(75, Vie, 2, 4, 0.99, (Bud, Tri, Gal, Tyr, Boh), (AA2, AH), "Vienna") );
;;; ------
;;; Notes!:
;;; Neighbours are ordered by 'proposed' importance, and can vary...)
;;; Switzerland, is impassable, thus merely excluded.
;;; For Fleets we use seperate list to verify:
;;; Stp = StpS + StpN, Bul = BulS + BulN, Spa = SpaS + SpaN,
;;; ( where '+' is an ADDL, (Add Logically & proportionaly))
;;; The Weights % do need some more fine tuning...
;;; Is the 75x75 Distance_To_Another_Province Matrix really usefull for a bot?
;;; In what cases do we check for actual distances? That bings up the topic of Paths!
;;; Which approach?...