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