نعم، يمكننا استبدال الأشكال البسيطة بصور حقيقية لجعل اللعبة أكثر واقعية. إليك الخطوات:
1. تحميل الصور
قبل تعديل الكود، تحتاج إلى تحميل الصور التالية:
- مركبة فضائية (مثلاً spaceship.png).
- رصاصة أو ليزر (مثلاً laser.png).
- خلفية فضاء (مثلاً background.png).
نعم، يمكننا استبدال الأشكال البسيطة بصور حقيقية لجعل اللعبة أكثر واقعية. إليك الخطوات:
1. تحميل الصور
قبل تعديل الكود، تحتاج إلى تحميل الصور التالية:
مركبة فضائية (مثلاً spaceship.png).
رصاصة أو ليزر (مثلاً laser.png).
خلفية فضاء (مثلاً background.png).
احفظ الصور في نفس مجلد الكود.
---
2. كود اللعبة باستخدام الصور
import pygame
import sys
# إعدادات اللعبة
pygame.init()
WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("لعبة الفضاء")
# تحميل الصور
background = pygame.image.load("background.png")
spaceship_img = pygame.image.load("spaceship.png")
bullet_img = pygame.image.load("laser.png")
# تصغير حجم الصور إذا لزم الأمر
spaceship_img = pygame.transform.scale(spaceship_img, (60, 50))
bullet_img = pygame.transform.scale(bullet_img, (10, 20))
# إعدادات المركبة الفضائية
spaceship_rect = spaceship_img.get_rect(center=(WIDTH // 2, HEIGHT - 60))
# قائمة الطلقات
bullets = []
# سرعة اللعبة
clock = pygame.time.Clock()
FPS = 60
# حلقة اللعبة
running = True
while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE: bullet_rect = bullet_img.get_rect(midbottom=spaceship_rect.midtop) bullets.append(bullet_rect) # التحكم في حركة المركبة keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and spaceship_rect.left > 0: spaceship_rect.x -= 5 if keys[pygame.K_RIGHT] and spaceship_rect.right < WIDTH: spaceship_rect.x += 5
# تحديث الطلقات for bullet in bullets[:]: bullet.y -= 10 if bullet.bottom < 0: bullets.remove(bullet)
# رسم الشاشة screen.blit(background, (0, 0)) # خلفية الفضاء screen.blit(spaceship_img, spaceship_rect) # المركبة الفضائية for bullet in bullets: screen.blit(bullet_img, bullet) # الطلقات pygame.display.flip() clock.tick(FPS)
pygame.quit()
sys.exit()
---
ما الجديد في هذا الكود؟
✅ استبدال الأشكال العادية بصور حقيقية.
✅ استخدام خلفية فضاء لتحسين المظهر.
✅ الحفاظ على نفس أسلوب التحكم والحركة.
الخطوة التالية:
هل تريد إضافة أعداء؟
أم تفضل إضافة مؤثرات صوتية عند الإطلاق؟
أنا مستعد لمساعدتك في تطوير اللعبة!
import pygame import sys # إعدادات اللعبة pygame.init() WIDTH, HEIGHT = 800, 600 screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("لعبة الفضاء") # تحميل الصور background = pygame.image.load("background.png") spaceship_img = pygame.image.load("spaceship.png") bullet_img = pygame.image.load("laser.png") # تصغير حجم الصور إذا لزم الأمر spaceship_img = pygame.transform.scale(spaceship_img, (60, 50)) bullet_img = pygame.transform.scale(bullet_img, (10, 20)) # إعدادات المركبة الفضائية spaceship_rect = spaceship_img.get_rect(center=(WIDTH // 2, HEIGHT - 60)) # قائمة الطلقات bullets = [] # سرعة اللعبة clock = pygame.time.Clock() FPS = 60 # حلقة اللعبة running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE: bullet_rect = bullet_img.get_rect(midbottom=spaceship_rect.midtop) bullets.append(bullet_rect) # التحكم في حركة المركبة keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and spaceship_rect.left > 0: spaceship_rect.x -= 5 if keys[pygame.K_RIGHT] and spaceship_rect.right < WIDTH: spaceship_rect.x += 5 # تحديث الطلقات for bullet in bullets[:]: bullet.y -= 10 if bullet.bottom < 0: bullets.remove(bullet) # رسم الشاشة screen.blit(background, (0, 0)) # خلفية الفضاء screen.blit(spaceship_img, spaceship_rect) # المركبة الفضائية for bullet in bullets: screen.blit(bullet_img, bullet) # الطلقات pygame.display.flip() clock.tick(FPS) pygame.quit() sys.exit()