المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : [درس]شرح بعض الأفكار الموجودة في الألعاب



رامي لولح
21-06-2006, 11:03 AM
السلام عليكم





أنا كتبت هل الموضوع لعدة أسباب منها


محاوله لأعادة نشاط المنتدى


مساعدة الأعضاء على تخطي بعض العقبات التي يواجوهها في بعض ألعابهم


طبعا هناك أسباب عديدة بس خلونا منها


الموضوع اقول


في شيء شفته في لعبة من الألعاب وتبي تعرف كيف تعمل مثله قول وشو هذا الشيء وحنا أنحاول أنساعدك


اما إذا كنت تعرف كيف تسوي مثله فحطه الشرح كي نستفيد


وأنا أفضل أن يكون الشرح نظري أكثر من أن ترفق الكود او ماشابه


لأنا النظري مهما كانت لغتك حتقدر سوي مثله المهم هو الفهم


اما الكود حتصر الناس على لغه وحده


أما اذاوجد الشرح والكود فهدا ممتاز


المهم أنا الحين أ بدي


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


طيب السؤال هو كيف تسوي مثل هدي المسافه


تقدر تسوي مثله كل اللي عليك تعرف قانون طول قطعه مستقيمه


القانون هو


طول القطع المستقيمه =((س1-س2)^2+(ص1-ص2)^2)^0.5


س1=أحداثي السيني للكرة


س2= أحداثي السيني للنقطه هذه النقطه تقع في منتصف مرمى الخصم


ص1= أحداثي الصادي للكرة


ص2=أحداثي الصادي للنقطه


الحين أنجي الى الخطوه الثانيه وهي معرفة طول الملعب


كل اللي علينا أنعوض في القانون السابق


س2=0


ص2=ص1


جعلنا ص2=ص1 لأنا طول الملعب عبارةعن قطعه مستقيمه أفقيه


الآن بعد حساب طول الملعب يأتي دورك على حسب رغبتك


كم تبي طول الملعبك أذا كنت تبغا طوله 100 فقط أقسمه على 100


وهيطلع لك الناتج على حسب أختيارك وحنسميه :م


الآن أرجع الىالقانون


طول القطع المستقيمه =(((س1-س2)^2+(ص1-ص2)^2)^ 0.5)/م


كما قلنا سابقا


س1 وص1 :احداثيات الكرة


س2وص2 :احداثيات النقطة :أنتبه ص2 لاتساوي ص1


م=الناتج


الآن طبق القانون وأن شاء الله ينجح بس لاتنسى تحول الناتج الى عدد صحيح


طبعا هناك طرق أخرى ممكن أحد الأعضاء يعرفها





وشكرا

Son Of UAE
21-06-2006, 02:19 PM
مرحباً بك في منتدى برمجة الألعاب. تعرف قبل سنتين كنت دائماً أحاول شرح الفكرة ليس أعطاء الكود ولكني فشلت:ouch: . وها انت هنا لتقوم بنفس الشيء. ارجو من الاعضاء التفاعل مع هذه الافكار و تطبيقها ايضاً.
و انا معك إلى النهاية !!

رامي لولح
21-06-2006, 04:00 PM
السلام عليكم
مشكور مشرفنا على التشجيع

رامي لولح
21-06-2006, 04:45 PM
السلام عليكم

مثال آخر



في العاب كرة القدم توجد خريطة اسفل الشاشه فالسؤال إقول هل أستطيع عمل مثلها

نعم كل ما في الأمر يجب أن تعرف كم قانون فقط

فمن تعريف الخريطه : انها تصغير للواقع

فليس المهم مقدار التصغير لأن التعامل مع الخريطه الكبيره مثل التعامل مع الخريطه الصغيره

الآن نوجد طول خريطه الملعب بالقانون الآتي :

طول خريطه الملعب = طول الملعب / س

س= مقدار التصغير

وايضا عرض خريطه الملعب = عرض الملعب / س

ولكن الأهم هنا هو الطول وليس العرض

فلو فرضنا ان

طول الملعب =100

س=5

فالناتج طول خريطه الملعب=20

طبعا الغرض من كل ذلك هو استخدام الخريطه أي نوجد موقع اللاعب في الخريطه

لأيجاد ذلك عوض في القانون التالي :



موقع اللاعب في الخرطه = موقع اللاعب في الملعب / طول الملعب * طول الخريطه



ولكن في الحقيقه ان موقع اللاعب في الملعب عباره عن أحداثي سيني و أحداثي صادي

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

الآن انتهينا ولكن بقي شيء واحد وهو حجم اللاعب في الخريطه تستطيع تقسيمه على مقدار التصغير



وشكرا

kakarot
21-06-2006, 08:40 PM
شكراً أخي على هذا الدرس
الصعب
جداً
لأني لسة ما أخذت هاي القوانين
أرجوا شرحه بطريقة
أسهل بكثير
لأني فاهم شوي
وأرجوا كتابة القوانين التي تستطيع كتابتها

kakarot
21-06-2006, 08:43 PM
أنت قلت ب المثال الثاني أن

طول خريطه الملعب = طول الملعب / س
س= مقدار التصغير

كيف أصبحت

