پروژه: بازی حدس عدد
پروژه بازی حدس عدد با حلقه repeat، شرطها، شمارش تلاش و راهنمایی گرم/سرد.
پروژه ۲: بازی حدس عدد 🎯
کلاسیکترین بازی برنامهنویسی! کامپیوتر عددی انتخاب میکند، شما حدس میزنید و برنامه راهنمایی میدهد.
منطق بازی
- عدد مخفی بین ۱ تا ۱۰۰
- بازیکن حدس میزند
- برنامه میگوید بزرگتر/کوچکتر
- تا حدس درست — با شمارش تلاشها
کد کامل
program GuessGame;
const
MaxNumber = 100;
var
secret, guess, tries: integer;
gameOver: boolean;
begin
{ در برنامه واقعی: randomize و random(MaxNumber) + 1 }
secret := 42;
{ شبیهسازی حدسهای بازیکن }
tries := 0;
gameOver := false;
repeat
{ اینجا در بازی واقعی readln(guess) است }
tries := tries + 1;
{ شبیهسازی: هر بار نزدیکتر میشود }
guess := 60 - tries * 5;
if guess = secret then
begin
writeln('🎉 درست! عدد ', secret, ' بود');
writeln('تعداد تلاش: ', tries);
gameOver := true;
end
else if guess > secret then
writeln(guess, ' خیلی بزرگ است ⬇')
else
writeln(guess, ' خیلی کوچک است ⬆');
until gameOver or (tries >= 10);
if not gameOver then
writeln('😄 باخت! عدد ', secret, ' بود');
end.
مفاهیم بهکاررفته
| مفهوم | کجا؟ |
|---|---|
| repeat...until | حلقه اصلی بازی — حداقل یک حدس |
| if/else if | راهنمایی بزرگ/کوچک/درست |
| const | MaxNumber — تغییر آسان محدوده |
| boolean | پرچم پایان بازی |
| شمارنده | تعداد تلاشها |
چالشهای تکمیلی
- محدودیت تلاش (مثلاً ۷ بار)
- راهنمایی «گرم/سرد» — فاصله از عدد مخفی
- سطح دشواری: محدوده ۵۰/۱۰۰/۵۰۰
- دو نفره: یکی عدد بدهد، دیگری حدس بزند
نسخه گرم/سرد
function Temperature(guess, secret: integer): string;
var
diff: integer;
begin
diff := abs(guess - secret);
if diff = 0 then Result := 'درست!'
else if diff <= 3 then Result := '🔥 آتش!'
else if diff <= 10 then Result := '🌡 گرم'
else if diff <= 25 then Result := '😐 ولرم'
else Result := '❄ سرد';
end;
چه یاد گرفتیم؟
- الگوی حلقه بازی با repeat
- پرچم boolean برای کنترل پایان
- شمارنده و محدودیت
- ساخت تابع راهنما
این مبحث بخشی از دوره آموزش کامل پاسکال است.