1 1.2 cgd /* $NetBSD: map.c,v 1.2 1995/03/24 03:58:58 cgd Exp $ */ 2 1.2 cgd 3 1.1 jtc #define minusminus plusplus 4 1.1 jtc #define minusplus plusminus 5 1.1 jtc 6 1.1 jtc main() 7 1.1 jtc { 8 1.1 jtc /* Set up */ 9 1.1 jtc 10 1.1 jtc openpl(); 11 1.1 jtc space(-1400, -1000, 1200, 1200); 12 1.1 jtc 13 1.1 jtc /* Big box */ 14 1.1 jtc 15 1.1 jtc move(-1400, -1000); 16 1.1 jtc cont(-1400, 1000); 17 1.1 jtc cont(600, 1000); 18 1.1 jtc cont(600, -1000); 19 1.1 jtc cont(-1400, -1000); 20 1.1 jtc 21 1.1 jtc /* Grid -- horizontal lines every 200 */ 22 1.1 jtc 23 1.1 jtc linemod("dotted"); 24 1.1 jtc line(600, -800, -1400, -800); 25 1.1 jtc line(-1400, -600, 600, -600); 26 1.1 jtc line(600, -400, -1400, -400); 27 1.1 jtc line(-1400, -200, 600, -200); 28 1.1 jtc linemod("solid"); 29 1.1 jtc line(600, 0, -1400, 0); 30 1.1 jtc linemod("dotted"); 31 1.1 jtc line(-1400, 200, 600, 200); 32 1.1 jtc line(600, 400, -1400, 400); 33 1.1 jtc line(-1400, 600, 600, 600); 34 1.1 jtc line(600, 800, -1400, 800); 35 1.1 jtc 36 1.1 jtc /* Grid -- vertical lines every 200 */ 37 1.1 jtc 38 1.1 jtc line(-1200, 1000, -1200, -1000); 39 1.1 jtc line(-1000, 1000, -1000, -1000); 40 1.1 jtc line(-800, 1000, -800, -1000); 41 1.1 jtc line(-600, 1000, -600, -1000); 42 1.1 jtc linemod("solid"); 43 1.1 jtc line(-400, 1000, -400, -1000); 44 1.1 jtc linemod("dotted"); 45 1.1 jtc line(-200, 1000, -200, -1000); 46 1.1 jtc line(0, 1000, 0, -1000); 47 1.1 jtc line(200, 1000, 200, -1000); 48 1.1 jtc line(400, 1000, 400, -1000); 49 1.1 jtc 50 1.1 jtc /* Circles radius +250 on "center" */ 51 1.1 jtc 52 1.1 jtc linemod("solid"); 53 1.1 jtc circle(-400, 0, 250); 54 1.1 jtc circle(-400, 0, 500); 55 1.1 jtc circle(-400, 0, 750); 56 1.1 jtc circle(-400, 0, 1000); 57 1.1 jtc 58 1.1 jtc /* A few labels */ 59 1.1 jtc 60 1.1 jtc move(-670, 1075); 61 1.1 jtc label("- THE PHANTASIA UNIVERSE -"); 62 1.1 jtc line(-630, 1045, -115, 1045); 63 1.1 jtc move(-360, 80); 64 1.1 jtc label("Lorien"); 65 1.1 jtc move(-385, -100); 66 1.1 jtc label("Ithilien"); 67 1.1 jtc move(-560, 80); 68 1.1 jtc label("Rohan"); 69 1.1 jtc move(-580, -100); 70 1.1 jtc label("Anorien"); 71 1.1 jtc plusplus("Rovanion", -250, 320); 72 1.1 jtc plusplus("The Iron Hills", -100, 560); 73 1.1 jtc plusplus("Rhun", 250, 570); 74 1.1 jtc minusplus("Dunland", -700, 160); 75 1.1 jtc minusplus("Eriador", -920, 300); 76 1.1 jtc minusplus("The Northern Waste", -1240, 320); 77 1.1 jtc minusminus("Gondor", -720, -180); 78 1.1 jtc minusminus("South Gondor", -940, -270); 79 1.1 jtc minusminus("Far Harad", -1100, -500); 80 1.1 jtc plusminus("Mordor", -180, -300); 81 1.1 jtc plusminus("Khand", 0, -500); 82 1.1 jtc plusminus("Near Harad", 40, -780); 83 1.1 jtc move(340, 900); 84 1.1 jtc label("The Moors"); 85 1.1 jtc move(300, 840); 86 1.1 jtc label("Adventurous"); 87 1.1 jtc move(340, -840); 88 1.1 jtc label("The Moors"); 89 1.1 jtc move(300, -900); 90 1.1 jtc label("Adventurous"); 91 1.1 jtc move(-1340, 900); 92 1.1 jtc label("The Moors"); 93 1.1 jtc move(-1340, 840); 94 1.1 jtc label("Adventurous"); 95 1.1 jtc move(-1340, -840); 96 1.1 jtc label("The Moors"); 97 1.1 jtc move(-1340, -900); 98 1.1 jtc label("Adventurous"); 99 1.1 jtc move(700, 1000); 100 1.1 jtc label("OUTER CIRCLES:"); 101 1.1 jtc line(690, 970, 1000, 970); 102 1.1 jtc move(700, 900); 103 1.1 jtc label("> 9: The Outer Waste"); 104 1.1 jtc move(700, 800); 105 1.1 jtc label("> 20: The Dead Marshes"); 106 1.1 jtc move(700, 700); 107 1.1 jtc label("> 35: Kennaquhair"); 108 1.1 jtc move(700, 600); 109 1.1 jtc label("> 55: Morannon"); 110 1.1 jtc move(700, 300); 111 1.1 jtc label("(0,0): The Lord's Chamber"); 112 1.1 jtc 113 1.1 jtc move(700, -400); 114 1.1 jtc label("Grid squares are 100 x 100"); 115 1.1 jtc move(700, -800); 116 1.1 jtc label("Created by Ted Estes"); 117 1.1 jtc move(700, -860); 118 1.1 jtc label("Plotted by Chris Robertson"); 119 1.1 jtc move(700, -920); 120 1.1 jtc label(" c 1985"); 121 1.1 jtc circle(723, -923, 20); 122 1.1 jtc 123 1.1 jtc /* Close down */ 124 1.1 jtc 125 1.1 jtc move(-1380, 1180); 126 1.1 jtc closepl(); 127 1.1 jtc exit(0); 128 1.1 jtc } 129 1.1 jtc 130 1.1 jtc plusplus(s, x, y) /* draw strings in plus plus quadrant */ 131 1.1 jtc char *s; 132 1.1 jtc int x, y; 133 1.1 jtc { 134 1.1 jtc char s1[2]; 135 1.1 jtc 136 1.1 jtc while (*s) 137 1.1 jtc { 138 1.1 jtc move(x, y); 139 1.1 jtc s1[0] = *s++; 140 1.1 jtc s1[1] = '\0'; 141 1.1 jtc label(s1); 142 1.1 jtc x += 25; 143 1.1 jtc y -= 30; 144 1.1 jtc } 145 1.1 jtc } 146 1.1 jtc 147 1.1 jtc plusminus(s, x, y) /* draw strings in plus minus quadrant */ 148 1.1 jtc char *s; 149 1.1 jtc int x, y; 150 1.1 jtc { 151 1.1 jtc char s1[2]; 152 1.1 jtc 153 1.1 jtc while (*s) 154 1.1 jtc { 155 1.1 jtc move(x, y); 156 1.1 jtc s1[0] = *s++; 157 1.1 jtc s1[1] = '\0'; 158 1.1 jtc label(s1); 159 1.1 jtc x += 25; 160 1.1 jtc y += 30; 161 1.1 jtc } 162 1.1 jtc } 163