پروژه: بازی حدس عدد
بازی حدس با while، شرطها و راهنمایی گرم/سرد.
پروژه ۲: بازی حدس عدد 🎯
کد کامل
sub temperature {
my ($guess, $secret) = @_;
my $diff = abs($guess - $secret);
return "درست! 🎉" if $diff == 0;
return "🔥 آتش!" if $diff <= 3;
return "🌡 گرم" if $diff <= 10;
return "😐 ولرم" if $diff <= 25;
return "❄ سرد";
}
# شبیهسازی بازیکن
my $secret = 42;
my @guesses = (70, 35, 50, 44, 42);
my $tries = 0;
my $won = 0;
foreach my $guess (@guesses) {
$tries++;
my $feedback = temperature($guess, $secret);
say "تلاش $tries: $guess → $feedback";
if ($guess == $secret) {
$won = 1;
last; { برد! }
}
say " راهنما: " . ($guess > $secret ? "کمتر برو ⬇" : "بیشتر برو ⬆");
}
if ($won) {
say "🏆 بردی با $tries تلاش!";
} else {
say "😄 باختی! عدد $secret بود.";
}
مفاهیم بهکاررفته
| مفهوم | کجا؟ |
|---|---|
| sub با برگشت رشته | temperature |
| abs | فاصله از عدد مخفی |
| last | توقف بعد از برد |
| سهتایی ?: | راهنمای بیشتر/کمتر |
چالشهای تکمیلی
- محدودیت تلاش (مثلاً ۷ بار)
- سطح دشواری: محدوده ۵۰/۱۰۰/۵۰۰
- آمار بازی: بهترین رکورد
این مبحث بخشی از دوره آموزش کامل پرل است.