بايجيم

Pygame عبارة عن مجموعة من وحدات بايثون متعددة المنصات مصممة لكتابة ألعاب الفيديو . وهي تتضمن مكتبات رسومات الحاسوب والصوت المصممة للاستخدام مع لغة برمجة بايثون . [ 7 ]

تاريخ

تمت كتابة Pygame في الأصل بواسطة بيت شينرز ليحل محل PySDL بعد توقف تطويره. [ 2 ] [ 8 ] وهو مشروع مجتمعي منذ عام 2000 [ 9 ] ويتم إصداره بموجب رخصة جنو العمومية الصغرى للبرمجيات الحرة [ 5 ] (التي "تنص على توزيع Pygame مع البرامج مفتوحة المصدر والتجارية" [ 10 ] ).

تطوير الإصدار الثاني

كان من المخطط إطلاق الإصدار الثاني من Pygame تحت اسم "Pygame Reloaded" في عام 2009، إلا أن تطوير وصيانة Pygame توقفا تمامًا حتى نهاية عام 2016 مع الإصدار 1.9.1. بعد إصدار النسخة 1.9.5 في مارس 2019، أصبح تطوير الإصدار الثاني الجديد جزءًا أساسيًا من خطة التطوير. [ 11 ]

تم إصدار Pygame 2.0 في 28 أكتوبر 2020، في الذكرى السنوية العشرين لـ Pygame. [ 12 ]

سمات

تستخدم Pygame مكتبة Simple DirectMedia Layer (SDL)، [ أ ] بهدف تمكين تطوير ألعاب الكمبيوتر في الوقت الفعلي دون الحاجة إلى آليات البرمجة منخفضة المستوى للغة C ومشتقاتها. ويستند هذا إلى افتراض إمكانية تجريد الوظائف الأكثر استهلاكًا للموارد داخل الألعاب من منطق اللعبة، مما يتيح استخدام لغة برمجة عالية المستوى ، مثل Python، لهيكلة اللعبة. [ 5 ]

تتضمن الميزات الأخرى التي يتمتع بها SDL العمليات الحسابية المتجهة، واكتشاف التصادم ، وإدارة مخططات مشاهد الرسوم المتحركة ثنائية الأبعاد ، ودعم MIDI ، والكاميرا، ومعالجة مصفوفات البكسل، والتحويلات، والتصفية، ودعم خطوط FreeType المتقدمة، والرسم. [ 13 ]

يمكن تشغيل التطبيقات التي تستخدم Pygame على هواتف وأجهزة Android اللوحية باستخدام Pygame Subset for Android (pgs4a). [ 14 ] يدعم نظام Android الصوت والاهتزاز ولوحة المفاتيح ومقياس التسارع. [ 15 ]

مجتمع

بعد خلافات بين المطورين الأساسيين السابقين ومالك المستودع، تم إنشاء نسخة معدلة تُعرف باسم pygame-ce (الإصدار المجتمعي). [ 16 ]

تُقام مسابقة دورية، تُسمى PyWeek، لكتابة الألعاب باستخدام لغة بايثون (وعادةً، ولكن ليس بالضرورة، باستخدام مكتبة Pygame). [ 17 ] [ 18 ] [ 19 ] وقد أنشأ مجتمع مطوري بايثون العديد من الدروس التعليمية لمكتبة Pygame. [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ]

نموذج التعليمات البرمجية

الكود التالي يجعل صورة الراكون ("raccoon.png") ترتد عند اصطدامها بحافة.

استيراد pygame و syspygame.init ( ) screen = pygame.display.set_mode ( ( 1280 , 720 ) ) clock = pygame.time.Clock ( ) clock.tick ( 30 ) black = 0 , 0 , 0 raccoon = pygame.image.load ( " raccoon.png " ) raccoon = pygame.transform.scale ( raccoon , ( 200 , 140 ) ) raccoonrect = raccoon.get_rect ( ) velocity = [ 1 , 1 ]بينما صحيح : raccoonrect = raccoonrect.move ( velocity ) إذا كان raccoonrect.left < 0 أو raccoonrect.right > 1280 : velocity [ 0 ] = -velocity [ 0 ] raccoon = pygame.transform.flip ( raccoon , True , False ) إذا كان raccoonrect.top < 0 أو raccoonrect.bottom > 720 : velocity [ 1 ] = -velocity [ 1 ] لكل حدث في pygame.event.get ( ) : إذا كان event.type == pygame.QUIT : sys.exit ( ) # تحديث الشاشة screen.fill ( black ) screen.blit ( raccoon , raccoonrect ) pygame.display.flip ( )

