الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

محرك الألعاب - الأندلس- : الأدوات و خطة العمل والتطوير

رائج
بدأه Abdullah.Alshammeri في 18 سبتمبر 2009 · 78 رد · 6,838 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#26

تقريبا كل العوائق قد ازيلت و العائق الوحيد المتبقى كان الـ Source Control و قد استقررنا على SourceForge و قد قام الأخ SandHawk بحل المشكله عن طريق طرحة لفكرة استخدام برنامج TortoiseSVN و هو متوافق مع الـ Visual Studio.

ماذا ننتظر إذا لننقل النقاش للمرحلة التاليه و هى التصميم المبدئى للمحرك..

مدونتي: C++ Tips and Tricks

#27
اقتباس
هذا موقع جميل لأمشاركة الأكواد

http://www.assembla.com/

أذكر أني إستخدمته لفتره قصيره, أحد الميزات اللتي أعجبتني أنه يضهر النسخه القديمه من الملف و أيضا النسخه المعدله

المبرمجين الذين عملت معاهم كانوا يستخدموه لمشاركة الملفات والتعديل عليها, بينما كانوا يستخدموا موقع لعبتهم(مشروعهم) للمشاركه الأفكار.

ولكن الموقع غير مجاني

شكرا لك أخي على متابعتك اليومية :-) , لكن نميل الى الحلول المجانية أفضل .

---

اقتباس
العمليات الرئيسية التي يمكن لبرنامج SVN Client القيام بها:

بارك الله فيك أخي سلوان , معلومات فعلا نحتاجها , لكن لابد من القيام بتجربة , لو كنت غير مشغول لطلبت منك أن تقوم بذلك :) , لكن سأحاول تطبيق ما قلت .

بعد اذنكم , سأنشئ مشروع للمحرك في sourceforge ( مشروع لغة السي بلس ) , وأجرب عليه , ثم يتم اعطاء الصلاحيات لجميع الاخوة المشاركين .. بعدها يتم تعميم التجربة على مشروع لغة السي شارب و مشروع لغة الجافا ( كل مشروع سيكون مستقل عن الاخر ) .

----

اقتباس
ماذا ننتظر إذا لننقل النقاش للمرحلة التاليه و هى التصميم المبدئى للمحرك..

ان شاء الله , لكن نحتاج الى بعض الوقت ( ممكن يومين أو ثلاثة ) :

- تطبيق نظام تجريبي لمشاركة الملفات .

- تعديل المشاركة الأولى , بناء على ما اتفقنا عليه .

- سأضيف تعديل بسيط في طريقة ادارة المشروع , حتى لايحدث تداخل بين لغات البرمجة ,

- ممكن نعمل اعلان على مستوى المنتدى .. لازال الأمر قيد التحليل .

بعدها سنبدأ ان شاء الله ( من الحزم الأساسية في المحرك والسهلة .. حتى نفهم أسلوب تطوير المشروع , لن ندخل مباشرة في لب المحرك ) .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#28

الشكر للأخ SandHawk على المعلومات المفيدة.

لا ننسى إعادة كتابة ما إتفقنا عليه من باب التأكيد أظن أنك تعنيه بهذا :

اقتباس
- تعديل المشاركة الأولى , بناء على ما اتفقنا عليه .
اقتباس
- ممكن نعمل اعلان على مستوى المنتدى .. لازال الأمر قيد التحليل .

لا مانع أن يكون على مستوى خارج المنتدى أيضا :) إذا كان لديكم علاقات

#29

فى انتظار انشاء المشروع

مدونتي: C++ Tips and Tricks

#30

ما الاختلاف بين هذا المشروع و openGL ؟

#31

عملت البارحة تجارب على مشروع في sourcegorge , لكن يبدو لي المهمّة صعبة شوي :) , بالكاد أنشأت مجلدات على SVN . وحتى لانأخذ وقت طويل في هذه النقطة , يمكن لأي شخص يعمل تجارب على مشروع تجريبي على source forge , ويحاول يعمل SVN ويرفع عليه ملفات واذا نجح ننتقل لتطبيقها على مشروع رسمي على source forge .

تم تعديل هذه المشاركة بواسطة الشمري في 21 سبتمبر 2009 في 17:39

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#32

و جدت هذا الموضوع على CodeProject لإستخدام SVN Source Control من داخل Visual Studio

ايضا قمت بإنشاء مشروع الأندلس على موقع SourceForge على هذا الرابط

و بالنسبه لرابط الـ SVN فها هو

