map.c revision 1.2 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