من التراب
21-06-2006, 11:24 PM
هلا فكره حلوه ... اعتقد ان لكل شخص تفكير مختلف يعني لو طرحت نظريتيه فستكون مطروحه للنقاش مش قاعده ..^^

كل ما ألعب لعبه لازم أفكر كيف برمجوا بعض الأشياء يمكن ما أوصل لنتيجه وأحيانا أوصل لنظريات تكون كلاسيكيه وقديمه ... لكن الصراحه تظيف شي لي ....:)

مثلا لو قلنا أن اللاعبين في الكوره مختلفين في دقة التسديد للمرمى يعني فيه لاعبين كبار"لامبارد,جيرارد,رونالدينهو" :D ...يسددون بدقه فتكون دقتهم فوق 90%
أما اللاعبين الي مستواهم أقل ....فتكون دقتهم أقل .....

نظريه :33: :

نرسم مثلث ويكون اللاعب على راس المثلث (نقطة من نقاطه) ..... أما الظلع المقابل له يكون طوله (100-مقدار الدقه) ...

نضع إحتمالات بحيث الكره لن تتجاوز المثلث ...سيكون هناك عوامل اخرى طبعا ^^"

يمكن من خلال معرفت احداثيات النقطتين"نفرض ب و جـ "

واحداثي النقطه الثالثه(اللاعب)"ولتكن أ"

يمكننا ان نجعل الكره تتحرك من أ إلى نقطه عشوائيه لكنها محصوره بين احداثيات ب و جـ

أتمنى اني وصلت شي من الفكره :D

شكرا أخي رامي لولح .... وأهلا بك بيننا

