3

我想做 2 个骰子,但我不想让它选择 0,这是我的代码:

procedure TForm1.Button1Click(Sender: TObject);
var x1,x2:integer; text1,text2:string;
begin
randomize;
x1:=random(7);
x2:=random(7);

text1:=inttostr(x1);
text2:=inttostr(x2);

label1.Caption:=text1;
label2.Caption:=text2;

end;
end.

我应该怎么做才能让它从 1 到 6 中选择,而不包括 0?谢谢

4

2 回答 2

18
x1:=random(6) + 1;

应该做的伎俩,它现在永远不会返回零。

于 2013-04-30T21:42:15.533 回答
1

使用RandomRange

uses Math;

begin
  x1 := RandomRange(1, 7);

(这在内部与克里斯的回答完全相同......)

于 2013-05-01T20:07:05.770 回答