قبل التعمق في برمجة Space Invaders باستخدام Python، تأكد من إعداد بيئة التطوير الخاصة بك بشكل صحيح. ستحتاج إلى تثبيت Python على جهازك. يوصى باستخدام Python 3.8 أو أعلى لتحسين التوافق مع المكتبات. بالإضافة إلى ذلك، قم بتثبيت Pygame، وهي عبارة عن مجموعة من وحدات Python المصممة لكتابة ألعاب الفيديو. توفر Pygame وظائف مثل إنشاء النوافذ، والتقاط أحداث الماوس، وعرض العناصر الرسومية، والتي تعتبر ضرورية لتطوير اللعبة.
قم بتثبيت Python وPygame بالأوامر التالية:
# Install Python (if not already installed) sudo apt-get install python3.8 # Install Pygame pip install pygame
ابدأ بإنشاء ملف Python باسم space_invaders.py. سيحتوي هذا الملف على كافة التعليمات البرمجية اللازمة للعبتنا. أولاً، قم بتهيئة نافذة اللعبة باستخدام Pygame. يمكن ضبط حجم النافذة على 800 × 600 بكسل، وهو ما يكفي ليناسب جميع عناصر اللعبة بشكل مريح.
import pygame import sys # Initialize Pygame pygame.init() # Set up the display screen_width = 800 screen_height = 600 screen = pygame.display.set_mode((screen_width, screen_height)) # Set the title of the window pygame.display.set_caption('Space Invaders') # Game loop while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() # Update the display pygame.display.update()
يقوم هذا الرمز بتهيئة Pygame وإعداد نافذة بحجم 800 × 600 بكسل. حلقة while True: هي حلقة اللعبة، وهي حلقة لا نهائية حيث تتم معالجة جميع الأحداث وتحديث حالة اللعبة وعرضها على الشاشة. يتم استخدام الدالة pygame.event.get() للتعامل مع الأحداث مثل إغلاق نافذة اللعبة.
بعد ذلك، قم بإضافة سفينة الفضاء الخاصة باللاعب إلى اللعبة. قم بإنشاء صورة لسفينة الفضاء وضعها في الجزء السفلي الأوسط من نافذة اللعبة. يمكنك استخدام أي صورة PNG بسيطة لسفينة الفضاء. قم بتحميل هذه الصورة في لعبتك وتحكم في حركتها باستخدام مدخلات لوحة المفاتيح.
# Load the spaceship image spaceship_img = pygame.image.load('spaceship.png') spaceship_x = 370 spaceship_y = 480 spaceship_speed = 0.3 def player(x, y): screen.blit(spaceship_img, (x, y)) # Game loop while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() # Event handling for moving the spaceship if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: spaceship_x -= spaceship_speed if event.key == pygame.K_RIGHT: spaceship_x = spaceship_speed # Rendering the player's spaceship player(spaceship_x, spaceship_y) pygame.display.update()
وظيفة المشغل هي المسؤولة عن رسم سفينة الفضاء عند الإحداثيات (spaceship_x، spaceship_y). يتم التحكم في حركة سفينة الفضاء عن طريق مفاتيح الأسهم اليمنى واليسرى. يؤدي ضبط المتغير spaceship_x إلى تحريك سفينة الفضاء أفقيًا.
لإضافة أعداء إلى اللعبة، قم بإنشاء مثيلات متعددة لصورة العدو. ضعهم بشكل عشوائي على الشاشة واجعلهم يتحركون نحو اللاعب. قم بإنشاء قائمة لتخزين موقع وسرعة كل عدو لتسهيل إدارته.
import random # Enemy setup enemy_img = pygame.image.load('enemy.png') enemy_info = [{'x': random.randint(0, 736), 'y': random.randint(50, 150), 'speed_x': 0.2, 'speed_y': 40} for _ in range(6)] def enemy(x, y): screen.blit(enemy_img, (x, y)) # Game loop while True: # Other game loop code omitted for brevity # Move and render enemies for e in enemy_info: enemy(e['x'], e['y']) e['x'] = e['speed_x'] if e['x'] = 736: e['speed_x'] *= -1 e['y'] = e['speed_y'] pygame.display.update()
يتحرك كل عدو أفقيًا حتى يصل إلى حافة الشاشة، وعند هذه النقطة يتحرك للأسفل قليلاً ويعكس اتجاهه.
غطى هذا البرنامج التعليمي إعداد بيئة Python الخاصة بك، وتهيئة نافذة Pygame، وإنشاء سفينة الفضاء الخاصة باللاعب والتحكم فيها، وإضافة أعداء بالحركة الأساسية. يمهد هذا الأساس الطريق لمزيد من التحسينات مثل إضافة إمكانيات التصوير واكتشاف الاصطدام والتسجيل والمزيد. يقدم كل عنصر تحديات جديدة وفرصًا للتعلم، مما قد يتطلب تحسينات وتحسينات لتحسين أداء اللعبة وتجربة اللاعب.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3