OctoBot
21-06-2006, 11:35 PM
الموضوع جميل جدا.
أهلا من التراب.
أنا أرى إن فكرتك جميلة, و لكن, رسم مثلث عن طريق زاوية و ضلع أصعب مما ينبغي, تستطيع أن تجعل اجاه الكرة هو رقم عشوائي بين (اتجاه اللاعب - ( 100 - الدقة )) و ( اتجاه اللاعب + ( 100 - الدقة ), ببساطة, و لكن هذا يعني أن من دقته صفر أيضا له فرصة في إدخال هدف, مما يعني أن الرقم العشوائي يجب أن يضاف عليه بعض الاحتمالات و الحدود,, فالذي دقته 99 لا يضرب الكرة باتجاه مستقيم 100% كل مرة, و هكذا.

من التراب
21-06-2006, 11:43 PM
هلا بأخطبوط البحار السبعه ...امزح :p

أها فهمت عليك.... كنت أقصد بالمثلث 3 نقاط بس ..^^

لكن اتجاه اللاعب ....يعني قيمة الزاويه بين المرمى وأتجاهه ؟؟؟؟

معاك حق .... المفروض تكون هناك عوامل ثانيه فلازم يكون اللاعب ذكي شوي يعني يعرف وين مرمى الخصم فمثلا لوسددت واتجاه اللاعب لممراك يغير اتجاهه ويشوت ....صح ؟

(بس حرام عليك الي دقته 0 يمكن يدخلها .... راعي شعوره .... ^..^")

اعتقد أن شويت تعقيد وخلط النظريات يخلي الألعاب مسليه ويزيد الاحتمالات ويكون من الصعب تخمين شو يمكن يصير مما يخلي الألعاب مب تقليديه :)

رامي لولح
22-06-2006, 10:03 AM
السلام عليكم



أخي العزيز كاكروت

أنا بحاول أسهل من طريقة الشرح لأن المشكله في الشرح وليس في الدرس

أما عن سؤالك فهذا قانون صحيح أخدناه من زمان في صف الأول ثانوي

طبعا ماكان القنون في كلمة ملعب

وإذا في أي سؤال أسئل لاتدردد



أخي العزيز من التراب

كلامك صحيح بس أنا لما قلت قانون كان قصدي فرضية وليس نضرية

طبعا الموضوع للنقاش وانا قلت في نهاية المثال الأول ان هناك طرق أخرى

وعجبتني أفكاركم أنت وأخي اخطبوط

وانا بحاول أحط مثال الحين

وشكرا

kakarot
22-06-2006, 10:10 AM
السلام عليكم



أخي العزيز كاكروت

أنا بحاول أسهل من طريقة الشرح لأن المشكله في الشرح وليس في الدرس
أما عن سؤالك فهذا قانون صحيح أخدناه من زمان في صف الأول ثانوي
طبعا ماكان القنون في كلمة ملعب
وإذا في أي سؤال أسئل لاتدردد




شكراً لك أخي ولاكن القوانين سوف نأخذ هذه بعد 2سنتين
يعني السنة بعد القادمة والتي تليها
سنأخذها على مدار سنتين
ربما لا يوجد طريقة سهلة للتعلم لأني لمأخذ القوانين
وشكراً

||صقر||
22-06-2006, 10:49 AM
و الله فكرة حلوة الله ينور عليك
إضافة--->
بما أن كله عن كرة القدم أغير انا بقى
فلنتخيل اننا نلعب لعبة تحدى arena وأن فىصاروخ موجهحرارى يتتبع اللاعب وعلى اللاعب تفاديه كيف نوضح اتجاه هذا الصاروخ؟؟؟؟؟
أولاً نجعله يسجل الإحداثى السينى والصادى للاعب كل خمس ثوانى (الوقت اللى يعجبك على حسب ماتريد فى الدقة من الصاروخ) ثم تضع هذا القانون
الإحداثى السينى للصاروخ = الإحداثى السين للاعب - الوقت المستغرق فى الإتجاه
و بنفس الطريقة فى الإحداثى الصادى
و لكن كيف نحسب الوقت المستغرق؟؟؟؟
أولاً انت أكيد هتحدد السرعة للصاروخ يعنى تخلية يحسب لوكان الصاروخ منطلق من 6.7 وهما الإحداثى السينى والصادى و المكان المستهدف .12.14 فنحسب المسافة كالآتى
المكان المستهدف - مكان الإنطلاق
12-6
14-7
و بكذا حسبنا المسافة و نحدد كم قطعة يعبرها فى الثانية وبكدة يكون الصاروخ دقيق فى الإتجاه وكل خمس ثوانى يحسب مكانة ومكان المنطقة المستهدفة ويروحلها بدقة وكمان نعطى فرصة للاعب ان يتفاداها
أتمنى ان أحد يكون فهم:أفكر:

رامي لولح
22-06-2006, 01:01 PM
السلام عليكم
مشكور أخي ahmedsaker على المشاركه
ولكن هنلك طريقة التتبع هل تنفع في مثل هده الألعاب

رامي لولح
22-06-2006, 01:03 PM
السلام عليكم



في لعبة او أي جزء من اجزائها GTA:VICE CITY

لما نلعب هل اللعبه نرى أن الرجال يستطيع الحركه بأربع صوروهي

الركض و الجري و المشي و الوقوف

طبعا في طريقه خامسه وهي القفز بس أحدفها من القائمه

الحين أحنا بنحاول أنسوي مثله

كل اللي علينا هو عمل ثلاثه متغيرات



المتغير الأول : متغير الطاقة (نشاط الجسم )

المتغير الثاني : متغير السرعة

المتغير الثالث : سنتكلم عنه لاحقا



الآن نأتي الى المتغير الأول والنفرض ان أعلى قيمه له هي 100

ثم ندكر خصائصه
1_ من 100 الى 40 يستطيع الركض

2_اقل من 40 لا يستطيع الركض



3_نفرض اذا الرجال ركض ننقص 2 لكل ثانيه من متغير الطاقه
ثم نذهب الى المتغير الثاني و نذكر خصائصه



1_ سرعة الركض = 4 م / ث

2_ سرعة الجري = 2 م / ث
3_ سرعة المشي =1 م / ث



4_سرعة الوقوف طبعا = 0



الآن لو جينا انحاول انطبق المثال وجعلنا الرجل يركض بدون توقف سترى ان متغير الطاقة سينقص 2/ث حتى تصل قيمته الى 38 فستلاحظ ان الرجل قد توقف عن الركض وأصبح يجري لماذا؟

طبيعي لأن قيمة المتغير أصبحت اقل من 40 وهذه من الخاصيه الثانيه

الآن ماذا نفعل لكي يصططيع الرجل الركض مره أخرى؟

الجواب

يجب زيادة متغير الطاقة

ولكن لو تم زيادة المتغير مباشره ستصبح الحركه مشوشه بين الركض والجري

ولذلك نحتاج الى المتغير الثالث والنسمه متغير الراحه

لن نحتاج الى هذا المتغير سوى في زيادة متغير الطاقه دفعه واحده لكي تصبح الحركه أكثر واقعيه

الآن نعين خصائص هذا المتغير

1_ اعلى قيمه له هي 42

2_ قيمت الإبتدائية هي صفر

3_اذا كان الرجل واقف نجعل المتغير الراحة يزداد بمقدار 3 / ث

4_ اذا كان الرجل يجري او يمشي نجعل المتغير يزداد بمقدار 2 / ث

5_ إذا اصبحة قيمت المتغير 42 تضاف هذه القيمة الى متغير الطاقة وهكذا

الآن عندما تكون قيمة متغير الطاقه38 ونزيد عليها 42 ستصبح قيمته 80

وهكذا ستصبح الحركة أفضل

بس يمكن انا معقدنها شوي و أرجو ان أرى طرق أخرى أو اذا في طريقه أخرى ممكن حد يحطها

وإذا في حد يحب يناقش يتفضل

وشكرا

||صقر||
22-06-2006, 02:15 PM
السلام عليكم
مشكور أخي ahmedsaker على المشاركه
ولكن هنلك طريقة التتبع هل تنفع في مثل هده الألعاب
و الله مانى فاهم سؤالك ياريت توضح:D

رامي لولح
22-06-2006, 06:31 PM
السلام عليكم

أخي الكريم الموقصود بطريقة التتبع هي

اننا نزيد الإحداثي السيني للخصم

إذا كان احداثي السيني للخصم أقل من أحداثي السيني للاعب

وننقص الإحداثي السيني للخصم

إذا كان احداثي السيني للخصم أكبر من أحداثي السيني للاعب

ولانوقف النقصان أو الزيادة إلا إذا تساوى الإحداثي السيني مع الإحداثي السيني

وكذلكنجري نفس العملية مع الإحداثيات الصاديه

OctoBot
22-06-2006, 08:04 PM
هلا بأخطبوط البحار السبعه ...امزح :p

أها فهمت عليك.... كنت أقصد بالمثلث 3 نقاط بس ..^^

لكن اتجاه اللاعب ....يعني قيمة الزاويه بين المرمى وأتجاهه ؟؟؟؟

معاك حق .... المفروض تكون هناك عوامل ثانيه فلازم يكون اللاعب ذكي شوي يعني يعرف وين مرمى الخصم فمثلا لوسددت واتجاه اللاعب لممراك يغير اتجاهه ويشوت ....صح ؟

(بس حرام عليك الي دقته 0 يمكن يدخلها .... راعي شعوره .... ^..^")

اعتقد أن شويت تعقيد وخلط النظريات يخلي الألعاب مسليه ويزيد الاحتمالات ويكون من الصعب تخمين شو يمكن يصير مما يخلي الألعاب مب تقليديه :)

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

انظر الصورة. طريقتك هي المربع العلوي, و طريقتي هي المربع السفلي.

( الدائرة الحمراء هي اللاعب,
الخطوط الخضراء هي المطلوب حسابه,
الخط الأحمر هو الموجود,
و الخط الأزرق هو اتجاه اللاعب )

و كذا أوضح الفرق.

Son Of UAE
23-06-2006, 12:13 AM
بخصوص الحركات المختلفة للشخصية . اقوم شخصياً بوضع متغيرات تعمل كعلم Flag.
اي بان لدي متغير تكون قيمته 1 إذا نظر لليمين و صفر إذا نظر إلى اليسار
و متغير يكون 1 إذا يمشي و صفر إذا وقف وهكذا.

ومن ثم اضع اداة If الشرطية عند القيام بأختيار الصورة المناسبة
فمثلا عندما تكون الحركة = 1 و الجهة = 1 فإنه
يأخذ الرسمة التي يتحرك بها لجة اليمين... وهكذا

وهذه انسب طريقة لي لحد الان. ;)

