我正在Pascal为大学的计算机科学课创建一个石头剪刀游戏。
我有代码,我输入0,1或2来表示摇滚,纸张或剪刀,这是完全随机的。
我想知道是否有办法让字母r,p,s随机代表摇滚,纸张或剪刀,而不是使用数字。
我试图用r,p和s随机化这个游戏。随机"命令"只适用于数字,如果是的话,他们是一个随机化字母的命令吗?)。
感谢您抽出宝贵时间阅读本文!如果您有任何疑问,请随时问我,谢谢!
PS。我不知道你是否知道我在说什么,但是我试图在凌晨5点发布代码超过半小时但它仍然没有正确格式化并且不会让我发布,对不起我&# 39;对此我不熟悉。
答案 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.
也许它可以推广到泛型函数,但我并不熟悉那些。