📅  最后修改于: 2023-12-03 15:22:15.445000             🧑  作者: Mango
本文将介绍使用 Perl 编写一个简单的猜数字游戏。
猜数字游戏是一个经典的猜测游戏,玩家需要根据给定的提示,猜测出一组数字。在这个游戏中,玩家需要猜一个四位数,每次猜测后将给出以下提示:
在这个游戏中,玩家需要最少的次数猜测出答案。
我们可以通过 Perl 来实现这个游戏。在这个实现中,我们使用了一个随机函数来生成一个四位数作为答案,然后在每次猜测中对用户的输入进行判断,并给出对应的提示。
以下是代码实现:
#!/usr/bin/perl
use strict;
use warnings;
# 生成答案
my @answer = map {int rand 10} 1 .. 4;
print "猜数字游戏开始!\n";
my $cnt = 0;
while (1) {
# 读取用户输入
print "请输入四个数字:";
chomp (my $guess = <STDIN>);
if ($guess =~ /^(\d)(\d)(\d)(\d)$/) {
my @guess = ($1, $2, $3, $4);
my ($a_count, $b_count) = (0, 0);
# 对用户猜测进行判断
for (my $i = 0; $i < 4; $i++) {
if ($guess[$i] == $answer[$i]) {
$a_count++;
}
elsif (grep {$guess[$i] == $_} @answer) {
$b_count++;
}
}
# 给出猜测的结果
print "$a_count A $b_count B\n";
$cnt++;
# 如果猜测正确,游戏结束
if ($a_count == 4) {
print "恭喜你,猜对了!\n总共猜了 $cnt 次。\n";
last;
}
}
else {
print "无效的输入,请重新输入!\n";
}
}
以下是程序的运行效果:
猜数字游戏开始!
请输入四个数字:1234
1 A 0 B
请输入四个数字:5678
0 A 2 B
请输入四个数字:9012
0 A 0 B
请输入四个数字:4921
4 A 0 B
恭喜你,猜对了!
总共猜了 4 次。
本文介绍了使用 Perl 实现一个简单的猜数字游戏。通过这个实现,我们展示了如何利用 Perl 的各种特性来完成一个小型的程序。如果你有兴趣,可以拓展这个程序,增加更多的功能。