=====================
بالنسبة للصاروخ إلى يتبع .. اعتقد ان الطريقة غير واقعية لان الصاروخ يتجة للهدف مباشرة كانه مؤشر. و بالحقيقة فإن للصاروخ نسبة انحراف فيسلك بها مسار منحرف إلى ان يصل هدفه و تقل نسبة الإنحراف كلما زادت دقة الصاروخ. :D

من التراب
23-06-2006, 12:45 AM
هلا أفكار حلوه شباب ...^^

أكتوبوت ... اها انته دخلت اتجاه اللاعب في معادله وكان سؤالي "هل ستكون له قيمه وهي الزاويه ؟؟"

من الصوره الي رسمتها .... بنسبه لرأيي فإن المطلوب هو الظلعين والموجود هو الظلع المقابل ويساوي "مقدار الدقه" يعني موجود ....فيمكننا حساب الزاويه بعد اخذ اتجاه اللاعب بستخدام قوانين المثلثات

أما الصوره الثانيه نحسب الظلع المقابل لماذا ؟؟؟ المطلوب هي الزاويه وستكون ممتده إلى مالانهايه

هذا الي فكرت فيه فإذا عرفنا الزاويه سنحدد مسار الكره .....الصراحه حاليا انا مشوش شوي :D

ثانكس ;)

رامي لولح
23-06-2006, 04:38 PM
السلام عليكم



مراقبنا العزيز طريقتك ممتازة وبسيطه ولكن لنفرض أنك تبرمج لعبه

GTA مثل

أي لعبه شبه واقعية لأن الرجل يركض ويتعب ويمشي ويجري

فلذلك أعتقد أنك ستحتاج تطبق فكرة الراحه الموجوده في المثال



أخي العزيز ( من التراب /اكتوبوت)

في لعبة من ألعاب فيفا في جهاز السوبر نينتندو

كانوا يستخدموا في شوت الفاولات معادلة المنحني

أي يرسموا منحني ويجعلوا الكرة تمشي في هذا المنحني

هذا كل اللي أعرفه

بس هذا في السوبرنينتندو أي لعبة قديمة ولاأدري إن كانت تطبق الآن في العاب كرة القدم



وشكرا

MALTOOSH
24-06-2006, 11:45 AM
أشكرك على الجهد..

بس للأسف الكلام كتير منو مافهمت؟؟

كلو س= مدري إيش؟؟

سامحني ما فهمت ؟؟

رامي لولح
24-06-2006, 12:30 PM
السلام عليكم
مشكور أخي neooo عل مصارحتك
بس ممكن تقول ماهي الفقرات أو المثال التي لم تفهمها عشان أحاول اشرحا بطريقة أخرى
على فكرة لعبتك الجديدة ممتازة
وشكرا

MALTOOSH
24-06-2006, 12:44 PM
أخوي رامي لولح
أشكرك على محاولتك لمساعدتي ..
ولكني ركزت في الموضوع أكثر وقرأت جميع الردود ففهمت أكثر من قبل بشكل كبييير

