我一直得到“98/39 comp1_~1.1pas 错误:不兼容的类型:得到“LONGINT”预期“CHAR”。这是关于第6行的。请帮助。
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;
答案 0 :(得分:2)
那么问题是什么?
BowlDieResult
是char
,但您要为其分配longint
。
我的pascal有点生疏,但试试
BowlDieResult := chr(49 + Random(6));