https://al-andalus.svn.sourceforge.net/svnroot/al-andalus

جارى انشاء مشروع و التجربه عليه و اعلامكم بالنتيجه

و الله ولى التوفيق

تم تعديل هذه المشاركة بواسطة Muhammad alaa في 22 سبتمبر 2009 في 14:17

مدونتي: C++ Tips and Tricks

#33

سأقوم بالتجربه غدا بعد الفجر إن شاء الله

مدونتي: C++ Tips and Tricks

#34

لاتنسى يا محمد .. تضع مجلدات بهذه الطريقة ان امكن , بحيث يكون مشروعنا الخاص بلغة السي بلس في 0.1 في هذه المرحلة أما اللغات الاخرى سنحجز لها بأسماء أخرى مثل JAndalus للجافا ..

الاسماء ممكن نعدل عليها ( مستقبلا .. الان مجرد تجارب ).

-branches

---al-andalus2d

----releases

------0.1

تم تعديل هذه المشاركة بواسطة الشمري في 21 سبتمبر 2009 في 22:24

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#35

عملت تجربة على مشروع في sourceforge

هذا هو رابط SVN

https://ail.svn.sourceforge.net/svnroot/ail/

لا أعلم إذا هذا ما تريدون ولكن هي مجرد محاوله

#36

نعم بالظبط .. هذا المطلوب .

هل جربت عملية تعديل الملف من مستخدم user عادي , وتعديله من مديرadmin ... وتعمل لها comment كما وضح الاخ سلوان .. فقط لتعرف طريقة عمل الصلاحيات .

تم تعديل هذه المشاركة بواسطة الشمري في 22 سبتمبر 2009 في 07:42

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#37

عفواً يا جماعة الرجاء إفادتي عن الفرق بين هذا المشروع وال openGL

مشكورين :)

#38

أخي , اسأل في موضوع منفصل عن الفرق بين المحرك و opengl وسنجيبك بحول الله .. المفترض أن من يداخل في الموضوع يعرف ولو بشكل مبسط الفكرة من المحرك و علاقتها في opengl ... وذلك من أجل أن يقدم شيء للمشروع .. الموضوع ليس للاسئلة .

تم تعديل هذه المشاركة بواسطة الشمري في 22 سبتمبر 2009 في 08:17

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#39

حاليا أقوم ببعض المحاولات, ولكن لا أعلم إن كانت ستنجح ام لا.

#40

الحمد لله ضفت مشروع و ضفت ملفات و عدلت فيها

فى البدايه قم بتحميل اخر اصدار من برنامج TortoiseSVN من هنــــا.

بعدها قم بتحميل برنامج VisualSVN من هنـــــا.

البرنامج الأول يسمح لك برفع المشاريع على السرفر و التعامل معها من update و delete و commit إلى اخر الاوامر و لكن يسمح لك بها من داخل الـ Exporer و ليس من داخل الفيجوال ستديو لذا ياتى دور البرنامج الثانى

البرنامج الثانى هو VisualSVN و هو plugin للفيجوال ستديو و يعتمد فى عمله على البرنامج الاول فتاكد من تثبيته قبل استخدام VisualSVN.

لإستخدام برنامج VisualSVN قم بمراجعه اخر المقاله الموجوده بموقع CodeProject و التى موجوده بالمشاركه رقم 32

و الله ولى التوفيق

تم تعديل هذه المشاركة بواسطة Muhammad alaa في 22 سبتمبر 2009 في 16:47

مدونتي: C++ Tips and Tricks

#41
الشمري كتب:
أخي , اسأل في موضوع منفصل عن الفرق بين المحرك و opengl وسنجيبك بحول الله .. المفترض أن من يداخل في الموضوع يعرف ولو بشكل مبسط الفكرة من المحرك و علاقتها في opengl ... وذلك من أجل أن يقدم شيء للمشروع .. الموضوع ليس للاسئلة .

كنت أتوقع أن يتم توضيح ذلك في بداية الحديث عن المشروع (أقترح إضافة الإجابة على هذا السؤال في بداية الموضوع)

#42

جربت على :

https://al-andalus.svn.sourceforge.net/svnroot/al-andalus

واستطعت تحميلها وتعديلها وفهمت قليلا كيف تجري الامور .

لكن بقي نقطة واحدة .. أنا لا استطيع أعمل comment .. ليس لدي الصلاحية .

هل يمكن أن أعمل comment , وتصل الى محمد علاء , ليوافق على التعديلات ؟ أم أنه بمجرد أن احصل على الصلاحية .. سأقوم بتعديلها دون حتى موافقة مدير ما ؟