ولكن سؤال بسيط لم أفهمه وهو:
القانون هذا:طول القطع المستقيمه =((س1-س2)^2+(ص1-ص2)^2)^0.5
هل استنتجته من شي؟؟ أم هو قانون ثابت معروف؟؟ لأني أول مرة أسمع بهذا القانون!!

وأشكرك على الجهد..
(أتمنى ترد على الموضوع حق لعبتي الجديدة).

رامي لولح
24-06-2006, 01:48 PM
السلام عليكم
مشكور أخوي neooo على ردك السريع
بالنسبة لسؤالك
هذا القانون ثابت حتاخده في صف ثاني ثنوي
وإذا في أي سؤال أسئل ولاتدردد
بالنسبة الى المثال الثالث (مثال الحركة) هل هو واضح لأني أعتقد انه أصعب مثال
وأرجو اني أرى منك ومن بقية الأعضاء المزيد من الأسئلة وأرجوا أن تكونوا صريحين معي
فإذا كان الشر مو واضح أو مومفهوم قولوا ولا تستحوا

MALTOOSH
24-06-2006, 02:34 PM
العفو أخوي ...
بالنسبة للمثال الثالث (مثال الحركة) واضح لي وفهمته لأني مجرب أحد أجزاء اللعبة ففهمت الشرح حق المثال الثالث ..
وأنا حاليا ليس لدي أي سؤال..

وشكرا لك على المساعدة والتعاون...

رامي لولح
26-06-2006, 02:34 PM
السلام عليكم
أخواني الكرام أنا بحاول أشرح عمل مثال عن التسلل اللي في الكورة
فهل أشرحه أم هو معروف
إذا معروف بحاول أروح الى لعبة gta


أخي الكريم neooo
اشكرك على متابعتك للموضوع

||صقر||
26-06-2006, 03:16 PM
السلام عليكم
أخواني الكرام أنا بحاول أشرح عمل مثال عن التسلل اللي في الكورة
فهل أشرحه أم هو معروف
إذا معروف بحاول أروح الى لعبة gta
اعتقد بأنك تشرح الإثنين أفيد للأعضاء ;)

MALTOOSH
26-06-2006, 04:09 PM
أنا لدي نفس تعليق الأخ أحمد صقر


اعتقد بأنك تشرح الإثنين أفيد للأعضاء ;)

وشـــكــرا لك ...

رامي لولح
26-06-2006, 04:36 PM
السلام عليكم
مشكور أخي أحمد على ردك
ومن أعيوني ححاول أشرح الإثنين
بس أمهلوني بعض الوقت

Son Of UAE
26-06-2006, 05:22 PM
ما شاء الله شغالين .. و على ألعاب كبيرة بعد .. :D

حبيت اضيف طريقة فتح صندوق في بعض الألعاب ويعطيك اشياء مختلفة .

فالنفرض اننا لو فتحنا الصندوق للمرة الاولى يعطينا سلاح
و المرة الثانية يكون فارغ
و المرة الثالثة يكون فارغ
و المرة الرابعة يكون به علاج
و الخامسة وما فوق يكون فارغ

اول شيء نضع متغير numberOfOpens ويكون صفر .
كل مرة نقوم بفتح الصندوق يقوم بالتأكد من عدد مرات الفتح
فلو كانت صفر سوف يعطيك سلاح
ولو كانت ثلاث سوف يعطيك علاج
و باقي الأرقام سيكون فارغ

وبكب مرة تفتح الصندوق يكون يزيد عدد مرات الفتح بواحد
وبهذا نقوم بصنع صندوق ذكي يخفي علاج في جعبته :biggthump

رامي لولح == انا افضل الامثلة التي بها رياضيات وقوانين . كثر منها الله يخليك :أفكر:

رامي لولح
27-06-2006, 03:09 AM
السلام عليكم
أخي الكريم neooo أرجوا أن تعدرني لأني لم أرد على ردك
لأني رأيت رد الأخ أحمد ورديت عليه ولم أنتبه على ردك
وأكرر أسفي مرة أخرى وأرجوا أنك ماتشيل علي
وأشكرك على ردك


مراقبنا العزيز
أشكرك على ردك وطريقتك ممتازة جدا
وأنا لاحظ أن أسلوبك في الشرح مميز وسهل الفهم
وكنت أتمنا لو أملك ولو شوي من أسلوبك

رامي لولح
27-06-2006, 04:14 AM
السلام عليكم



مثال عمل التسلل

أولا أعتقد الكل يعرف معنى التسلل فلذلك دعونا نباشر بالخطوة الثانية

الآن

دعوني أوجه لكم سؤال بسيط

كم لاعب ستحتاج لعمل تسلل ؟

الجواب :

لاعبان لك ( لكي تستطيع التمرير )

ولاعب للخصم

الخطوة الثالثة(معرفة الحداثيات )

بما أنها لعبة كرة القدم فمن الطبيعي أن تكون أحداثيات كل لاعب معروفه

الآن بما أنك تعرف موقع اللعيبة وذلك عن طريق الإحداثيات (س,ص) لكل لاعب

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

فإن الحكم يحتسب تسلل

المهم الآن كيف تعرف اللعبة أن حدث تسلل؟

الجواب :

هناك طريقة بحيث تحسب بعد كل لاعب في الملعب (ماعدا الحراس) عن جهة خصمك بخط أفقي

