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

انفجار من الماضي: قم ببناء لعبة غزاة الفضاء الخاصة بك باستخدام لغة بايثون - برنامج تعليمي خطوة بخطوة

تم النشر بتاريخ 2024-11-09
تصفح:709

Blast from the Past: Build Your Own Space Invaders Game with Python - A Step-by-Step Tutorial

إعداد بيئة التطوير الخاصة بك

قبل التعمق في برمجة 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، وإنشاء سفينة الفضاء الخاصة باللاعب والتحكم فيها، وإضافة أعداء بالحركة الأساسية. يمهد هذا الأساس الطريق لمزيد من التحسينات مثل إضافة إمكانيات التصوير واكتشاف الاصطدام والتسجيل والمزيد. يقدم كل عنصر تحديات جديدة وفرصًا للتعلم، مما قد يتطلب تحسينات وتحسينات لتحسين أداء اللعبة وتجربة اللاعب.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/bernardkibathi/blast-from-the-past-build-your-own-space-invaders-game-with-python-a-step-by-step-tutorial- 2ik2؟ 1إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3