البرمجة

تعلم برمجة حجر ورقة مقص باستخدام Python

أهلاً بك في رحلتك التعلمية في عالم برمجة Python! إن فهم أساسيات هذه اللغة البرمجية يعتبر خطوة مهمة في رحلة تعلم البرمجة. سأقدم لك تفسيرًا شاملاً للشيفرة التي كتبتها للعبة “حجر ورقة مقص” بلغة Python، وسأقدم بعض النصائح للتحسين وتصحيح الأخطاء.

أولاً وقبل كل شيء، يجب عليك معالجة بعض الأخطاء في الشيفرة لجعل اللعبة تعمل بشكل صحيح. على سبيل المثال، يبدو أن هناك خطأ في دالة result() حيث قمت باستخدام rules(player) بدلاً من rules[player]. يجب عليك تصحيح ذلك لضمان عمل الشيفرة بشكل صحيح.

بالإضافة إلى ذلك، لدي اقتراح لتحسين هيكل الشيفرة. يمكنك تقسيم الشيفرة إلى وحدات أصغر لتحسين قابلية الصيانة والقراءة. على سبيل المثال، يمكنك فصل التفاعل مع المستخدم والجزء الخاص بتشغيل اللعبة إلى دوال منفصلة.

لنقم بتحسين بعض الجوانب في الشيفرة:

python
#!/usr/bin/env python2 import random rock = 1 paper = 2 scissors = 3 names = {rock: "rock", paper: "Paper", scissors: "Scissors"} rules = {rock: scissors, paper: rock, scissors: paper} player_score = 0 computer_score = 0 def move(): while True: print() player = raw_input("Rock = 1 paper = 2 scissor = 3") try: player = int(player) if player in (1, 2, 3): return player except ValueError: pass print("Enter number") def result(player, computer): print("Computer threw {0}!".format(names[computer])) global player_score, computer_score if player == computer: print("Tie") else: if rules[player] == computer: print("You win") player_score += 1 else: print("Computer wins") computer_score += 1 def play_again(): answer = raw_input("Play Again (y/n): ") return answer.lower() == "y" def scores(): global player_score, computer_score print("Player", player_score) print("Computer", computer_score) def start(): print("Start") while game(): pass scores() def game(): player = move() computer = random.randint(1, 3) result(player, computer) return play_again() if __name__ == "__main__": start()

قمت بتصحيح بعض الأخطاء الصغيرة وقمت بإعادة تنظيم الشيفرة لتكون أكثر وضوحًا وسهولة قراءة. أيضاً، قمت بإضافة تحسين في دالة play_again() لتجعلها تعيد قيمة بشكل صحيح وأفضل.

أنصحك دائماً بتقسيم الشيفرة إلى وحدات صغيرة وواضحة، واستخدام تعليقات لشرح الجزء العملي للشيفرة. هذا سيساعد في فهم الشيفرة وصيانتها بشكل أفضل في المستقبل. استمر في تعلم Python واستمتع ببرمجة الألعاب!

المزيد من المعلومات

بالتأكيد، سنقوم بتوسيع الموضوع وإضافة مزيد من المعلومات حول شيفرتك وعمل البرنامج.

أولاً وقبل كل شيء، يمكننا التحدث عن كيفية عمل اللعبة “حجر ورقة مقص”. في الشيفرة، يقوم اللاعب بادخال اختياره (حجر، ورقة، أو مقص)، بينما يقوم الكمبيوتر بتوليد اختيار عشوائي باستخدام دالة `random.randint(1, 3)`.

ثم يتم التحقق من النتيجة باستخدام دالة `result()`، حيث يتم مقارنة اختيار اللاعب بالاختيار العشوائي الذي قام به الكمبيوتر. إذا كانت هناك تطابق، فإن النتيجة تكون تعادلاً، وإلا يتم تحديد الفائز بناءً على القواعد المعرفة مسبقًا.

يمكنك تحسين البرنامج بإضافة مزيد من الميزات، مثل عرض الاختيارات المتاحة بشكل أفضل، أو إظهار النتائج بشكل أكثر تفصيلًا. يمكنك أيضًا استخدام دوال لتنظيم الشيفرة بشكل أفضل، على سبيل المثال، دالة للعرض ودالة للتحقق من الفائز.

علاوة على ذلك، يمكنك التحسين عن طريق استخدام دوال أكثر أهمية في Python 3 بدلاً من بعض الوظائف التي تستخدم في Python 2، مثل استخدام `input()` بدلاً من `raw_input()` واستخدام `print()` كدالة وليس كتعليمة.

من الجيد أن تستمر في التعلم وتحسين مهاراتك في Python. يمكنك أيضًا استكشاف مفاهيم جديدة مثل الدوال، والهياكل التحكم، والتعامل مع الأخطاء لتعزيز فهمك للغة البرمجة وقدرتك على الكتابة الفعّالة.

إذا كان لديك أي أسئلة إضافية أو إذا كنت بحاجة إلى مساعدة في شيء معين، فلا تتردد في طرح الأسئلة. استمتع برحلتك في عالم البرمجة!

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!