وإحنا أخدنا القانون وهو قانون طول القطعة مستقيمة وهذا هو

طول القطع المستقيمه =((س1- س2)^2+(ص1- ص2)^2)^0.5

ولكن هناك ملاحضة

س1وص1 =إحداثيات اللاعب(اي لاعب في الملعب) اللي تبغا تعرف بعده عن جهت الخصم بخط أفقي طبعا.

س2وص2 = أحداثيات النقطة التي تتصل مع اللاعب بخط أفقي بشرط أن تكون آخر نقطة في المستقيم(الخط)

وذكرنا سابقا أن المستقيم من جهة مرمى الخصم (لأن التسلل عليك )

إذ لم تفهم راجع مثال المسافة أو أخبرني

طيب الحين خلينا نأخد مثال على ما سبق

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



أيضا معلومة لأن اللاعب والنقطة يقعوا على خط أفقي إذا الإحداثيات الصادية متساويه



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



بما أن احداثيات السينية للنقاط التي تقع في آخر الملعب جميعها متساوية إذا

الخلاصة

س1وص1: أنت تحددهم لأنهم موقع اللاعب

س2: ثابت في جميع المعادلات(انت اللي تحدده طبعا)وهو عبارة عن أكبر أحداثي سيني في الملعب

ص2: يساوي ص1(لأن خط أفقي )

طيب لو فرضنا إنا عوضنا قيم الإحداثيات في اللعبة وطلعت قيمة

لاعبك الأول يبعد مسافة 35م

لاعبك الثاني يبعد مسافة 20م

لاعب فريق الخصم يبعد مسافة 30م

طيب السؤال الحين

لو مرر لاعبك الأول الى لاعبك الثاني هل يحدث تسلل؟

نعم يحدث لأن لاعبك الثاني متقدم على لاعبهم بمسافة 10م

الآن هل إتضحة الفكرة

الآن لنأخد ملخص ماسبق

1_ يجب معرفة المسافة الأفقية بين اللاعب وآخر جهة الخصم



2_إيجاد مسافات جميع اللاعبين لفريقك وعددهم عشرة لعيبة لأن الحارس لانحسب مسافته



3_تعين اللاعب(من لعيبتك) صاحب المسافة الأقل



4_مثل الخطوة الثانية بس على الفريق الخصم



5_مثل الخطوة الثالثة بس على الفريق الخصم



6_تعين اللاعب الذي يملك الكرة

الآن ستلاحضون أن اللعيبة اللي عيناهم عددهم ثلاثة والمذكورين في الخطوات (3 و 5 و6 ) وهذا جواب السؤال الأول

طيب الآن يجب عليك أن تضع عبارات شرطية وتقارن بين لاعبك صاحب المسافة الأقل ولاعبهم صاحب المسافة الأقل

فإذا كان مسافت لاعبك( مثلا 10م) ومسافة لاعبهم (مثلا 15م)

يحصل تسلل لأن مسافة لاعبك أقل من مسافة لاعبهم

أما إذا كانت أكبر فلا يحصل تسلل

وطبعا لاتجري هذه المقارنة إلا إذا تم تمرير الكرة



ولكن ماذا لو كان لاعبك صاحب الكرة متقدم على الجميع ومرر الكرة إلى الخلف

هل يحدث تسلل ؟

لا لايحدث السبب لأن لاعبك صاحب الكرة سيأخد قيمتين وهي

1_انه صاحب الكرة

2_صاحب المسافة الأقل

أيبمعنى آخر

مسافة لاعبك صاحب الكرة= مسافة لاعبك صاحب المسافة الأقل

لأنه نفس اللاعب



لذلك يجب علينا تعديل المقارنة ونضيف عليها :

و يجب أن تكون مسافة لاعبك صاحب الكرة أكبر من مسافة لاعبك صاحب المسافة الأقل.



وأرجو أن أرى طرق أخرى

وإذا كان هنالك خطأ أرجو تصحيحه

وشكرا

MALTOOSH
27-06-2006, 05:04 AM
أولا: أشكر الأخ SON Of UAE
على شرحه الممتاز ...:)

ثانيا: بالنسبة لردك يا رامي لولح:

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

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

ثالثا: بالنسبة لشرح مثال عمل التسلل
الشرح ممتاز والحمدلله أنا فهمته ...:)
وأشكرك على الشرح..

||صقر||
27-06-2006, 10:52 AM
مشكورين كلكم والله مجهود رائع منكم :D

رامي لولح
27-06-2006, 06:14 PM
السلام عليكم
أخي الكريم neooo
مشكور على ردك

أخي الكريم أحمد
مشكور أيضا على ردك

amdman
28-06-2006, 01:01 AM
السلام عليكم و رحمة الله و بركاته

