Advertisement
huyhung94

Tám quân hậu

Sep 19th, 2013
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.74 KB | None | 0 0
  1. uses crt;
  2. Var a,x:array[1..8] of integer;
  3.     b:array[2..16] of integer;
  4.     c:array[-7..7] of integer;
  5.     i,n:integer;
  6.  
  7. procedure banco;
  8. var i,j: integer;
  9. begin
  10.  clrscr;
  11.  window(0,0,80,25);
  12.  textbackground(6);
  13.  clrscr;
  14.  window(20,2,67,25);
  15.  textbackground(15);
  16.  clrscr;
  17.  window(20,2,20+5,2+2);
  18.  textbackground(black);
  19.  clrscr;
  20.  for j:=0 to 7 do
  21.   begin
  22.    if ((j+2) mod 2)=0 then
  23.     begin
  24.      for i:=0 to 7 do
  25.       begin
  26.        if ((i+2) mod 2)=0 then
  27.         begin
  28.          window(20+6*i,2+3*j,20+5+6*i,2+2+3*j);
  29.          textbackground(black);
  30.          clrscr;
  31.         end;
  32.       end;
  33.      end;
  34.   end;
  35.  
  36.   for j:=0 to 7 do
  37.   begin
  38.    if ((j+2) mod 2)=0 then
  39.     begin
  40.      for i:=0 to 7 do
  41.       begin
  42.        if ((i+2) mod 2)=0 then
  43.         begin
  44.          window(26+6*i,5+3*j,26+5+6*i,5+2+3*j);
  45.          textbackground(black);
  46.          clrscr;
  47.         end;
  48.       end;
  49.      end;
  50.   end;
  51. end;
  52.  
  53. procedure socach;
  54. begin
  55. window(1,1,7,3);
  56. textbackground(black);
  57. clrscr;
  58. write('Cach ',n);
  59. end;
  60.  
  61. procedure love;
  62. var j:integer;
  63. begin
  64.   n:=n+1;
  65.   banco;
  66.   socach;
  67.   for j:=1 to 8 do
  68.    begin
  69.     window(22+(j-1)*6,2+(x[j]-1)*3,20+4+(j-1)*6,2+2+3*(x[j]-1));
  70.     textbackground(red);
  71.     clrscr;
  72.    end;
  73.    readln;
  74. end;
  75.  
  76. procedure her(i:integer);
  77. var j:integer;
  78.  begin
  79.   if i>8 then love else
  80.   for j:=1 to 8 do
  81.    if (a[j]=0) and (b[i+j]=0) and (c[i-j]=0) then
  82.     begin
  83.      x[i]:=j;
  84.      a[j]:=1;
  85.      b[i+j]:=1;
  86.      c[i-j]:=1;
  87.      her(i+1);
  88.      c[i-j]:=0;
  89.      b[i+j]:=0;
  90.      a[j]:=0;
  91.     end;
  92.   end;
  93.  
  94. procedure forever;
  95. var j:integer;
  96. begin
  97.  fillchar(a, sizeof(a),0);
  98.  fillchar(b, sizeof(b),0);
  99.  fillchar(c, sizeof(c),0);
  100. end;
  101.  
  102. begin
  103. clrscr;
  104. forever;
  105. her(1);
  106. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement