orange
orange

Reputation: 5405

Pascal: Incompatible types: got "LONGINT" expected "CHAR"

I keep getting the "98 / 39 comp1_~1.pas Error: Incompatible types: got "LONGINT" expected "CHAR". This is concerning line 6. Any help please.

Function RollBowlDie(VirtualDiceGame : Boolean) : Integer;
  Var
    BowlDieResult : Char;
  Begin
      If VirtualDiceGame
      Then BowlDieResult := Random(6) + 1
      Else
        Begin
        Repeat
          Writeln('Please roll the bowling die and then enter your result.');
          Writeln;
          Writeln('Enter 1 if the result is a 1');
          Writeln('Enter 2 if the result is a 2');
          Writeln('Enter 3 if the result is a 4');
          Writeln('Enter 4 if the result is a 6');
          Writeln('Enter 5 if the result is a 0');
          Writeln('Enter 6 if the result is OUT');
          Writeln;
          Write('Result: ');
          Readln(BowlDieResult);
          If not (BowlDieResult in ['1'..'6'])
          Then
              Begin
              Writeln;
              Writeln('That was not one of the allowed options. Please try agai:');
              End;
          Until BowlDieResult in ['1'..'6'];
        End;
RollBowlDie := Ord(BowlDieResult)  - Ord('0');
  End;

Upvotes: 1

Views: 5397

Answers (1)

pavium
pavium

Reputation: 15128

So what's the problem?

BowlDieResult is a char but you're assigning a longint to it.

My pascal is a bit rusty, but try

 BowlDieResult := chr(49 + Random(6));

Upvotes: 2

Related Questions