لعبة النرد باستخدام بايثون: تحدي الحظ وتحقيق الأعلى نقاط!
في عالم البرمجة باستخدام لغة Python، يمكننا الغوص في بناء لعبة نرد بسيطة تعتمد على المفاهيم الأساسية للبرمجة وتظهر قدرات لغة Python في التفاعل مع المستخدم. سنقوم ببناء لعبة نرد تقوم بطرح نتائج عشوائية وتسمح للاعب بإلقاء النرد باستخدام إدخال من المستخدم.
لنبدأ بإنشاء ملف Python جديد يحمل اسم “dice_game.py”. سنستخدم وحدة random
لإنشاء أرقام عشوائية تمثل نتائج النرد. إليك الشيفرة المصدرية لبداية اللعبة:
-
فنون التعامل مع الملفات في عالم البرمجة22/01/2024
-
تغيير أسماء الملفات بدفعة Batch19/03/2024
pythonimport random
def roll_dice():
return random.randint(1, 6)
def main():
print("مرحبًا بك في لعبة النرد!")
input("اضغط Enter للقاء النرد...")
result = roll_dice()
print(f"لقد حصلت على: {result}")
if __name__ == "__main__":
main()
تحتوي هذه الشيفرة المصدرية على وظيفتين رئيسيتين: roll_dice
و main
. تقوم roll_dice
بإرجاع رقم عشوائي بين 1 و 6، ممثلاً نتيجة رمي النرد. أما main
، فتقوم بطباعة رسالة ترحيب وتطلب من المستخدم إلقاء النرد عبر الضغط على Enter. بعد ذلك، يتم استخدام roll_dice
للحصول على النتيجة وطباعتها.
لتحسين اللعبة وجعلها تستمر حتى يرغب اللاعب في الخروج، يمكننا تعديل الشيفرة المصدرية كما يلي:
pythonimport random
def roll_dice():
return random.randint(1, 6)
def main():
while True:
print("مرحبًا بك في لعبة النرد!")
input("اضغط Enter للقاء النرد...")
result = roll_dice()
print(f"لقد حصلت على: {result}")
play_again = input("هل ترغب في اللعب مرة أخرى؟ (نعم/لا): ")
if play_again.lower() != 'نعم':
print("شكرًا للعب! إلى اللقاء.")
break
if __name__ == "__main__":
main()
تم إضافة حلقة تكرار while True
لجعل اللعبة تستمر حتى يقرر اللاعب الخروج. يتم طلب إلقاء النرد بعد كل جولة، ثم يتم سؤال اللاعب إذا كان يرغب في اللعب مرة أخرى. في حالة الرفض، يتم إنهاء الحلقة وإظهار رسالة الشكر.
المزيد من المعلومات
بالطبع، دعنا نوسع على اللعبة لجعلها أكثر تعقيدًا وتشويقًا. يمكننا إضافة عناصر مثل تتبع عدد النقاط، تخصيص رسائل الفوز والخسارة، وتضمين قائمة لحفظ أفضل النتائج. إليك نسخة محسنة من اللعبة:
pythonimport random
def roll_dice():
return random.randint(1, 6)
def main():
total_score = 0
high_score = 0
print("مرحبًا بك في لعبة النرد!")
while True:
input("اضغط Enter للقاء النرد...")
result = roll_dice()
print(f"لقد حصلت على: {result}")
if result == 1:
print("للأسف، لقد حصلت على واحد. لا فوز هذه المرة.")
total_score = 0
break
else:
total_score += result
print(f"النقاط الإجمالية: {total_score}")
play_again = input("هل ترغب في اللعب مرة أخرى؟ (نعم/لا): ").lower()
if play_again != 'نعم':
print(f"شكرًا للعب! النقاط الإجمالية النهائية: {total_score}")
if total_score > high_score:
high_score = total_score
print(f"ألف مبروك! لقد سجلت أعلى نقاط حتى الآن: {high_score}")
break
if __name__ == "__main__":
main()
تمت إضافة متغيرين جديدين: total_score
لتتبع إجمالي النقاط في كل جولة، و high_score
لتسجيل أعلى نقاط تم تحقيقها. تم أيضًا تحسين رسائل الخروج بناءً على نتائج النرد. في حالة الحصول على نتيجة 1، يتم إعلام اللاعب بأنه لم يفز في هذه المرة، ويعاود اللعب إلى الصفر. أما في حالة الرفض من اللاعب للعب مرة أخرى، يتم عرض النقاط الإجمالية ويتم التحقق إذا كانت هي الأعلى على الإطلاق.