到目前为止你们都非常乐于助人,所以对你们来说还有另一个烦人的问题!
我有一个基本的单词猜谜游戏,用Pascal编写,用于Delphi 7中的控制台,其中猜测(对或错)存储在一个名为"猜测"的固定数组中,现在我需要做的是测试它们是否有效已经猜到了那封信.我有以下代码......
Write ('Guess a letter: ');
Readln (guess);
Guess := UpCase(Guess);
repeat
for i := 1 to 20 do
begin
if guess = guesses[i] then
begin
guessed := true;
end
else begin
guessed := false;
end;
end;
until (guessed = true) or (i = 20) ;
我的问题是它遵循for循环20次,并且应该结束,因为它是第一个字母并且不在"猜测"数组中,但是不断重复.在它循环for循环20次并且没有发现猜测字母的输入之后,它应该以布尔"猜测"为假退出.
在此先感谢您的帮助!
使用Delphi 7处理控制台应用程序,并遇到了问题.我在第26行遇到错误
str := GetEnumName(TypeInfo (words[3].group),
错误显示"[错误] Project1.dpr(26):TYPEINFO标准函数需要一个类型标识符"如果有人可以帮助这个,那将是一个很大的帮助!
干杯!
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
TypInfo;
type
wordset = Record
word : String;
group : (flavour, colour, place, animal);
end;
Var
words : Array [1..50] of wordset;
str : string;
groups: string;
Begin
words[1].word := 'chocolate';
words[1].group := flavour;
words[2].word := 'vanilla';
words[2].group := flavour;
words[3].word := 'strawberry';
words[3].group := flavour;
str := GetEnumName(TypeInfo (words[3].group), integer(group));
readln;
end.
Run Code Online (Sandbox Code Playgroud)