و الله أفكار رائعة و كان نفسى أقوم بفتح هذا الموضوع من قبل لكن الظروف لم تسمح
المهم .. هل تتحدثون عن لعبة كرة قدم ثنائية أم ثلاثية الأبعاد ؟
لو اللعبة ثنائية فكيف نجعل اللاعبين يأخذون مواقعهم و تحركاتهم أثناء المباراة و عندما تريد أن تحرك أقرب لاعب لديك للضغط على حامل الكرة من المنافسين؟!؟!
عندى فكرة لكن عتيقة بعض الشئ وهو أن نقسم مساحة الملعب على عدد اللاعبين العشرة ثم تكون المساحة الخاصة بكل لاعب على شكل مستطيل يكون اللاعب فى منتصفه و نقسم الملعب الى ثلاث مستطيلات و هى تعبر عن سير اللعب ( هجوم - فى منتصف الملعب - دفاع ) و عندما تكون الكرة فى أى من المستطيلات الثلاثة فإن أماكن اللا عبين تتغير تبعا للمطلوب و هكذا..
وعندما تكون الكرة مع لاعب منافس فإن مؤشرك ينتقل تلقائيا الى اللاعب التى تكون الكرة داخل مستطيله من لاعبيك..
هذا عرض لفكرة كانت تجول بخاطرى و لكن ان كان هناك أفكار أبسط و أكثر فاعلية فأرجو وضعها حتى نستفيد منها .. على فكرة موضوع التسلل رائع :biggthump

nash2
28-06-2006, 10:55 AM
ما شاء الله موضوع مميز وشيق , وارجوا طرح المزيد من الافكار , وانا من المتفاعلين مع الموضوع .

سمسم المبرمج
28-06-2006, 01:06 PM
فعلا موضوع شيق وانا متابع الموضوع باستمرار
انا مبتدئ بعض الشئ في برمجة الالعاب وارجو طرح مزيد من الافكار لتنمية مواهبنا
وهل ممكن تقديم مثال مع الشرح ؟

من التراب
28-06-2006, 06:03 PM
ياسلام ع الأفكار ^_^ ...تسلمون

فكرت من شوي في قضية "البيضه والدجاجه" :31:
وبلغة المبرمجين "الأوبجكت والكلاس" .. ;)

أنا تسألت "2D و 3D " ...:D

بإختصار "فلسفه"

أقصد ... ليش ما نبرمج لعبه 2دي وتكون الكمره من أعلى "عاموديه" ونصنع الأحداث مثل حدث التصادمات (الي تعتبر المشكله في 3 دي)
وبعد برمجة اللعبه بعتبارها في بعدين .. نربطها بصور أو مجسمات تتحرك في 3 أبعاد لكن الأحداث تنطبق على الـ 2 دي الغير مرئيه لللاعب.... :D

يعني تخيل أن البرمجه على الخريطه والي تشوفه بس واجهه ... :wow:

موفقين ... ;)

رامي لولح
28-06-2006, 09:20 PM
السلام عليكم

مشكور أخي الكريم amdman

فكرتك ممتاز بس عندي بعض الملحوضات

أنت قلة أن اللعبة ثنائية وفي الحقيقة أن الفكرة تطبق على اللعبة الثلاثية أيضا لأن اللعبة الثلاثية عبارة الفضاء (الفراغ ) والملعب عبارة عن المستوى المحتوى في الفضاء

بس حبيت أعطي راي في فكرتك

أنت قلت نقسم الملعب إل ثلاث مسططيلات فكرة جميلة ولكن تكمن المشكلة في معرفة

إذا كان اللاعب يقع في المسططيل أم لا وهذا يمكن حلها ولكن ليست سهلة

نأتي الى موقع اللاعب أنت جعلته في وسط المسططيل وهذه أصعب من المشكلة اللي اللقبلها

بحيث يتطلب معفة موقع اللعيبة إذا كانوا يقعوا في المسططيل أم لا

ولكن يمكن أنتعمل نفس الطريقة بالمسافة بحيث تحسب مسافة اللعيبة عن اللاعب اللي يملك الكرة

إذا أصبحة المسافة معينة ينفد اللاعب الأمر المطلوب وهذه الطريقة أبسط من اللي قبلها



وبالنسبة الى مواقع اللعيبة إحنا نقدر نقسمها الى قسمين

1_ قبل المباراة (أو في بداية المباراة)

2_ أثناء اللعب

بالنسبة الى الأوله وهي اللي توضع بالخطة ولكن لايسطيع المهاجمين تعدي خط الوسط

والثانيه وهي عبارة عن الخطة نفسها ولكن تأثر عليها موقع الكرة

وقد يسئل أحد عن كيفيت وضع الخطة أوتأثيرها على موقع اللاعب

الجواب

وأنت تلعب لعبة كرة القدم وتأتي الى تغير الخطة سترى أن اللعيبة يتغير مواقعهم في الخريطة

بحسب نوع الخطة

وهذا دليل على أن اللخطة عبارة عن إحداثيات جاهزة يعملها مبرمج اللعبة



وأشكرك أخي على طرح فكرتك



أشكرك أخي الكريم nash2 على مرورك



أشكرك أخي الكريم سمسم المبرمج على ردك




أخي الكريم من التراب أشكرك على طرح فكرتك

ولكن هل تقصد مثل الملعب واللعيبة

بحيث الملعب 2d

اللعيبة 3d

وشكرا

d.a.m.h
29-06-2006, 12:58 AM
الموضوع شيق فعلا ومفيد ولم اتخيل ان يأخذ مساحة واسعة مثل هذه
لكنى حاليا اعانى من جفاف الافكار (نضوب القريحة كما يقول الشعراء) ولكن اى فكرة سأضيفها فورا

