TovLenin

glist

Sep 24th, 2014
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.58 KB | None | 0 0
  1.  
  2. Program glist_3;
  3.  
  4. Uses graph, crt;
  5.  
  6. Var
  7.   xc, yc: array [1..20] Of integer;
  8.   moves: array [1..40] Of char;
  9.   xb, yb, a, x, y, i, o, p, grdriver, grmode: integer;
  10.   ch: char;
  11. Procedure down;
  12. Begin
  13.   setcolor(6);
  14.   y := y+1;
  15.   circle(x, y, 10);
  16. End;
  17. Procedure right;
  18. Begin
  19.   setcolor(6);
  20.   x := x+1;
  21.   circle(x, y, 10);
  22. End;
  23. Procedure left;
  24. Begin
  25.   setcolor(6);
  26.   x := x-1;
  27.   circle(x, y, 10);
  28. End;
  29. Procedure up;
  30. Begin
  31.   setcolor(6);
  32.   y := y-1;
  33.   circle(x, y, 10);
  34. End;
  35. Procedure downb;
  36. Begin
  37.   setcolor(0);
  38.   yb := yb+1;
  39.   circle(xb, yb, 10);
  40. End;
  41. Procedure rightb;
  42. Begin
  43.   setcolor(0);
  44.   xb := xb+1;
  45.   circle(xb, yb, 10);
  46. End;
  47. Procedure leftb;
  48. Begin
  49.   setcolor(0);
  50.   xb := xb-1;
  51.   circle(xb, yb, 10);
  52. End;
  53. Procedure upb;
  54. Begin
  55.   setcolor(0);
  56.   yb := yb-1;
  57.   circle(xb, yb, 10);
  58. End;
  59. Begin
  60.   grdriver := detect;
  61.   initgraph (grdriver, grmode, ' ');
  62.   setcolor(4);
  63.   randomize;
  64.   For a:=1 To 20 Do
  65.     Begin
  66.       xc[a] := random(400);
  67.       yc[a] := random(300);
  68.       circle(xc[a], yc[a], 7);
  69.       floodfill(xc[a], yc[a], 4);
  70.     End;
  71.   x := 10;
  72.   y := 10;
  73.   yb := 10;
  74.   xb := 10;
  75.   Repeat
  76.     ch := readkey;
  77.     Case ch Of
  78.       #0 :
  79.            Begin
  80.              ch := readkey;
  81.              Case ch Of
  82.                #75:
  83.                     Begin
  84.                       left;
  85.                       left;
  86.                     End;
  87.                #77:
  88.                     Begin
  89.                       right;
  90.                       right;
  91.                     End;
  92.                #72:
  93.                     Begin
  94.                       up;
  95.                       up;
  96.                     End;
  97.                #80:
  98.                     Begin
  99.                       down;
  100.                       down;
  101.                     End;
  102.              End;
  103.              moves[40] := ch;
  104.              For i:= 1 To 39 Do
  105.                Begin
  106.                  moves[i] := moves[i+1];
  107.                End;
  108.              Case moves[1] Of
  109.                #75:
  110.                     Begin
  111.                       leftb;
  112.                       leftb;
  113.                     End;
  114.                #77:
  115.                     Begin
  116.                       rightb;
  117.                       rightb;
  118.                     End;
  119.                #72:
  120.                     Begin
  121.                       upb;
  122.                       upb;
  123.                     End;
  124.                #80:
  125.                     Begin
  126.                       downb;
  127.                       downb;
  128.                     End;
  129.              End;
  130.            End;
  131.       #27: writeln('esc');
  132.     End;
  133.   Until ch=#27
  134. End.
Advertisement
Add Comment
Please, Sign In to add comment