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