comp.lang.ada
 help / color / mirror / Atom feed
* Re: Desperately in need of help!!!!!! Please read
  1996-11-19  0:00 Desperately in need of help!!!!!! Please read rentaz13
@ 1996-11-18  0:00 ` Robert Dewar
  0 siblings, 0 replies; 2+ messages in thread
From: Robert Dewar @ 1996-11-18  0:00 UTC (permalink / raw)



Mike asks for help on his assignment

Mike, an important part of an assignment is to learn to find and
understand your own errors. If you need help you should find it
locally. It is really not appropriate to post tens of thousands
of copies of your assignment around the world trying to get help.
After all, just think about it, there are thousands of stuents
learning Ada. Suppose they all posted their assignments for help
as you did -- comp.lang.ada would get thousands of messages a
day, and be rendered completely useless for any other purpose
(and by the way, also useless for getting homework help!)


Note: I am posting this for two reasons, one, to remind people that
you are not helping a student by doing their work for them.
Two, to perhaps let other students who read this understand
why it is impractical to expect help in this manner.






^ permalink raw reply	[flat|nested] 2+ messages in thread

* Desperately in need of help!!!!!! Please read
@ 1996-11-19  0:00 rentaz13
  1996-11-18  0:00 ` Robert Dewar
  0 siblings, 1 reply; 2+ messages in thread
From: rentaz13 @ 1996-11-19  0:00 UTC (permalink / raw)



Im doing a project in school,  its the Master Mind game, pretty simple,
but when I compile it I get a bunch of errors. Syntax mostly, but Im
totally lost. I cant get to school until Wed. morning when its due so im
in a little trouble. If you have the time and are willing are to help,
please do so. If not then its no big deal, but anyways heres the source.:

with Text_IO;

procedure Master_Mind is

package Integer_IO is new Text_IO.Integer_IO (Num => Integer);


--Master_Mind vars.
NextRnd : Integer :=0; 
tries: integer := 0;
user_num:integer :=0;
act_num: integer :=0;


--Subprogs.
--------------------------------------------
procedure RndSeed(X : IN Integer) is

begin
  NextRnd := X;
end RndSeed;
--------------------------------------------

function Rnd(Max : in Integer) return Integer is

  MagicNumber   : Constant Integer := 133;
  RandomFloat   : Float;
  RandomInteger : Integer;
  DeltaRnd      : Float;
  Index         : Integer;

begin

  NextRnd := ((NextRnd REM 128) * MagicNumber) + 37;
  RandomFloat := Float(NextRnd) / 16_928.0;
  DeltaRnd := 1.0 / (Float(Max) + 1.0);

  Index := 1;

  PickNumber:
  loop
    if RandomFloat < Float(Index) * DeltaRnd then
      RandomInteger := Index - 1;
      exit PickNumber;
    end if;
    Index := Index + 1;
  end loop PickNumber;

  if RandomInteger > Max then
    RandomInteger := Max;
  end if;

  return RandomInteger;

end Rnd;
--------------------------------------------------

--SUB = Compare vars. both converted to String Vars
procedure compare (act_num: in integer; user_num: in integer) is

  i: integer:=0;
  j: integer:=0;
  type user_char is array(1..4) of integer;
  type act_char is array(1..4) of integer;
  corr_pos: integer;
  hits: integer;
  act_num2: string(1..4);
  user_num2: string(1..4);

 --split act_num into a char1, ...2, etc for each char.
 --split user_num also
 -- Compare 1st char  of user_num w/ each char of act_num

begin
  act_num2:= String(act_num);
  user_num2:= String(user_num);

UserCheck:
loop -- user_num check (i as index)
  i:=i+1; -- May need to be changed to fit 1st char index (0/1 based)
  user_char(i):= user_num2(i..i);

  ActCheck:
  loop -- act_num2 comparision loop
    j:=j+1;
    act_char(j):= act_num2(j..j);
    --Actual comparision
    if user_char(i) = act_char(i) then
      corr_pos:= corr_pos + 1; -- +1 for every match in the correct
position
      exit ActCheck;
      end if;
    if user_char(i) = act_char(j) then
      hits:= hits + 1; -- +1 for every match in the actual #
      exit ActCheck;
      end if;
    if j = 4 then exit ActCheck;
  end loop ActCheck;

  if i = 4 then exit UserCheck;
end loop UserCheck; --user_num. Top loop

--PickNumber:
--  loop
--    if RandomFloat < Float(Index) * DeltaRnd then
--      RandomInteger := Index - 1;
--      exit PickNumber;
--    end if;
--    Index := Index + 1;
--  end loop PickNumber;


--Screen output any similarities
Integer_IO.put (hits);
Text_IO.put ("numbers are correct");
Integer_IO.put(corr_pos);
Text_IO.put ("of those numbers are in the correct position.");
end compare;
----------------------------------------------

--SUB to output degree of insult
procedure response (tries: in integer) is

begin 
  Text_IO.put("You took ");
  Intrger_IO.put(tries);     
  Text_IO.put( " to get the correct number"); 

  if tries < 10 then Text_IO.Put("Good Job!!");
  if tries > 50 then Text_IO.put("Your Brain dead");
end Response;   
---------------------------------------------

begin --Master_Mind
loop
--init. vars.

--Text_IO.put("Enter a 4 digit number guess");
--Integer_IO.get(user_num);
--call Rnd to get act_num

loop
call compare;
--if guess incorrect prompt for another answer
tries := tries + 1;
exit loop when guess = "correct";

call response
Text_IO.put ("Do you want to play again (y/n) ?");
Text_IO.get (again);
exit loop when again = "n";
end program;


I know it may be kinda large, but basically it takes a 4 digit # from the
user, and compares it to randomly generated #. It then lists the results
(how many corect, in the right position, etc) I thought it was pretty
good, but in the compare loop I get a couple errors, in fact all over the
program, its up to 47 or something. It all looks pretty much syntactily
correct to me, but I guess the compiler doesnt like it. Any help would be
greatly appreciated. Thanx

Mike




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1996-11-19  0:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-11-19  0:00 Desperately in need of help!!!!!! Please read rentaz13
1996-11-18  0:00 ` Robert Dewar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox