جدول المحتويات:
- الخطوة 1: نظرة عامة واسعة
- الخطوة 2: المتطلبات الأساسية
- الخطوة 3: "Hello World" في Pygame Zero
- الخطوة 4: رسم الممثل الخاص بك
- الخطوة 5: السيطرة على الممثل
- الخطوة السادسة: بناء المسار
- الخطوة 7: تحطم السيارة
- الخطوة 8: قم بتشغيل اللعبة على Raspberry Pi
- الخطوة 9: هل فزت؟
- الخطوة 10: الخاتمة
فيديو: قم بإنشاء أول لعبة سباق لك: 10 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
إذا كنت قد أجريت بعض ترميز Python وأردت كتابة لعبة قد تكون لديك عبر Pygame Zero.
في هذا البرنامج التعليمي سنكتب لعبة سباق بسيطة.
الخطوة 1: نظرة عامة واسعة
تضيف وحدة Pygame العديد من الوظائف التي تساعدك على كتابة الألعاب في Python.
يذهب Pygame Zero خطوة أخرى إلى الأمام للسماح لك بتخطي العملية المرهقة المتمثلة في إنشاء كل حلقات اللعبة هذه وإعداد هيكل البرنامج الخاص بك.
يعد Pygame Zero خيارًا رائعًا لأي شخص يريد بدء كتابة ألعاب الكمبيوتر على Raspberry Pi أو أي جهاز Linux.
انك سوف تحتاج:
- الجهاز الذي يعمل بنظام التشغيل Linux OS
- محرر لكتابة برنامج بيثون
- لوحة المفاتيح
- بعض الخيال
الملفات:
github.com/AhmNouira/-Racing-Game
الخطوة 2: المتطلبات الأساسية
أولاً ، سأستخدم الكمبيوتر المحمول الخاص بي مع نظام التشغيل Ubuntu 18.04. ثم سنقوم بتشغيل اللعبة على Raspberry Pi في الخطوة 8.
قبل متابعة هذا البرنامج التعليمي ، تأكد من تسجيل الدخول كمستخدم لديه امتيازات sudo.
تركيب الأنابيب لبايثون 3
ابدأ بتحديث قائمة الحزم باستخدام الأمر التالي:
sudo apt التحديث
استخدم الأمر التالي لتثبيت pip لـ Python 3:
sudo apt install python3-pip
تحقق من التثبيت عن طريق التحقق من إصدار النقطة:
pip3 - الإصدار
تثبيت Pygame Zero
pip3 تثبيت pgzero - المستخدم
سيؤدي هذا أيضًا إلى تثبيت Pygame. حزم Pygame المجمعة مسبقًا
لذا فإن الخطوة الأولى في رحلتك ستكون فتح Python 3 IDLE أو محرر البايثون المفضل لديك.
الخطوة 3: "Hello World" في Pygame Zero
بشكل افتراضي ، تفتح نافذة Pygame Zero بحجم 800 بكسل عرضًا و 600 بكسل ارتفاعًا. يمكنك التخصيص
حجم نافذتك ، هناك متغيرين محددين مسبقًا يمكنك تعيينهما ، إذا قمت بتضمين WIDTH = 700 HIGH = 800.
يوفر Pygame zero وظائف محددة مسبقًا للتعامل مع حلقة اللعبة التي تؤدي عادةً:
وظيفة السحب ()
يمكننا كتابة هذه الوظيفة في برنامجنا بنفس الطريقة التي نحدد بها عادة وظيفة في بايثون.
تتبع Pygame Zero نفس قواعد التنسيق مثل Python ، لذلك ستحتاج إلى الحرص على وضع مسافة بادئة للكود الخاص بك بشكل صحيح.
#! / usr / bin / python3 # اضبط المترجم
استيراد pgzrun # استيراد وحدة pgzero WIDTH = 700 # عرض النافذة HEIGHT = 800 # ارتفاع النافذة def draw (): # pygame zero draw function screen.fill ((128، 128، 128)) # ملء الشاشة بـ RGB شاشة ملونة.draw.text ("Hello World!"، (270، 320)، # رسم "Hello World!" color = (255، 255، 255)، Fontize = 40) pgzrun.go ()
بادئ ذي بدء ، تحتاج إلى حفظ ملف البرنامج الخاص بك وتسميته.
ثم افتح نافذة طرفية ، وانتقل إلى موقع الملف واكتب:
./.السنة التحضيرية
الخطوة 4: رسم الممثل الخاص بك
الآن بعد أن أصبح لدينا مجموعة المسرح الخاصة بنا ، يمكننا إنشاء الممثلين لدينا ، فهم كائنات ديناميكية في Pygame Zero.
يمكننا تحميل ممثل عن طريق كتابة في الجزء العلوي من البرنامج:
car = Actor ("racecar")
في Pygame Zero ، يجب تخزين صورنا في دليل يسمى الصور بجوار ملف برنامجنا ، لذلك سيبحث ممثلنا عن ملف صورة في مجلد الصور يسمى racecar.png. قد يكون ملف GIF أو-j.webp
يمكنك ضبط موضعه على الشاشة بكتابة:
car.pos = 350 ، 560
بعد ذلك في دالة draw () الخاصة بنا ، يمكننا الكتابة
car.draw () # ارسم سيارة السباق الخاصة بنا في موضعها المحدد
سيكون البرنامج الكامل كالتالي:
#! / usr / bin / python3
استيراد pgzrun WIDTH = 700 # عرض النافذة HEIGHT = 800 # ارتفاع نافذة السيارة = الممثل ("racecar") car.pos = 350 ، 560 def draw (): # pygame zero draw function screen.fill ((128، 128 ، 128)) # ملء الشاشة برسم السيارة () pgzrun.go ()
اختبر البرنامج الخاص بك للتأكد من أن هذا يعمل.
الخطوة 5: السيطرة على الممثل
بمجرد رسم سيارتنا على الشاشة ، فإن المرحلة التالية هي تمكين اللاعب من تحريكها.
يمكننا القيام بذلك بضغطة زر. يمكننا قراءة حالة هذه المفاتيح داخل وظيفة أخرى محددة مسبقًا تسمى update ().
وظيفة التحديث ()
يتم فحص هذه الوظيفة باستمرار أثناء تشغيل اللعبة.
نحتاج إلى كتابة بعض التعليمات البرمجية لاكتشاف ضغطات المفاتيح على مفاتيح الأسهم وأيضًا لفعل شيء حيال ذلك.
لذلك سنضيف هذه الوظيفة إلى برنامجنا
تحديث def ():
if keyboard.left: car.x - = 2 if keyboard. right: car.x + = 2 if keyboard.up: car.y - = 2 if keyboard.down: car.y + = 2
ستعمل سطور الكود هذه على تحريك ممثل السيارة إلى اليسار واليمين والأمام والخلف.
الخطوة السادسة: بناء المسار
الآن بعد أن أصبح لدينا سيارة يمكننا توجيهها ، نحتاج إلى مسار لها للقيادة عليها.
سنقوم ببناء مسارنا من الممثلين ، صف واحد في كل مرة. سنحتاج إلى عمل بعض القوائم لتتبع الجهات الفاعلة التي أنشأناها.
سنحتاج أيضًا إلى إعداد بعض المتغيرات الإضافية للمسار.
ثم دعونا ننشئ وظيفة جديدة تسمى makeTrack () ، ستضيف الوظيفة ممثل مسار واحد على اليسار والآخر على اليمين ، وكلاهما يستخدم صورة bare-p.webp
trackLeft = # قائمة لتخزين الحواجز اليسرى
trackRight = # قائمة لتخزين الحواجز اليمنى trackCount = 0 # حساب عدد الحواجز trackPosition = 350 trackWidth = 150 # العرض بين الحواجز اليمنى واليسرى def makeTrack (): # وظيفة لجعل حاجزًا واحدًا في المسار العالمي الأيمن والأيسر ، trackLeft، trackRight، trackPosition، trackWidth trackLeft.append (الممثل ("bare"، pos = (trackPosition-trackWidth، 0))) trackRight.append (الممثل ("bare"، pos = (trackPosition + trackWidth، 0))) المسار + = 1
الشيء التالي الذي يتعين علينا القيام به هو تحريك أقسام التعقب أسفل الشاشة باتجاه السيارة.
دعنا نكتب وظيفة جديدة تسمى updateTrack () ، يتم تحديث هذه الوظيفة حيث ستظهر كتل المسار. يتم إنشاء أجزاء المسار بأرقام عشوائية بحيث تختلف كل مسرحية.
trackDriction = خطأ
SPEED = 4 # يعين سرعة اللعبة من Randint استيراد عشوائي # استيراد فئة randint من تحديث وحدة عشوائية def updateTrack (): global trackCount ، trackPosition ، trackDirection ، trackWidth ، SPEED b = 0 أثناء b
يرجى الرجوع إلى الملف المضغوط أدناه المسمى "RaceGameDemo".
إذا قمنا بتشغيل الكود الخاص بنا في الوقت الحالي ، يجب أن نرى مسارًا يتلوى باتجاه السيارة. المشكلة الوحيدة هي أنه يمكننا تحريك السيارة فوق حواجز المسار ونريد إبقاء السيارة بداخلها مع بعض اكتشاف التصادم.
الخطوة 7: تحطم السيارة
نحن بحاجة للتأكد من أن سيارتنا لا تلمس الممثلين في المسار.
قد نقوم أيضًا باختبار الاصطدامات باستخدام الأسلوب Colliderect () في وظيفة updateTrack () الخاصة بنا.
في هذه اللعبة ، سيكون لدينا ثلاث حالات مختلفة للعبة مخزنة في لعبتنا المتغيرة:
- gameStatus == 0 # اللعبة قيد التشغيل
- gameStatus == 1 # حادث سيارة
- gameStatus == 2 # انتهت اللعبة
سنحتاج إلى تغيير وظيفة draw () ووظيفة update () الخاصة بنا للاستجابة لمتغير gameStatus.
اللمسات الأخيرة
كل ما علينا فعله الآن هو عرض شيء ما إذا تم ضبط gameStatus على 1 أو 2 ، على سبيل المثال ، يجب أن نعرض علامة حمراء
العلم ، إذا تحطمت السيارة. يمكننا القيام بذلك باستخدام الكود أدناه:
screen.blit ("redflag"، (230 ، 230))
لمعرفة ما إذا كانت السيارة قد وصلت إلى النهاية ، يجب أن نحسب عدد أقسام المسار التي تم إنشاؤها ، ثم ربما عندما نصل إلى 200 ، اضبط حالة اللعبة على 2. ثم اعرض العلم المتقلب:
screen.blit ("finishflag"، (230 ، 230))
سنعرض أيضًا بعض النصوص على الشاشة مثل النتيجة الحالية للعبة.
ألقِ نظرة على قائمة الرموز الكاملة لترى كيف يتناسب كل ذلك معًا.
الخطوة 8: قم بتشغيل اللعبة على Raspberry Pi
على Raspberry Pi تم تثبيت pgzero افتراضيًا منذ إصدار Raspbian Jessie في سبتمبر 2015.
ما عليك سوى تحديث Raspberry Pi باستخدام الأمر:
sudo apt-get update
انتقل إلى موقع الملف الخاص بك واكتب في Terminal.
pgzrun.py
الخطوة 9: هل فزت؟
يمكنك جعل اللعبة أسهل أو أصعب عن طريق تغيير متغير trackWidth لجعل عرض المسار مختلفًا ، ويمكنك تغيير قيمة السرعة لجعل المسار يتحرك بشكل أسرع أو أبطأ.
الخطوة 10: الخاتمة
يعد Pygame Zero خيارًا رائعًا لمن يريد البدء في كتابة ألعاب الكمبيوتر.
إذا كان لديك أي سؤال بالطبع يمكنك ترك تعليق. لمعرفة المزيد عن أعمالي ، يرجى زيارة قناتي:
myYouTube
حساب التويتر الخاص بي
myLinkedin
شكرًا على قراءة هذه التعليمات ^^ وأتمنى لك يومًا سعيدًا. اراك لاحقا. أحمد نويرة.
موصى به:
اردوينو لعبة سباق الفضاء الإصدار _1: 5 خطوات
اردوينو لعبة سباق الفضاء الإصدار _1: مرحبًا أيها الأصدقاء. سأريكم اليوم كيف يمكنكم صنع لعبة Space Race بواسطة شاشة LCD5110 وجهاز تحكم جوي
لعبة هالوين سباق الخيل الممرات: 6 خطوات
لعبة Halloween Horse Racing Arcade: قررنا هذا العام إنشاء لعبة أركيد لسباق الخيل لجميع القديسين. لقد استوحينا الإلهام من نسخة ميكانيكية تسمى Roll-a-Ball Horse Racing. كان هدفنا هو صنع لعبة ذات ضوابط مباشرة للأمام لجذب مجموعة واسعة من اللاعبين. مقرها س
سباق الفضاء: لعبة بسيطة من Arduino Clicker تصنعها مع الأطفال: 7 خطوات
Space Race: لعبة بسيطة من Arduino Clicker تصنعها مع الأطفال: & iexcl ؛ أقوم بتحميل مقطع فيديو يوضح كيف تعمل اليوم! لا تنزعج ، فلنستمتع بتعليمات ذات طابع فضاء يمكن صنعها مع الأطفال ، والاستمتاع بها فيما بعد بمفردهم كلعبة. يمكنك استخدامها كوسيلة لتعليمهم التاريخ حول
عمل رسومات لعبة سباق سكراتش: 7 خطوات
عمل رسومات للعبة Scratch Racing: سيوضح لك هذا البرنامج التعليمي كيفية إنشاء لعبة سباق داخل Scratch
وضع الموسيقى في لعبة سباق سكراتش: 3 خطوات
وضع الموسيقى في لعبة Scratch Racing: سيوضح لك هذا البرنامج التعليمي خطوة بخطوة كيفية وضع الموسيقى الخاصة بك في لعبة سباق BIY Scratch