ما أقصده .. ماهي درجات الصلاحيات الممنوحة لكل عضو في الفريق ؟

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#43

أقوم حاليا بكتابة الاتفاقية النهائية .. :D .

وصلت لهذه النقطة .. لا أعرف هل هناك من يوافق الأخ محمد عليها ( انظر المشاركة رقم 18 ) :

اقتباس
5 - جزئية الـ templates

داخل المحرك الخاص بى قمت بصناعة الفئه Array<T> لتعمل كبديل للمصفوفات الإفتراضيه باللغه و لكن المشكله التى واجهتنى ان الـ template تحتاج لأن يكون الكود بأكمله داخل ملف الـ header و هذا امر لا افضله حيث انى لا احبذ اعطاء مستخدم المحرك كود يعتبر من الأسس التى يعتمد عليها المحرك و ذلك فقد قمت بصناعة الفئه ArrayNative و هى فئه عاديه جدا و لكنها تحتوى على الكود الفعلى الذى كان سيتم كتابته داخل الفئه Array.

الفئه ArrayNative شكلها يشبه هذا

شخصيا أفضل أن نبتعد عن void pointer قدر الامكان .. والاكتفاء باستخدام template حتى لو ظهر الكود للمستخدم ( اذا احتجنا لـ template أصلا ) , يعني ستكون كلاسات عادية ومعروفة مثل matrix .. وأصلا المحرك مفتوح المصدر , يعني مافيه خوف ان شاء الله.

حسب ما أرى من مشاريع ... يكتبون الكود داخل الهيدر .

المقصود .. هو بساطة الكود .. لانريد أن ندخل بتعقديات ما .. ونظرة مستقبلية أبعد مما يجب .

عموماً هذا مجرد رأي :

هل هناك من له رأي اخر لايوافق فكرة الاخ محمد علاء .. أو نعتمد ماقاله ( في لغة السي بلس طبعا )

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#44

تم تحديث الموضوع بناء على المناقشات , أهم نقطتين تمت اضافتهما :

1- نظام التعليقات ( التوثيق )

في السي بلس سنستخدم doxygen لانه هو الاشهر والاكثر استخداما في مشاريع ضخمة , مثال :

/**
* @file tutorial.h
* @author Chris Olsen
* @date 2-26-04
*/
#ifndef __TUTORIAL__
#define __TUTORIAL__



/**
* An example class for the Doxygen tutorial
*/
class Tutorial
{
public:
  /// The Constructor
  Tutorial();

  /** The Destructor */
  virtual ~Tutorial();

  /**
	 Takes three inputs and does something

	 @param a A float paramater
	 @param b An int paramater
	 @param c A char paramater
	 @return Returns an integer
  */
  int Method1(float a, int b, char c);

  int var;  ///< This was commented after declaration
};

#endif

في الجافا سنستخدم javadoc بهذه الطريقة :

/**
* Returns an Image object that can then be painted on the screen.
* The url argument must specify an absolute {@link URL}. The name
* argument is a specifier that is relative to the url argument.
* <p>
* This method always returns immediately, whether or not the
* image exists. When this applet attempts to draw the image on
* the screen, the data will be loaded. The graphics primitives
* that draw the image will incrementally paint on the screen.
*
* @param  url  an absolute URL giving the base location of the image
* @param  name the location of the image, relative to the url argument
* @return	  the image at the specified URL
* @see		 Image
*/
public Image getImage(URL url, String name) {
	try {
		return getImage(new URL(url, name));
	} catch (MalformedURLException e) {
		return null;
	}
}

في السي شارب , باستخدام وسم xml , كما شرحها الاخ محمد .

- النقطة الثانية تتعلق بفصل لغات البرمجة أثناء كتابة الكود , الى ثلاثة مواضيع وذلك في حالات معينة فقط .. ( لغة السي شارب ممكن نعلّقها اذا لم يدعمها أحد ) :

في بعض الحزم - بعض أجزاء المشروع - نحتاج الى أكثر من موضوع , وذلك بسبب اختلاف بنية الكود بشكل جذري من لغة الى أخرى .. وفي هذه الحالة يتم مايلي .

1- الموضوع الرئيس , وهو كما تم وصفه في النقطة السابقة .. يناقش ويحلل الحزمة بغض النظر عن اللغة البرمجية ثم يتم كتابة كود الحزمة باستخدم لغة السي بلس

