القائمة الرئيسية

الصفحات

خطوات برمجة لعبة سباق سيارات باستخدام بايثون ومكتبة Pygame

create-car-racing-game-in-Python-Pygame، خطوات برمجة لعبة سباق سيارات باستخدام بايثون ومكتبة Pygame، إنشاء لعبة سباق سيارات ببايثون، دليل برمجة ألعاب Pygame، تعليم Pygame للمبتدئين، Steps to program car racing game using Python and Pygame، program car racing game، Pygame library، Steps to program a car racing game using Python and the Pygame library، Pygame، بايثون، لعبة سباق، برمجة ألعاب، رسوميات، أصوات، برمجة لعبة سباق سيارات باستخدام Pygame، إنشاء لعبة سباق سيارات ببايثون، دليل برمجة ألعاب Pygame، تعليم Pygame للمبتدئين، سيارات بسيطة باستخدام بايثون ومكتبة Pygame، خطوات برمجة لعبة سباق سيارات بسيطة باستخدام بايثون ومكتبة Pygame، Python،


خطوات برمجة لعبة سباق سيارات باستخدام بايثون ومكتبة Pygame


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


خطوات برمجة لعبة سباق سيارات


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

الخطوة 1: إعداد البيئة وتثبيت Pygame

قبل البدء، تأكد من تثبيت بايثون على جهازك. ثم قم بتثبيت مكتبة Pygame باستخدام
 الأمر التالي في موجه الأوامر:
pip install pygame

الخطوة 2: إنشاء نافذة اللعبة وتحميل الصور

في هذه الخطوة، سنقوم بإنشاء نافذة اللعبة وتحميل صور السيارات والخلفية :




import pygame
import random

# تهيئة Pygame
pygame.init()

# تحديد أبعاد النافذة
width = 800
height = 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("لعبة سباق السيارات")

# تحميل الصور
car_image = pygame.image.load("car.png")
background_image = pygame.image.load("background.png")





الخطوة 3: إنشاء سيارة اللاعب والسيارات المنافسة

سنقوم الآن بإنشاء سيارة اللاعب وتحديد موضعها، بالإضافة إلى إنشاء 
السيارات المنافسة وتحديد حركتها :


        

# سيارة اللاعب
car_x = width / 2
car_y = height - car_image.get_height() - 20
car_speed = 5

# السيارات المنافسة
enemy_cars = []
for i in range(3):
    enemy_x = random.randint(0, width - car_image.get_width())
    enemy_y = random.randint(-height, 0)
    enemy_cars.append([enemy_x, enemy_y, random.randint(3, 7)])


الخطوة 4: التحكم في حركة سيارة اللاعب

سنقوم بإضافة تحكم في حركة سيارة اللاعب باستخدام مفاتيح الأسهم :


        

# حلقة اللعبة الرئيسية
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT] and car_x > 0:
        car_x -= car_speed
    if keys[pygame.K_RIGHT] and car_x < width - car_image.get_width():
        car_x += car_speed

الخطوة 5: تحريك السيارات المنافسة والتحقق من التصادم

سنقوم بتحريك السيارات المنافسة إلى الأسفل والتحقق من التصادم مع سيارة اللاعب:


        

# تحريك السيارات المنافسة
    for enemy in enemy_cars:
        enemy[1] += enemy[2]
        if enemy[1] > height:
            enemy[0] = random.randint(0, width - car_image.get_width())
            enemy[1] = random.randint(-height, 0)

        # التحقق من التصادم
        if car_x < enemy[0] + car_image.get_width() and car_x + car_image.get_width() > enemy[0] and car_y < enemy[1] + car_image.get_height() and car_y + car_image.get_height() > enemy[1]:
            running = False
            print("تصادم!")






الخطوة 6: عرض الرسومات وتحديث الشاشة

سنقوم بعرض الخلفية والسيارات على الشاشة وتحديثها :




    # عرض الخلفية والسيارات
    screen.blit(background_image, (0, 0))
    screen.blit(car_image, (car_x, car_y))
    for enemy in enemy_cars:
        screen.blit(car_image, (enemy[0], enemy[1]))

    # تحديث الشاشة
    pygame.display.flip()



الخطوة 7: إضافة المؤثرات الصوتية (اختياري)

يمكنك إضافة مؤثرات صوتية مثل صوت المحرك وصوت التصادم لجعل اللعبة أكثر واقعية :


        

# تحميل الأصوات
crash_sound = pygame.mixer.Sound("crash.wav")

# تشغيل صوت التصادم
if تصادم:
    crash_sound.play()


الخطوة 8: إضافة النقاط والمؤقت 

يمكنك إضافة نظام نقاط لحساب المسافة التي يقطعها اللاعب، ومؤقت لتحديد وقت اللعب :


        


# النقاط والمؤقت
score = 0
start_time = pygame.time.get_ticks()

# عرض النقاط والمؤقت
font = pygame.font.Font(None, 36)
score_text = font.render(f"النقاط: {score}", True, (255, 255, 255))
time_text = font.render(f"الوقت: {pygame.time.get_ticks() - start_time}", True, (255, 255, 255))
screen.blit(score_text, (10, 10))
screen.blit(time_text, (10, 50))




الخطوة 9: إضافة مستويات صعوبة :


        

difficulty_levels = {
    "Easy": {"enemy_speed": 5, "obstacle_count": 0},
    "Medium": {"enemy_speed": 7, "obstacle_count": 3},
    "Hard": {"enemy_speed": 10, "obstacle_count": 5}
}
current_difficulty = "Medium"
enemy_speed = difficulty_levels[current_difficulty]["enemy_speed"]



الخطوة 10: إضافة أنواع مختلفة من السيارات والمسارات :




current_car = 0
current_track = 0
player_car.image = car_images[current_car]
background_image = background_images[current_track]


الخطوة 11: إضافة نظام ترقيات :


        

upgrades = {"speed": 0, "handling": 0}
if keys[pygame.K_u]:
    upgrades["speed"] += 1
    player_car.speed += 1


الخطوة 12: إضافة عداد السرعة :


        


speed_text = font.render(f"Speed: {player_car.velocity}", True, (255, 255, 255))
screen.blit(speed_text, (10, 90))


الخطوة 13: إضافة نظام حفظ التقدم :


        


def save_game():
    game_data = {"score": score, "upgrades": upgrades}
    with open("save.json", "w") as f:
        json.dump(game_data, f)


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


جدول المحتويات