Advertisement
Guest User

Mastermind @Pascal#2

a guest
May 30th, 2016
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.05 KB | None | 0 0
  1. program mastermind;
  2. uses crt;
  3. var g, ans, _ans: array[0..5] of integer;
  4. var cr, tb1, nir: boolean;
  5. var i, j, cp, gct, cn : integer;
  6. begin
  7.     randomize;
  8.     gct := 0;
  9.     cr := false;
  10.     nir := false;
  11.     for i := 1 to 4 do ans[i] := random(9 - 1) + 1;
  12.     repeat
  13.         inc(gct);
  14.         for i := 0 to 5 do _ans[i] := ans[i];
  15.         cp := 0;
  16.         cn := 0;
  17.         nir := false;
  18.         writeln('G', 4, ', 1-9');
  19.         for i := 1 to 4 do read(g[i]);
  20.         for i := 1 to 4 do if not ((g[i] >= 1) and (g[i] <= 9)) then begin
  21.             writeln('out_of_range');
  22.             nir := true;
  23.             break;
  24.         end;
  25.         if nir then begin
  26.             writeln;
  27.             continue;
  28.         end;
  29.         for i := 1 to 4 do if g[i] = _ans[i] then begin
  30.             inc(cp);
  31.             _ans[i] := 0;
  32.         end;
  33.         for i := 1 to 4 do if not (g[i] = 0) then begin
  34.             tb1 := false;
  35.             for j := 1 to 4 do
  36.                 if g[i] = _ans[j] then begin
  37.                     tb1 := true;
  38.                     g[i] := 0;
  39.                     _ans[j] := 0;
  40.                     inc(cn);
  41.                     break;
  42.                 end;
  43.         end;
  44.         writeln('g_no_', gct, #13#10, 'CPN ', cp, #13#10, 'CNO ', cn, #13#10);
  45.         if cp = 4 then cr := true;
  46.     until (cr);
  47.     write('win_game:', gct, 'R');
  48. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement