Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
نظرية لعبة نهاية عصفور شجاع
في البداية سنتكلم عن الفكرة الاساسية للعبة ... بعد تجربة اللعبة ستكتشف ان اللعبة لا تنتهي و العصفور يطير باتجاه اليمين إلا ماله نهاية ... او بان ينقض عليه الصقر او يمسك به القط او ان يصطدم باحد الاسلحة.
السؤال الاول ... كيف لا تنتهي الغرفة ؟؟؟
في الحقيقه ... حجم الغرفه هو 800 في 600 فقط ... ولكن الخلفية تتحرك من الجهة اليمنى إلى الجهة اليسرى .. و هو ما يوحي للمستخدم بان العصفور يطير بسرعة ثابته بالاتجاه المعين ... ولكن في الحقيقة العصفور ثابت في مكان واحد لكنه يرتفع و ينزل فقط.
السؤال الثاني ... كيف يعرف الصقر ان عليه الانقضاض في اللحظة المناسبة ؟
يتكون الصقر من ثلاث مراحل ... المرحلة الاولي هي انتظار الفريسة ... المرحلة الثانية هي الانقضاض و تتبع العصفور ... المرحلة الثالثة اخذ الفريسة و الطيران بها إلى الاعلى. في الحقيقة كل مرحلة هي عبارة عن اوبجيكت مختلف عن الاخر... ولكن كيف تم ذلك ؟؟؟؟ الخطوة الاولي ... هي اني وضعت الصقر في الزاوية العليا و اليسرى للشاشة ليوحي بانه ينتظر الفريسة. عندما يرتفع العصفور لحد معين قد تم تحديدة بالبرنامج فان اوبجيكت الصقر الثابت يختفي و يظهر اوبجيكت الصقر المنقض من نفس مكان الاول ليحوي بانه نفس الصقر الاول... سيستمر الصقر المنقض بتتبع العصفور عن طريق استخدام بعض الاوامر إلى ان يلامس الفريسة ... بعدها ... يختفي الصقر المنقض و يظهر الصقر ممسكان بالفريسة بالاوبجيكت الثالث ... يظهر الاوبجيكت الثالث مكتن تلامس الصقر المنتقض مع العصفور ليوحي بستمرار الحدث ... و لاحظ ان العصفور يجب ان يختفي ايضا لانه اصبح بين مخالب الصقر.... ولكن ماذا يحدث لو كان الصقر المنقض ( اوبجيكت 2 ) يتبع العصفور ولكن العصفور مات بعد ملامسة احد الاسلحة قبل ان يصل إلية الصقر ؟؟؟؟ الجواب هو ان الصقر يتاكد من وجود اوبجيكت العصفور ... فان لم يجد فانه سيستمر بالطيران إلى الامام... كل هذي الوامر تمت عن طريق برمجة ثلاث اوبجيكتات مختلفة لكن تم الدمج بينهم بطريقة جميلة جدا ....
نظرية القط و الاسلحة و العصفور بعد ان اجد ردود من ثلاث اعضاء مختلفين !!! :cool:
Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
مشكور أخوي لكن ممكن الشرح بالتفصيل يعني بالاوامر كلها
تشاو
Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
يا spider هذه الفكرة الاساسية بس يعني انتظر الخير جاي... الاخ son of uae ما راح يقصر وياكم... :)
بالنسبة لمسالة الصقر
الصراحة انا اشوف ان في طرق اسهل من الطريقة المستخدمة بس هذه الطريقة تدل على الذكاء رغم تعقيدها نسبيا :tongue2:
ننتظر المزيد :)
Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
اقتباس:
المشاركة الأصلية كتبت بواسطة Mr.Spider
مشكور أخوي لكن ممكن الشرح بالتفصيل يعني بالاوامر كلها
تشاو
السؤال الثاني ... كيف يعرف الصقر ان عليه الانقضاض في اللحظة المناسبة ؟
يتكون الصقر من ثلاث مراحل ... المرحلة الاولي هي انتظار الفريسة ... المرحلة الثانية هي الانقضاض و تتبع العصفور ... المرحلة الثالثة اخذ الفريسة و الطيران بها إلى الاعلى. في الحقيقة كل مرحلة هي عبارة عن اوبجيكت مختلف عن الاخر... ولكن كيف تم ذلك ؟؟؟؟ الخطوة الاولي ... هي اني وضعت الصقر في الزاوية العليا و اليسرى للشاشة ليوحي بانه ينتظر الفريسة. عندما يرتفع العصفور لحد معين قد تم تحديدة بالبرنامج فان اوبجيكت الصقر الثابت يختفي و يظهر اوبجيكت الصقر المنقض من نفس مكان الاول ليحوي بانه نفس الصقر الاول... سيستمر الصقر المنقض بتتبع العصفور عن طريق استخدام بعض الاوامر إلى ان يلامس الفريسة ... بعدها ... يختفي الصقر المنقض و يظهر الصقر ممسكان بالفريسة بالاوبجيكت الثالث ... يظهر الاوبجيكت الثالث مكتن تلامس الصقر المنتقض مع العصفور ليوحي بستمرار الحدث ... و لاحظ ان العصفور يجب ان يختفي ايضا لانه اصبح بين مخالب الصقر.... ولكن ماذا يحدث لو كان الصقر المنقض ( اوبجيكت 2 ) يتبع العصفور ولكن العصفور مات بعد ملامسة احد الاسلحة قبل ان يصل إلية الصقر ؟؟؟؟ الجواب هو ان الصقر يتاكد من وجود اوبجيكت العصفور ... فان لم يجد فانه سيستمر بالطيران إلى الامام... كل هذي الوامر تمت عن طريق برمجة ثلاث اوبجيكتات مختلفة لكن تم الدمج بينهم بطريقة جميلة جدا ....
-------------------
نسمي الاوبجكت الاول ( الذي ينتظر الفريسة ) obj_wait'n في هذا الاوبجكت حط الحدث step و في الحدث حط الامر if a varible = a value و في الامر اكتب اسم المتغير ffffff.y (*بدال ffffff حط اسم الطائر ) و بعد ما هذا الامر حط change into an object و حط ان الاوبجكت obj_wait'n يتحول الى obj_attack (*الاوبجكت obj_attack هو اسم الصقر المنقض ) و حط في الاوبجكت الثاني حدث الاصطدام مع العصفور و حط في هذا الحدث امر change into an object وحط الاوبجكت obj_attack يتحول الى obj_fly_away (*في الاوبجكت obj_fly_away حط الحدث create و في هذا الحدث حط تدمير العصفور و الاتجاه الى اعلى و خلاص
************واحد منكم و يعيد صياغة الاحداث و الاوامر لاني مو فاتح البرنامج
Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
Mr.Spider === انا قلت من قبل ان هذا كان نظرية لعبة نهاية عصفور شجاع ... انا بعدني ما بديت بالشرح
و الاخ black ash drago ... محاولة حلوة بس مش 100% ;)
انا بكتب عن القط و الاسلحة و العصفور و بعدين ببداء بشرح الاوامر
Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
نظرية القط تتشابة كثيرا مع نظرية الصقر .... ولكن
القط يحوي اوبجيكتين .... الاول هو القفز و الثاني هو الامساك ...
عندما ينزل العصفور لحد معين يظهر القط من اسفل الشاشة و يقفز بسرعة معينه و المكان المحدد تحت العصفور مباشرة
عندما يلمس القط العصفور فانه يتغير إلى الاوبجيكت الثاني و العصفور يختفي من الشاشة... مما يودي إلى انتهاء اللعبة
بسيطة الفكرة صح ؟ :أفكر:
Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
ادري انه مو 100% لاني مني فاتح كمبيوتري انا بكمبيوتر ابوي لان كمبيوتر محروق محوله من الضغط تحس خراب جاي من زيادة الادمان
Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
الحين نظرية الاسلحة ... وهي بسيطة جدا ...
في البداية نتكلم عن الشيء الظاهري للعبة .. وهو ما يشاهدة المستخدم اثناء اللعب ... في البداية تكون الشاشة خالية من اي سلاح .. و لكن بعد مرور ثواني قليلة يخرج السلاح الاول من جهة اليمين بشكل افقي.. و يتكرر ذلك ... بخروج اسلحة عديدة كن نفس النوع على ارتفاعات مختلفة .. و بعدها يزيد على السلاح الموجود سلاح اخر و بنفس الطريقة إلى ان يصل عددها إلى ثمانية اسلحة ... السؤال هي كيف تمت برمجتها بهذهي الطريقة؟؟؟؟
الجواب هو ... اني قمت بتصميم اوبجيكت مخفي ... يكون هو وحدة التحكم بالسلحة ... و هو المسؤول عن اظهار الاسلحة على حسب توقيتها و ارتفاعها العشواءي... فكما هو معروف يمتلك كل اوبجيكت ثمانية مؤقتات ولقد استخدمتها في اوبجيكت التحكم بالسلحة لتكون كما يلي في حدث الcreate :
alarm0 == السكين === يخرج بعد ثلاث ثواني في المرة الاولى
alarm1 == النجمة === تخرج بعد ثلاثين ثانية في المرة الاولى
alarm2 == الشوكة === تخرج بعد ستين ثانية في المرة الاولى
إلخ
بعد خروج كل سلاح في اي مؤقت ... يتم ضبطه مرة اخري بحيث يخرج كل فترة بسيطة كما هو ملاحظ ... وهذي العملية هي التي تؤدي إلى النتيجة الموجودة باللعبة...
يقوم اوبجيكت التحكم بالسلحة بوضع الاسلحة بشكل عشوائي بالغرفة على الجهة اليمنى للغرفة ... و لقد تمت برمجة الاسلحة حيث انها تتجة لجهة اليسار فورا بعد وضعها بالغرفة ... وهذا يوحي بان الاسلحة تكون مرمية من الجهة اليمني و يحدث التصادم مع العصفور حيث انه لا يوثر ابدا على السلاح و لكنه يقتل العصفور و يحوله إلى اوبجيكت الموت .. من غير ريش ... مما يؤدي إلى انتهاء اللعبة ...
هناك ملاحظة مهمة جدا بخصوص الاسلحة .... جميع الاسلحة متشابة بالخواص و التأثير على العصفور و باقي الاوبجيكتز ... لهذا ينصح بستخدام خاصية الParents بان تقوم ببرمجة سلاح واحد فقط و تجعل باقي الاسلحة تاخذ جميع اوامرها و صفاتها ما عدا شكل الصورة او ما يعرف بالSprite ... وهذا سيوفر الكثير من الجهد و الوقت و الذاكرة ..
في الختام احب ان اذكر بان اهم شيء بنظام الاسلحة كان اوبجيكت التحكم بالاسلحة ... حيث انه نفسة المستخدم في السلاح الكامل ... و او اي العاب من نفس النمط
الموضوع القادم سيكون عن العصفور انشاء الله ... وهو عنصر مهم جدا باللعبة
Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
مشكووووووووووووووووووووووووووووووور
وارجوا انك تواصل
وآسف على الانقطاع بسبب الامتحانات
تشاو
Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
اقتباس:
المشاركة الأصلية كتبت بواسطة Mr.Spider
مشكووووووووووووووووووووووووووووووور
وارجوا انك تواصل
وآسف على الانقطاع بسبب الامتحانات
تشاو
انا وقفت متعمد لان الاعضاء عندهم امتحانات .... قلت لما يخلصون بكمل نظرية العصفور ... و بعدين ببداء بشرح الاوامر
انا الحين اتضر ردين من الاعضاء عشان اكمل ;)
Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
اجل الموضوع اسبوع ^_^
لأني بعد اسبوع اخلص >_<
Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
thanks son of uae (havent been here for a while)as 4 me i always have exams but i'll be watching ur topic
cya
Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
أخلص حط الطريقه (الشرح)
_____________________________
أنا سوليدسXسنيك:ciao:
Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
كمل Son Of UAE
لأني خلصت الكوابيس اقصد الامتحان :blackeye:
Re: درس تصميم لعبة كاملة على نمط "نهاية عصفور شجاع"
اسمحولي يا شباب .... انا الحين مشغول ... عطوني فرصة ... اقل من اسبوع والله
باي ... وشكرا لمتابعتكم