2- في موضوع منفصل يتم مناقشة كيفية تحويل المناقشات التي وردت في الموضوع الرئيس .. الى كود في الجافا

3- يتم فتح موضوع منفصل للغة السي شارب يتم مناقشة كيفية تحويل المناقشات التي وردت في الموضوع الرئيس .. الى كود في السي شارب

يعني النقاش في موضوع واحد , وأثناء الانتقال الى مرحلة implementation كل واحد يروح للموضوع الذي يخصه ويكتب فيه .

هذا لن يحدث الا في حالات معينة , ممكن مرة واحدة أو مرتين .. وذلك حتى لايكون هناك أي تشتيت .

الان لنكمل مناقشة SVN حتى يتم اضافتها لخطة العمل في بداية الموضوع .

سيتم البدء في المشروع يوم السبت : 26 - 9 - 2009 ان شاء الله .. وستكون الحزمة الأولى هي core وسيكون في موضوع واحد لكل لغات البرمجة المدعومة

تم تعديل هذه المشاركة بواسطة الشمري في 23 سبتمبر 2009 في 17:07

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#45
اقتباس
سيتم البدء في المشروع يوم السبت : 23 - 9 - 2009 ان شاء الله .. وستكون الحزمة الأولى هي core وسيكون في موضوع واحد لكل لغات البرمجة المدعومة

اخى الشمرى السبت سيوافق 27 - 9 - 2009 اما الأربعاء فهو 23 - 9 - 2009 (اليوم)

مدونتي: C++ Tips and Tricks

#46

بالنسبه لموضوع الصلاحيات فلابد منك ان تسجل على موقع SourceForge و بعد ذلك تقوم بإرسال طلب لى لأقوم بإضافتك للمشروع

قم بمراجعة المشاركه رقم 48

تم تعديل هذه المشاركة بواسطة Muhammad alaa في 23 سبتمبر 2009 في 12:25

مدونتي: C++ Tips and Tricks

#47

أخي محمد

لقد أرسلت لك رساله طلب إنضمام إلى المشروع

بالنسبه إلى

اقتباس
وصلت لهذه النقطة .. لا أعرف هل هناك من يوافق الأخ محمد عليها ( انظر المشاركة رقم 18 ) :

إقتباس

5 - جزئية الـ templates

داخل المحرك الخاص بى قمت بصناعة الفئه Array<T> لتعمل كبديل للمصفوفات الإفتراضيه باللغه و لكن المشكله التى واجهتنى ان الـ template تحتاج لأن يكون الكود بأكمله داخل ملف الـ header و هذا امر لا افضله حيث انى لا احبذ اعطاء مستخدم المحرك كود يعتبر من الأسس التى يعتمد عليها المحرك و ذلك فقد قمت بصناعة الفئه ArrayNative و هى فئه عاديه جدا و لكنها تحتوى على الكود الفعلى الذى كان سيتم كتابته داخل الفئه Array.

الفئه ArrayNative شكلها يشبه هذا

فأنا أتفق مع أخي عبدالله في ما قال

اقتباس
المقصود .. هو بساطة الكود .. لانريد أن ندخل بتعقديات ما .. ونظرة مستقبلية أبعد مما يجب .
#48
اقتباس
المقصود .. هو بساطة الكود .. لانريد أن ندخل بتعقديات ما .. ونظرة مستقبلية أبعد مما يجب .

كما تشاؤا

بالنسبه للمشروع الذى انشئته على sourceforge فهو للتجربه و حتى الأن لم يأكد الأخ الشمرى على النسخه التى سنعمل عليها

و على افتراض ان النسخه التى انشئتها سنعمل عليها لا تقم بإرسال طلب لإضافتك للمشروع لإن الرساله يتم تحويلها على مجلد الـ junk على الميل الخاص بى فقط قم بكتابة اسم المستخدم الخاص بك على موقع sourceforge و سيتم اضافتك بعد موافقة مدير المشروع الأخ الشمرى

تم تعديل هذه المشاركة بواسطة Muhammad alaa في 23 سبتمبر 2009 في 12:33

مدونتي: C++ Tips and Tricks

#49

شكرا أخي محمد

أنا رسلت طلب اللإضافه فقط لتجربه نظام مشاركة الملفات SVN

#50

يبدوا أن صلاحيات التعديل على الملفات جميعها متساويه

قبل دقائق قمت بكتابت السطر التالي في الملف Math.h

//this line just for test

ثم قمت بعمل commit , والناتج هو كما ترون

http://al-andalus.svn.sourceforge.net/

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…