سيساعدك هذا البرنامج التعليمي البسيط للعبة على ممارسة أساسيات برمجة بايثون.
يعد إنشاء لعبة "Rock ، Paper ، Scissors" في Python طريقة رائعة لتحسين مهارات البرمجة لديك. يمكنك إنشاء اللعبة بنص واحد من Python ، وتشغيلها في سطر الأوامر.
تبدأ اللعبة بسؤال اللاعب عن اختياره: "روك" أو "ورق" أو "مقص". ثم ينتظر منهم إدخال ردهم. يمكنك لعب اللعبة ضد لاعب "كمبيوتر" ، والذي سيحدد حركته تلقائيًا.
يمكن أن تتضمن اللعبة أيضًا العديد من الجولات. لذا حتى إذا خسرت الجولة الأولى ، فلا يزال بإمكانك محاولة الفوز باثنين من أصل ثلاثة!
كيفية إعداد اللعبة واسأل اللاعب عن حركته
عندما تبدأ اللعبة ، يجب أن يطلب برنامج Python من اللاعب إدخال "روك" أو "ورقة" أو "مقص" ، وأن يأخذ رد اللاعب. لإعداد لعبة جديدة ، ابدأ بإنشاء ملف Python جديد بامتداد .py.
الكود الكامل لهذا البرنامج التعليمي متاح في مستودع جيثب.
- قم بإنشاء ملف جديد يسمى RockPaperScissors.py.
- افتح ملف Python الجديد باستخدام أي محرر نصوص ، مثل Notepad ++ أو Visual Studio Code.
- في الجزء العلوي من الملف ، قم باستيراد الوحدة العشوائية. ستستخدم هذا لاحقًا في اللعبة لتحديد حركة بشكل عشوائي لدور الكمبيوتر.
يستورد عشوائي
- قدم رسالة إلى اللاعب ، تطلب منه إدخال حجر أو ورق أو مقص.
userChoice = الإدخال ("حجر ، ورق ، أم مقص؟ ").أدنى()
- قم بتهيئة مصفوفة تسمى "moveOptions" تقوم بتخزين قائمة من الحركات المتاحة التي يمكن أن تلعبها أنت أو الكمبيوتر.
خيارات moveOptions = ['صخر', 'ورق', 'مقص']
- عندما يقوم اللاعب بإدخال إدخال ، تحقق من صحته للتأكد من أنه أحد الحركات المتاحة. بمجرد أن يدخل اللاعب نقلة صحيحة ، اطبع رسالة تأكيد.
بينما (اختيار المستخدم لا في خيارات التحريك):
userChoice = الإدخال ("اختيار غير صالح. يجب أن يكون حجرًا أو ورقًا أو مقصًا: ").أدنى()
مطبعة("")
مطبعة(و "اخترت {userChoice}.")
كيف تأخذ المنعطفات مع الكمبيوتر ومقارنة التحركات
بمجرد إدخال حركتك ، سيأخذ الكمبيوتر دوره عن طريق التحديد العشوائي إما "الصخور" أو "الورق" أو "المقص". سيتعين على اللعبة بعد ذلك مقارنة حركتك بحركة الكمبيوتر لتحديد الفائز.
- استخدم الوحدة العشوائية لجعل الكمبيوتر يختار عشوائيًا من قائمة الحركات المتاحة.
computerChoice = random.choice (moveOptions)
مطبعة(و "اختار الكمبيوتر {computerChoice}.") - ستحتاج إلى مقارنة حركتك بحركة الكمبيوتر لتحديد الفائز. يمكنك القيام بذلك عن طريق إنشاء قاموس جديد. يحتوي هذا القاموس على كل نقلة (على سبيل المثال ، "روك") ، وما هي الحركة التي يفوز بها أو يخسرها (على سبيل المثال ، "روك" يدق "مقص" ويخسر "ورقة").
يتحرك = {
'صخر': { "يدق": 'مقص', "يخسر إلى": 'ورق' },
'مقص': { "يدق": 'ورق', "يخسر إلى": 'صخر' },
'ورق': { "يدق": 'صخر', "يخسر إلى": 'مقص' },
} -
استخدم بيان إذا بايثون للتحقق مما إذا كانت حركتك وحركة الكمبيوتر تؤدي إلى التعادل. خلاف ذلك ، استخدم قاموس التحركات لمقارنة انتقال اللاعب إلى حركة الكمبيوتر.
على سبيل المثال ، إذا اخترت "موسيقى الروك" ، فستكون قيمة الحركات [userChoice] ['beats'] هي "المقص". إذا كان اختيار الكمبيوتر هو "المقص" ، فهذا يعني أن حركتك تتفوق على حركتهم.إذا كان userChoice == computerChoice:
مطبعة(f "اخترت أنت والكمبيوتر {userChoice}. إنها ربطة عنق! ")
آخر:
لو (يتحرك [اختيار المستخدم] ["يدق"] == اختيار الكمبيوتر):
مطبعة(F"{userChoice} يدق {computerChoice}. فزت!")
لو (يتحرك [اختيار المستخدم] ["يخسر إلى"] == اختيار الكمبيوتر):
مطبعة(F"{userChoice} يخسر {computerChoice}. الكمبيوتر يفوز! ")
كيفية الحفاظ على النتيجة بين اللاعب والكمبيوتر بين جولات متعددة
يمكنك أيضًا إضافة جولات إضافية ، حيث تقوم أنت والكمبيوتر بثلاث أدوار لكل منهما.
بمجرد أن تختار أنت والكمبيوتر إما حجرًا أو ورقًا أو مقصًا ، ستطلب منك اللعبة مرة أخرى وتتبع نتائجك. تزداد نتيجة اللاعب بناءً على من ربح تلك الجولة بالذات.
- يمثل الكود الحالي جولة واحدة من الأدوار يقوم بها كل من اللاعب والكمبيوتر. أضف كل الكود الحالي باستثناء عبارة الاستيراد داخل وظيفة turn () الجديدة. يمكنك أيضًا تغيير رسائل الإخراج وفقًا لذلك ، لتقول "لقد ربحت هذه الجولة" بدلاً من "لقد فزت":
defدور():
userChoice = الإدخال ("حجر ، ورق ، أم مقص؟ ").أدنى()خيارات moveOptions = ['صخر', 'ورق', 'مقص']
بينما (اختيار المستخدم لا في خيارات التحريك):
userChoice = الإدخال ("اختيار غير صالح. يجب أن يكون حجرًا أو ورقًا أو مقصًا: ").أدنى()مطبعة("")
مطبعة(و "اخترت {userChoice}.")computerChoice = random.choice (moveOptions)
مطبعة(و "اختار الكمبيوتر {computerChoice}.")يتحرك = {
'صخر': { "يدق": 'مقص', "يخسر إلى": 'ورق' },
'مقص': { "يدق": 'ورق', "يخسر إلى": 'صخر' },
'ورق': { "يدق": 'صخر', "يخسر إلى": 'مقص' },
}إذا كان userChoice == computerChoice:
مطبعة(f "اخترت أنت والكمبيوتر {userChoice}. إنها ربطة عنق! ")
آخر:
لو (يتحرك [اختيار المستخدم] ["يدق"] == اختيار الكمبيوتر):
مطبعة(F"{userChoice} يدق {computerChoice}. لقد ربحت هذه الجولة! ")لو (يتحرك [اختيار المستخدم] ["يخسر إلى"] == اختيار الكمبيوتر):
مطبعة(F"{userChoice} يخسر {computerChoice}. الكمبيوتر يفوز! ") - يأخذ اللاعب والكمبيوتر ثلاثة أدوار لكل منهما. أضف متغيرًا عامًا يسمى "turn" في أعلى الملف.
يتحول = 3
- بعد وظيفة المنعطف () ، استخدم Python for loop لتكرار الجولة ثلاث مرات. في بداية كل جولة ، اطبع الرقم الدائري. اتصل بوظيفة turn () لتطلب من اللاعب والكمبيوتر القيام بحركاتهما لتلك الجولة.
لأني في النطاق (المنعطفات):
مطبعة("")
مطبعة(و "الجولة {أنا +1}: ")
دور() - لتتبع الفائز في كل جولة ، أضف متغير النتيجة لكل لاعب في أعلى الملف. ستقوم بتعيين قيم لهذه المتغيرات داخل وظيفة turn () ، لذا تأكد من استخدامها كمتغيرات عامة.
computerScore = 0
playerScore = 0defدور():
عالمي computerScore ، playerScore - داخل وظيفة turn () ، بمجرد قيام كل من اللاعب والكمبيوتر بنقلتهما ، أضف نقطة إلى درجة الفائز. قم بتعديل عبارة if لزيادة قيمة متغير "playerScore" أو "computerScore".
لو (يتحرك [اختيار المستخدم] ["يدق"] == اختيار الكمبيوتر):
مطبعة(F"{userChoice} يدق {computerChoice}. لقد ربحت هذه الجولة! ")
playerScore + = 1لو (يتحرك [اختيار المستخدم] ["يخسر إلى"] == اختيار الكمبيوتر):
مطبعة(F"{userChoice} يخسر {computerChoice}. الكمبيوتر يفوز! ")
computerScore + = 1 - في نهاية وظيفة المنعطف () ، اطبع تحديثًا لإجمالي الدرجات لكل لاعب.
# اطبع تحديثًا لإجمالي الدرجات بعد الجولة
مطبعة("")
مطبعة(و "SCOREBOARD | درجة اللاعب: {playerScore} | درجة الكمبيوتر: {computerScore}") - في نهاية اللعبة ، وبعد حلقة for التي تكرر دور اللاعب والكمبيوتر ، اطبع الفائز النهائي.
مطبعة("")
إذا (computerScore> playerScore):
مطبعة(f "يفوز الكمبيوتر بـ {computerScore} نقاط!")
أليف (playerScore> computerScore):
مطبعة(و "أنت تربح مع {playerScore} نقاط!")
آخر:
مطبعة(f "إنها ربطة عنق! كلاكما يفوز مع {playerScore} نقاط!")
كيف تدير اللعبة
لتشغيل اللعبة ، قم بتشغيل برنامج Python النصي باستخدام Terminal أو موجه الأوامر. أدخل حركتك وانتظر حتى يقوم الكمبيوتر بعملهم. بمجرد الانتهاء من ثلاث جولات ، سيعرض البرنامج الفائز.
- افتح موجه الأوامر أو المحطة الطرفية ، وانتقل إلى المجلد حيث تقوم بتخزين ملف Python الخاص بك.
- استخدم الأمر python لتشغيل البرنامج النصي:
الثعبانقرعة.السنة التحضيرية
- العب اللعبة عن طريق إدخال "موسيقى الروك" أو "الورق" أو "المقص".
تعلم لغة Python من خلال إنشاء الألعاب
يعد إنشاء ألعاب بسيطة مثل لعبة "Rock، Paper، Scissors" طريقة رائعة للتعرف بشكل أكبر على مفاهيم البرمجة. هناك العديد من الألعاب الممتعة الأخرى التي يمكنك إجراؤها باستخدام Python ، مثل لعبة المغامرات النصية.