لكن يا رامى لولح لماذا شرحك يعتمد على قوانين الهندسة بصورة مركزة؟؟؟ لاحظ انه ليس كل الاعضاء لهم خبرة بالقوانين الهندسية (وانا منهم :31: ) لذا ياريت لو تبسط الشرح اكثر...وشكرا :D

من التراب
29-06-2006, 01:10 AM
هلا رامي لولح ... ما كنت أقصد الكوره وبس

يعني تخيل أنك تريد تبرمج لعبه تكون فيها سياره تمشي من اليمين لليسار والكمره من الجانب وفوق

فيمكن تمر السياره جنب سياره ...لكن الصورتين سيتصادمن ^^

فإذا برمجت اللعبه بنماذج منفوق بكمره عاموديه ...أما الجرفكس والصور الظاهره فلا دخل له في بالتصادم ...^.^

أتمنى أني وصلت الفكره

d.a.m.h ...هلا فيك ما أعتقد أن يمكن الاستغنى عن هذه القوانين لكن لو تخيلتها على الاحداثيات يمكن استنتاجها بسهوله ...^^" أعرف أنها تبدو معقده بس ممتعه :D

أعرف أن عندك أفكار يالله ;)

بالتوفيق

سمسم المبرمج
29-06-2006, 01:30 AM
السلام عليكم
افكاركم حلوة جدا وعجباني
وانا صحيح مبتدئ
بس بحاول افكر زيكم
استفدت من اللي انتم قلتوه شوية
وحاولت اقلدكم شوية
طلعت شوية طريق يمكن تكون قديمة ومعروفة
لكن هي محاولة على كل حال
نبدأ
___________
أولا :
الوقت المحتسب بدل الضائع
اظن كلنا عارفين معناه
ماشي
علشان نحسبه
ممكن نعمل متغير
يزيد كل ما يحصل foul خطأ يعني بمعدل معين
وكل ما يحصل out بمعدل معين
وبعدين طبعا البرنامج حيحسبهم ويشغلهم بعد الوقت الأساسي
هي دي الفكرة وارجو التعليق عليها
_____________
ثانيا
اثناء لعبي للعبة كرة القدم FIFA 2003
لاحظت ان اللاعب اللي انا العب به
حين يكون في منطقة دفاعي
يعني مثلا حارس المرمى ممرها له او ما شابه
و ابدأ اتقدم الى منطقة خط الوسط
يكون اللاعب الخصم اللي بيكون مراقب لاعبي
بيتحرك بطريقة خلفية في البداية ( يعني يكون ماشي للخلف في حين عينه عليا وعلى الكرة)
ولو اتقدمت شوي
الاحظ انه يبدأ يدخل علي لاعبي ويحاول اختطاف الكرة
اظن ان احنا ممكن نعمل كدة عن طريق فكرة الاخ amdman
اننا نقسم الملعب مستطيلات
وبعدين نقول مثلا
لو اللاعبي في المستطيل الاول ( اللي هو قريب من الحارس يعني )
اللاعب الخصم يتراجع
لو اللاعبين في المستطيل التاني او كل واحد في مستطيل يبدأ يدخل عليه ويحاول انتزاع الكرة منه
دي افكار
يا ريت حد يعلق عليها ويقول لي الخطأ اللي فيها

رامي لولح
30-06-2006, 11:08 AM
السلام عليكم

آسف على التأخر
أخي الكريم d.a.m.h
كلامك صحيح الهندسة فيها شوية صعوبة
ولكن لاغنا لنا عنها لأنها تستخدم في الألعاب بشكل كبير بل تستخدم بشكل معقد



أخوي العزيز من التراب

مشكور على التوضيح

وأنا بالنسبة الي أعتبر كشف التصادم هو أصعب من الذكاء الإصطناعي

ولاأدري ماذا يستخدم الغرب في العابهم بالنسبة الى التصادم

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

وهذا اللي محيرني

وأنا أرى أن ألعابنا جيده جدا في الذكاء الإصطناعي بالنسبة

للشخصية

أمابالنسبة الى بالوسط المحيط (مثل الجدران وماشابه ) فأعتقد أنه تعبان مثل التصادم

وأنا أعتقد أن السبب هو أجتهادنا في ذلك

والدليل مواضيع الأخوان و أكتبوت في الذكاء الإصطناعي d.a.m.h



أخي الكريم سمسم

فكرتك الأول صحيحة وممتازة

أما بالنسبة الى الثانية فتسططيع معرفة موقع اللاعب في أي قسم من الملعب

بواسطة الإحداثيات مثال

لو فرضنا أن ملعب

إحداثيه السيني الأول=0(بدايت جهتك)

وإحداثيه السيني الثاني =120(نهاية جهت خصمك)

نريد تقسيمه الى ثلاث مناطق أي سنقسم طول الملعب على 3

أي طول كل منطقة =40

الدفاع من 0 الى 40

الوسط من 40 الى 80

الهجوم من80 الى 120

ولكن هناك مشكلة خروج اللاعب من الملعب بسبب زيادة أو نقصانالإحداثي الصادي للاعب

وشكرا