القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

Battlefield2 و World of Tanks و The Sims4 و Freedom Force هي بعض من آلاف الألعاب الرائعة التي تم تطويرها باستخدام Python.

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

ما هي لعبة الألوان؟

في لعبة Color Game ، يعرض البرنامج اسم اللون على الشاشة ولكن بلون خط مختلف. على سبيل المثال ، يعرض الكلمة أصفر باستخدام لون خط أحمر ويجب على المشغل كتابة لون النص.

يؤدي عدم تطابق المعلومات مع المؤقت إلى حدوث الكثير من الارتباك ويخلق تجربة لعب مسلية.

وحدة Tkinter والعشوائية

لبناء لعبة الألوان ، سوف تستخدم ملف tkinter وحدة و عشوائي وحدة. Tkinter عبارة عن وحدة واجهة مستخدم رسومية بسيطة ومتعددة المنصات وسهلة الاستخدام يمكنك استخدامها لإنشاء واجهات مستخدم رسومية بسرعة.

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

instagram viewer

نقطة تثبيت tkinter

الوحدة العشوائية عبارة عن مكتبة مضمنة يمكنك من خلالها إنشاء اختيارات عشوائية. باستخدام هذه الوحدة ، يمكنك تطوير ألعاب الكريكيت اليدوية، ألعاب تخمين الأرقام ، ألعاب سحرية ثماني كرات ، مولدات كلمات المرور العشوائية، و أكثر من ذلك بكثير.

كيفية بناء لعبة ملونة باستخدام بايثون

الكود المصدري للعبة Color Game متاح في ملف مستودع جيثب وهو مجاني لك لاستخدامه بموجب ترخيص MIT.

ابدأ باستيراد tkinter والوحدة العشوائية. قم بتخزين اسم الألوان كقائمة سلاسل وتهيئة ملف نتيجة متغير إلى 0 و الوقت المتبقي حتى 60.

من tkinter يستورد *
يستورد عشوائي

الألوان = ['أحمر', 'أخضر', 'أزرق', 'أسود', 'لون القرنفل', 'أبيض', 'أرجواني', 'أصفر', 'بني']
النتيجة = 0
الوقت_البقي = 60

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

defتبدأ اللعبة(حدث):
لو الوقت المتبقي == 60:
العد التنازلي()
nextColour ()

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

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

defالتالي():
عالمي نتيجة
عالمي الوقت المتبقي
لو الوقت المتبقي> 0:
e.focus_set ()
لو e.get (). lower () == ألوان [1].أدنى():
النتيجة + = 1
e.delete (0، نهاية)

استخدم ال خلط() وظيفة لإعادة ترتيب العناصر في القائمة وعرض تسمية اللون مع النص كاللون الأول في القائمة ولون الخط باعتباره اللون الثاني في القائمة. استخدم ال التكوين () تعمل على النتيجة (التي تطلب الضغط على Enter) لعرض النتيجة أثناء الجلسة.

 عشوائي. عشوائي (ألوان)
label.config (fg = str (ألوان [1]) النص = str (الألوان [0]))
ScoreLabel.config (النص ="نتيجة: " + str (النتيجة))

تحديد وظيفة تسمى العد التنازلي() يشير إلى متغير الوقت المتبقي وينقصه بمقدار واحد. استخدم ال التكوين () تعمل على الوقت لعرض الوقت المتبقي على الشاشة و بعد() وظيفة لرد الاتصال العد التنازلي تعمل بعد تأخير قدره 1000 مللي ثانية أو ثانية واحدة.

defالعد التنازلي():
عالمي الوقت المتبقي
لو الوقت المتبقي> 0:
الوقت المتبقي - = 1
timeLabel.config (نص ="الوقت المتبقي: " + str (الوقت_البقي))
timeLabel.after (1000، العد التنازلي)

قم بتهيئة مثيل tkinter وعرض نافذة الجذر. عيّن العنوان والأبعاد بالبكسل ولون الخلفية للنافذة.

الجذر = Tk ()
الجذر. العنوان (لعبة Color Game With a Twist)
هندسة الجذر ("750 × 450")
root.configure (الخلفية ='البرتقالي')

استخدم ال ملصق القطعة لتعليم اللاعب تعليمات اللعبة. يقبل النافذة الأصلية التي ستضعها فيها. يجب أن يعرض النص نوع الخط وحجمه مع لون خلفية التسمية. استخدم ال علية() تعمل على تنظيم عنصر واجهة المستخدم في كتل قبل وضعها في عنصر واجهة المستخدم الأصلي.

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

التعليمات = التسمية (الجذر ، النص ="اكتب لون الكلمة وليس النص ؛)"، الخط = ("اريال", 24) ، bg ="البرتقالي")
تعليمات. حزمة ()
ScoreLabel = Label (الجذر ، النص ="اضغط على Enter للبدء"، الخط = ("اريال", 24) ، bg ="البرتقالي")
ScoreLabel.pack ()
timeLabel = التسمية (الجذر ، النص ="الوقت المتبقي: " + str (time_remaining) ، الخط = ("اريال", 24) ، bg ="البرتقالي")
timeLabel.pack ()
التسمية = التسمية (الجذر ، الخط = ("اريال", 90) ، bg ="البرتقالي")

كما ذكرنا سابقًا ، استخدم أداة الإدخال لالتقاط إجابة اللاعب. خطوة مهمة هي ربط مفتاح Enter بحدث في نافذة tkinter بحيث عندما يضغط اللاعب عليه ، سيتم تنفيذ وظيفة معينة.

لتحقيق ذلك ، تقوم بتمرير مفتاح و startGame () تعمل كمعلمات لملف ربط() وظيفة. بالإضافة إلى ذلك ، استخدم ملف علية() و مجموعة التركيز () طرق للتنظيم والتركيز على تسمية الإدخال بمجرد الضغط على مفتاح Enter.

e = الإدخال (الخط =20)
root.bind (''، تبدأ اللعبة)
e.pack ()
e.focus_set ()

ال mainloop () تخبر الوظيفة Python بتشغيل حلقة حدث tkinter والاستماع إلى الأحداث (مثل الضغط على الأزرار) حتى تغلق النافذة.

root.mainloop ()

ضع كل الكود معًا ، وستحصل على لعبة Color Game مع لمسة جاهزة للعب في متناول يدك.

إخراج لعبة الألوان باستخدام بايثون

عند تشغيل برنامج Color Game ، تظهر نافذة على الشاشة. عند الضغط على Enter ، يبدأ العد التنازلي ، ويجب على اللاعب أن يبدأ في كتابة لون الكلمة. لكل إجابة صحيحة ، تزداد الدرجة بمقدار واحد ، وفي النهاية ، تعرض النتيجة النهائية.

تطوير الألعاب باستخدام بايثون

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

بالإضافة إلى ذلك ، يتمتع المبدعون بمجموعة واسعة من الخيارات عندما يتعلق الأمر بجلب الأفكار إلى الحياة ، وذلك بفضل منصات تطوير الألعاب المختلفة المتاحة في السوق ، مثل PyGame أو Kivy.