Home | History | Annotate | Line # | Download | only in phantasia
      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