我是一个完全 perl 的菜鸟,希望这个问题不会太愚蠢!
我正在尝试编写一个刽子手风格的游戏并让它全部工作,除了由于某种原因 STDIN 似乎在 while 循环的其余部分之前执行 - 所以我被迫在打印任何内容之前输入我所有的字母猜测出去
while()
{
foreach $letter (@currentword)
{
print "$letter";
}
print "\n";
print "Guess a letter: \n";
chomp($guess = <STDIN>);
$guess=lc(substr($guess,0,1));
if ( $randword =~ /($guess)+/i )
{
print "Correct!\n";
for ($index=0; $index<$wordlength; $index++)
{
if ($wordarray[$index] eq $guess)
{
$currentword[$index]=$wordarray[$index];
}
}
}
else
{
print "Incorrect! try again\n";
}
$guesses -= 1;
last if $guesses < 1;
$finalword = join("",@currentword);
last if ($finalword eq $randword);
}