(linenum→info "unix/slp.c:2238")

bsd-games/2.17/phantasia/map.c

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