Learn how to a build a cloud-first strategyRegister Now

x
Solved

# MasterMind variation

Posted on 1997-12-11
Medium Priority
489 Views
I wonder if anyone can help me with this...
I want to make a mastermind variation for my homepage. This variation does not have to do
with colors, instead it has to do with numbers. The program must take as
input the max number that can be used as well  the number of the
positions (pinholes). The program must use minmax of alpha-beta...

(example)

Enter the max number: 4
Enter the number of positions: 5
Now give the code: 2 3 2 4 1

Thinking...
Your code must be: 2 3 2 4 1

0
Question by:kkarnez
1 Comment

LVL 1

Accepted Solution

potsy earned 600 total points
ID: 1216973
here is some code I found
uses crt;

type
pegstype = array[1..10] of integer;

var
user,pegs,pegs2 : pegstype;
guess,x,p,c,p2,c5  : integer;

{ ----------------------------------------------------------------------------}

procedure Correct(p,c : integer; user,pegs : pegstype; var c5,p2 :
integer); { cheks if done or not }

var p3,b,c2,c3,c4 : integer;
colsc,      { code colors }
colsg    { colors from user }
: array[1..9] of integer;
begin
b := 0;
{ counts correct pegs }
for c2 := 1 to p do if (user[c2]=pegs[c2]) then b := b+1;
p2 := b;
{ counts correct colors }
pegs2 := pegs;
p3 := p;
{ fills COLSc with the colors in PEGS }
c4 := 0;
for c2 := 1 to c do
begin
if (pegs[c2])=c2 then
begin
c4 := c4+1;
colsc[c4] := c2;
end;
end;
{ fills COLSg with the colors in USER }
b := 0;
for c2 := 1 to c do
begin
if (user[c2]=c2) then
begin
b := b+1;
colsg[b] :=c2;
end;
end;
{ finally counts the correct colors }
c5 := 0; { says how many colors correct }
for c2 := 1 to c4 do
for c3 := 1 to b do
if colsg[c3]=colsc[c2] then c5 := c5+1;
end;
{===
=======================================================================}

Begin
clrscr;
randomize;
{ ask user how many pegs and colors to use }
write('How many pegs (1-10) -->');
write('How many colors (1-9) -->');
{ initializes the pegs }
for x := 1 to p do pegs[x] := random(c)+1;
{ starts playing the game }
guess := 1;
repeat
writeln('Guess ',guess);
for x := 1 to p do
begin
write('Peg ',x,' -->');
end;
guess := guess+1;
correct(p,c,user,pegs,c5,p2);  { calls procedure to check pegs }
writeln('You have ',p2,' correct peg(s)');
writeln('and ',c5,' correct color(s)');
writeln;
until p2=p;  { loop until number of good guess = number of pegs }
writeln('You have broken the code in ',guess-1,' guesses');
End.

It should work fine if you need more help let me know.
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article will help to fix the below errors for MS Exchange Server 2016 I. Certificate error "name on the security certificate is invalid or does not match the name of the site" II. Out of Office not working III. Make Internal URLs and Externa…
Exchange administrators are always vigilant about Exchange crashes and disasters that are possible any time. It is quite essential to identify the symptoms of a possible Exchange issue and be prepared with a proper recovery plan. There are multiple…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …
Despite its rising prevalence in the business world, "the cloud" is still misunderstood. Some companies still believe common misconceptions about lack of security in cloud solutions and many misuses of cloud storage options still occur every day. …
###### Suggested Courses
Course of the Month21 days, 1 hour left to enroll