你能在Pascal中随机写信吗?

时间:2018-02-12 09:58:44

标签: string random numbers pascal letters

我正在Pascal为大学的计算机科学课创建一个石头剪刀游戏。

我有代码,我输入0,1或2来表示摇滚,纸张或剪刀,这是完全随机的。

我想知道是否有办法让字母r,p,s随机代表摇滚,纸张或剪刀,而不是使用数字。

我试图用r,p和s随机化这个游戏。随机"命令"只适用于数字,如果是的话,他们是一个随机化字母的命令吗?)。

感谢您抽出宝贵时间阅读本文!如果您有任何疑问,请随时问我,谢谢!

PS。我不知道你是否知道我在说什么,但是我试图在凌晨5点发布代码超过半小时但它仍然没有正确格式化并且不会让我发布,对不起我&# 39;对此我不熟悉。

1 个答案:

答案 0 :(得分:0)

您可以定义枚举,然后使用HIGH()获取枚举中的最高值。然后使用ORD转换为整数,并添加一个,以获取枚举中的元素数。随机调用,然后转回枚举类型。

Free Pascal允许将枚举值写入控制台,如图所示,这可能不适用于例如Delphi的。

Type 
    TRPSType = (Rock,Paper,Scissors);

var i : integer;

begin  
 randomize;
  for i:=0 to 10 do
    writeln(TRPSType(random(ord(high(TRPSType))+1)));
end.

也许它可以推广到泛型函数,但我并不熟悉那些。