ألعاب بارزة تستخدم Pygame

انظر أيضاً

ملحوظات

  1. يعتمد Pygame 2 والإصدارات اللاحقة على SDL2، بينما كانت الإصدارات السابقة تعتمد على SDL1. [ 27 ]

مراجع

  1. "المساهمون في Pygame" . GitHub .
  2. 1 2 شينرز، بيت. "مقدمة إلى بايثون بايجيم - التاريخ" . Pygame.org . مؤرشف من الأصل في 17 سبتمبر 2019. تم الاسترجاع في 28 أبريل 2017 .
  3. "التنزيلات - Pygame - تطوير ألعاب بايثون" . Pypi.python.org .
  4. "PyGame 2.6.1 - إصدار تصحيح الأخطاء لـ Python 3.13" . تم الاطلاع عليه بتاريخ 16 مارس 2025 .
  5. ١ ٢ ٣ "حول Pygame" . GitHub. مؤرشف من الأصل بتاريخ ١٨ سبتمبر ٢٠١٩. تم الاطلاع عليه بتاريخ ٣١ أغسطس ٢٠١٩ .
  6. "البدء" . Pygame.org .
  7. علم، عمران (2 يوليو 2023). "كيفية تطبيق نظام حوار في بايجيم" . MUO . تم الاطلاع عليه بتاريخ 29 نوفمبر 2024 .
  8. "صفحة pySDL على موقع Sourceforge" . Sourceforge.net .
  9. "مساهمة من مؤلفين آخرين" . GitHub.
  10. "الصفحة الرئيسية لـ Pygame — وثائق pygame v2.0.1.dev1" . www.pygame.org . تم الاطلاع عليه بتاريخ 26 فبراير 2021 .
  11. "تم إطلاق pygame 1.9.5 للجمهور" . www.pygame.org .
  12. "pygame 2.0 - إصدار عيد الميلاد الراقص السعيد" . GitHub.
  13. ^ "مستندات بيجيم" . موقع pygame.org .
  14. "مثال على استخدام RAPT لتجميع ألعاب pygame(_sdl2): renpytom/rapt-pygame-example" . GitHub. 1 أبريل 2019. تم الاطلاع عليه في 1 أبريل 2019 .
  15. "واجهة برمجة التطبيقات - مجموعة فرعية من Pygame لنظام Android" . مؤرشف من الأصل في 19 أكتوبر 2014. تم الاطلاع عليه في 14 أكتوبر 2014 .
  16. "pygame - Community Edition" . pypi.com .
  17. "PyWeek - تحدي برمجة ألعاب بايثون" . Pyweek.org .
  18. جي، سو (29 مارس 2013). "لماذا أسبوع باي: مقابلة مع ريتشارد جونز" . i-programmer.info . تم ​​الاطلاع عليه في 31 مارس 2020 .
  19. "PyWeek - Python Wiki" . Wiki.python.org . تم الاطلاع عليه في 1 أبريل 2019 .
  20. "توثيق بايجيم: دروس تعليمية" . Pygame.org .
  21. صديقي (27 يونيو 2020). "مشاريع ألعاب بايثون مع شفرة المصدر" . CodersLegacy . تم الاطلاع عليه بتاريخ 25 ديسمبر 2020 .
  22. شينرز، بيت. "شرح خطوة بخطوة - شرح للمبتدئين" . مؤرشف من الأصل في 5 فبراير 2005.
  23. "إنشاء الألعاب باستخدام بايثون - دليل تعليمي يشرح كيفية استخدام pygame لتطوير الألعاب وتحسين الأداء" . Linuxjournal.com .
  24. "دروس فيديو تعليمية عن Arinoid على ShowMeDo" . مؤرشف من الأصل في 29 أبريل 2007.
  25. "fretsonfire/src at master · skyostil/fretsonfire" . GitHub . تم الاطلاع عليه في 2 يونيو 2023 .
  26. "فتيات المدرسة الثانوية الخطيرات في ورطة!" . Pygame.org . تم الاطلاع عليه بتاريخ 8 يوليو 2011 .
  27. تم إطلاق الإصدار 1.9.5 من مكتبة Pygame للجمهور . Pygame.org .