随机数生成在 Pascal 中无法正常工作

Random number generation not working like it should in Pascal

我正在尝试制作一个战斗系统,玩家每次都必须猜测一个随机数并希望他能获胜。问题是随机数只生成一次。为什么?

unit game;
interface
uses a,b,reason,crt;
implementation
var health,ehealth: integer;
var a2:String;
var rand3,guess:Integer;
begin
  ClrScr;
  ehealth:=5;
  health:=10;
  Repeat
    Randomize;
    rand3:=Random (1);
    writeln('YOUR HP:',health);
    writeln('ENEMY HP:',ehealth);
    write('Guess the number (1 or 2):');
    Readln(guess);
    if (rand3+1) = guess then
    ehealth:=ehealth-1
    else
    health:=health-1;
    ClrScr;
  until (ehealth = 0) or (health = 0);
  writeln('GAME OVER!');
  readln;
    end;

如果我记得的话,pascal 中的随机函数 return 是一个介于 0 和 (N-1) 之间的数字。所以如果你想要一个随机数 0 或 1,你需要调用 Random(2)。在开始之后也移动随机化。