home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / elan / karel / env.eln < prev    next >
Text File  |  1987-08-18  |  2KB  |  108 lines

  1.  
  2. PROC stone at (INT CONST x, STRUCT (INT start, end) CONST y):
  3.   INT VAR i;
  4.   FOR i FROM y.start UPTO y.end
  5.   REP stone at (x, i)
  6.   ENDREP
  7. ENDPROC stone at;
  8.  
  9. PROC stone at (STRUCT (INT start, end) CONST x, INT CONST y):
  10.   INT VAR i;
  11.   FOR i FROM x.start UPTO x.end
  12.   REP stone at (i, y)
  13.   ENDREP
  14. ENDPROC stone at;
  15.  
  16. PROC stone at (INT CONST x, y):
  17.   xpos := x;
  18.   ypos := y;
  19.   corner [xpos] [ypos] := stone;
  20.   set cursor;
  21.   put ("X")
  22. ENDPROC stone at;
  23.  
  24. PROC karel at (INT CONST x, y):
  25.   xpos := x;
  26.   ypos := y;
  27.   place karel on corner
  28. ENDPROC karel at;
  29.  
  30. PROC beeper at (INT CONST x, y):
  31.   xpos := x;
  32.   ypos := y;
  33.   corner [xpos] [ypos] := ball;
  34.   set cursor;
  35.   put ("o")
  36. ENDPROC beeper at;
  37.  
  38. start obstruction:
  39.   page;
  40.   disappear karel.
  41.  
  42. make stairs:
  43.   start obstruction;
  44.   stone at ([7, 9], 1);
  45.   stone at (9, 2);
  46.   stone at (10, [2, 4]);
  47.   stone at ([11, 13], 4);
  48.   stone at (13, [5, 6]);
  49.   stone at ([14, 16], 6);
  50.   stone at ([16, 18], 5);
  51.   stone at (18, 4);
  52.   stone at ([18, 21], 3);
  53.   stone at (21, 2);
  54.   stone at ([21, 24], 1);
  55.   beeper at (23, 2);
  56.   karel at (1, 1).
  57.  
  58. make labyrinth:
  59.   start obstruction;
  60.   stone at ([8, 10], 3);
  61.   stone at ([3, 6], 5);
  62.   stone at ([10, 15], 5);
  63.   stone at ([7, 10], 7);
  64.   stone at ([5, 10], 9);
  65.   stone at ([12, 13], 9);
  66.   stone at ([12, 13], 10);
  67.   stone at ([9, 10], 11);
  68.   stone at ([6, 7], 12);
  69.   stone at ([9, 10], 12);
  70.   stone at ([12, 13], 12);
  71.   stone at ([4, 8], 14);
  72.   stone at ([10, 14], 14);
  73.   stone at ([3, 8], 16);
  74.   stone at ([10, 15], 16);
  75.   stone at (3, [6, 9]);
  76.   stone at (3, [11, 15]);
  77.   stone at (5, 6);
  78.   stone at (5, 8);
  79.   stone at (5, [11, 12]);
  80.   stone at (7, [3, 5]);
  81.   stone at (7, [10, 11]);
  82.   stone at (8, 5);
  83.   stone at (8, [15, 17]);
  84.   stone at (10, 6);
  85.   stone at (10, 13);
  86.   stone at (10, 17);
  87.   stone at (11, [3, 4]);
  88.   stone at (12, [6, 7]);
  89.   stone at (13, 11);
  90.   stone at (14, 7);
  91.   stone at (15, [6, 15]);
  92.   beeper at (10, 18);
  93.   karel at (9, 4).
  94.  
  95. make house:
  96.   start obstruction;
  97.   stone at ([11, 16], 5);
  98.   stone at (16, [6, 15]);
  99.   stone at ([11, 15], 15);
  100.   stone at (11, [12, 14]);
  101.   stone at ([9, 10], 12);
  102.   stone at ([9, 11], 10);
  103.   stone at (11, [5, 9]);
  104.   beeper at (10, 8);
  105.   karel at (12, 6);
  106.   turn left.
  107.  
  108.