طيب ممكن تنزل اخر كود ممكن نطور عليه
ونكتب الملاحظات الهانقوم بتعديلها
عشان كدا انا تهت ايه المطلوب الان
طيب ممكن تنزل اخر كود ممكن نطور عليه
ونكتب الملاحظات الهانقوم بتعديلها
عشان كدا انا تهت ايه المطلوب الان
انا خلصت الجزء الخاص بالهروب و ناقصلي حججات كتير منها ماذا يفعل القرصان عند الاصتدام ياريت تديني الكود الخاص به لاعدل عليه اوامر الابتعاد عن الصخرة انا مستني ردك
مش مشكله المهم نطلع اللعبه فعلا:
mafia_alex
بيقول عمل جزء الهروب
omar_cplusplus
منتظرين منه الكود الاخير
----------
وانا منتظر الخطوه القادمه
ايه الاسئله العندك ؟mafia_alex
عشان نحاول نفكر سوا
اقتباساعرف ان الأمر غريب لكن لو قرأت سنريو اللعبه لعرفت السببالقراصنه تهرب لأن معهم كود دخول الجزيره
أعتقد أنه من الأفضل أن أكون أنا القرصان و السفن التي تهرب و معها الكود سفن عادية
اقتباسانا خلصت الجزء الخاص بالهروب و ناقصلي حججات كتير منها ماذا يفعل القرصان عند الاصتدام ياريت تديني الكود الخاص به لاعدل عليه اوامر الابتعاد عن الصخرة انا مستني ردك
دالة التصادم ليس فيها إلا أنها تكتشف التصادم و تقوم بإرجاع السفينة إلى الوراء قليلاً حتى لا تكون السفينة و السفينة الآخرى (أو الصخرة) فوق بعض
يمكنك أن تستعمل دالة تصادم السفن لتقول
if (TasadomSS(&A,&S))
طبعاً بهذا الشكل ستكون الدالة كالآتي (دالة تصادم السفن بالسفن)
int TasadomSS(Ship *SHIP, Ship *SHIP2)
{ line SH[14],SH2[14];
float S1 = SHIP->speed ,S2 = SHIP2->speed;
float O1 = SHIP->omega, O2 = SHIP2->omega;
SH[5].X2 = SH[0].X1 = 0.162422*cos(1.570796+SHIP->theta)+SHIP->x;
SH[5].Y2 = SH[0].Y1 = 0.162422*sin(1.570796+SHIP->theta)+SHIP->z;
SH[0].X2 = SH[1].X1 = 0.113871*cos(1.184914+SHIP->theta)+SHIP->x;
SH[0].Y2 = SH[1].Y1 = 0.113871*sin(1.184914+SHIP->theta)+SHIP->z;
SH[1].X2 = SH[2].X1 = 0.121570*cos(-1.076855+SHIP->theta)+SHIP->x;
SH[1].Y2 = SH[2].Y1 = 0.121570*sin(-1.076855+SHIP->theta)+SHIP->z;
SH[2].X2 = SH[3].X1 = 0.152470*cos(-1.559927+SHIP->theta)+SHIP->x;
SH[2].Y2 = SH[3].Y1 = 0.152470*sin(-1.559927+SHIP->theta)+SHIP->z;
SH[3].X2 = SH[4].X1 = 0.125997*cos(-2.022610+SHIP->theta)+SHIP->x;
SH[3].Y2 = SH[4].Y1 = 0.125997*sin(-2.022610+SHIP->theta)+SHIP->z;
SH[4].X2 = SH[5].X1 = 0.108232*cos(1.999975+SHIP->theta)+SHIP->x;
SH[4].Y2 = SH[5].Y1 = 0.108232*sin(1.999975+SHIP->theta)+SHIP->z;
SH2[5].X2 = SH2[0].X1 = 0.162422*cos(1.570796+SHIP2->theta)+SHIP2->x;
SH2[5].Y2 = SH2[0].Y1 = 0.162422*sin(1.570796+SHIP2->theta)+SHIP2->z;
SH2[0].X2 = SH2[1].X1 = 0.113871*cos(1.184914+SHIP2->theta)+SHIP2->x;
SH2[0].Y2 = SH2[1].Y1 = 0.113871*sin(1.184914+SHIP2->theta)+SHIP2->z;
SH2[1].X2 = SH2[2].X1 = 0.121570*cos(-1.076855+SHIP2->theta)+SHIP2->x;
SH2[1].Y2 = SH2[2].Y1 = 0.121570*sin(-1.076855+SHIP2->theta)+SHIP2->z;
SH2[2].X2 = SH2[3].X1 = 0.152470*cos(-1.559927+SHIP2->theta)+SHIP2->x;
SH2[2].Y2 = SH2[3].Y1 = 0.152470*sin(-1.559927+SHIP2->theta)+SHIP2->z;
SH2[3].X2 = SH2[4].X1 = 0.125997*cos(-2.022610+SHIP2->theta)+SHIP2->x;
SH2[3].Y2 = SH2[4].Y1 = 0.125997*sin(-2.022610+SHIP2->theta)+SHIP2->z;
SH2[4].X2 = SH2[5].X1 = 0.108232*cos(1.999975+SHIP2->theta)+SHIP2->x;
SH2[4].Y2 = SH2[5].Y1 = 0.108232*sin(1.999975+SHIP2->theta)+SHIP2->z;
if (Modala3(SH2,SH,6,6))
{ SHIP->acceleration = -SHIP->acceleration;
SHIP->speed = -SHIP->speed;
SHIP->omega = -SHIP->omega;
SHIP->MoveShip();
SHIP->speed = SHIP->omega = SHIP->acceleration = 0;
SHIP->health -= 5;
SHIP2->acceleration = -SHIP2->acceleration;
SHIP2->speed = -SHIP2->speed;
SHIP2->omega = -SHIP2->omega;
SHIP2->MoveShip();
SHIP2->speed = SHIP2->omega = SHIP2->acceleration = 0;
SHIP2->health -= 5;
return 1;
}
return 0;
}rewsh كتب:مش مشكله المهم نطلع اللعبه فعلا:mafia_alex
بيقول عمل جزء الهروب
omar_cplusplus
منتظرين منه الكود الاخير
----------
وانا منتظر الخطوه القادمه
ايه الاسئله العندك ؟mafia_alex
عشان نحاول نفكر سوا
الكود الأخير ؟
تقصد هذا الذي وضعته صباح اليوم؟
طيب دا الكود الاخير الهانطور عليه كلنا ان شاء الله
طيب تعالو نقسم شويه كدا
mafia_alex بيقول انه اشتغل في الجزء
وصلت لاي مرحله بحيث نساعد ومانعدش البتعمله
----------
الاخ عمر كتلة من النشاط ما شاء الله ..
اقتباسلا غنى لأي لعبة عن الدوال المثلثية ... و طالما أن اللعبة إلى الآن تعمل بصورة جيدة و ليس هناك بطء فلا بأس بها
كلامك صحيح و كلام الاخ hunter .. صحيح .. الحل الوسط هو بأن تطور دالة أسرع من ال Cos و Sin ..
تقوم باتشاء مصفوفة .. تحمل أكبر قيم ممكنة ..
تحسب الزاوية التي تريد .. باستخدام for loop من 1 الى360 .. بحسب الدقة التي تريد ..
وبالتالي أثناء اللعب .. تستدعي الزاوية من المصفوفة .. وهذا أسرع بكثير .. ولكن سيكونعلى حساب الذاكرة .. سنكلف الذاكرة حوالي 50 كيلو بايت لكل مصفوفة .. ( مصفوفتين ) .. تقريبا .
تعلمت هذا من اعضاء في هذا القسم مثل أحمد صالح و حسن الجودي ..
هذا أمر جانبي . . لذلك من الممكن أن اطور هذه الجزئية لو أحببت ذلك أخي عمر .. ولكن ما نوع الزاوية التي تستخدمها .. درجة أو راديان .
تطبيق طمأنينة ، نسخة بيتا على أندرويد
عبدالله الشمّري - Al-Shammari
twitter @abshammeri
abshammeri AT gmail.com
github : abshammeri
الشمري كتب:الاخ عمر كتلة من النشاط ما شاء الله ..كلامك صحيح و كلام الاخ hunter .. صحيح .. الحل الوسط هو بأن تطور دالة أسرع من ال Cos و Sin ..
تقوم باتشاء مصفوفة .. تحمل أكبر قيم ممكنة ..
تحسب الزاوية التي تريد .. باستخدام for loop من 1 الى360 .. بحسب الدقة التي تريد ..
وبالتالي أثناء اللعب .. تستدعي الزاوية من المصفوفة .. وهذا أسرع بكثير .. ولكن سيكونعلى حساب الذاكرة .. سنكلف الذاكرة حوالي 50 كيلو بايت لكل مصفوفة .. ( مصفوفتين ) .. تقريبا .
تعلمت هذا من اعضاء في هذا القسم مثل أحمد صالح و حسن الجودي ..
هذا أمر جانبي . . لذلك من الممكن أن اطور هذه الجزئية لو أحببت ذلك أخي عمر .. ولكن ما نوع الزاوية التي تستخدمها .. درجة أو راديان .
أستعمل الراديان
مسألة السرعة و التوفيق بينها و بين الذاكرة ربما نجعلها بإختيار المستخدم
لكن هذا لو حدثت أية مشاكل و حدث بطء لللعبة لأنها لعبة بسيطة
____________
هل أجعل سفينة اللاعب هي سفينة القراصنة و بقية السفن عادية أم أن سفينة اللاعب عادية و باقي السفن للقراصنة ؟؟
لأن سفينة اللاعب ستطارد السفن الأخرى
انتم في السيناريو خليتو العكس
انا من وجههه نظري
اللعبه تبقى
سفن القراصنه بتحاول تدميرنا
وسفينه اللاعب التحاول الوصول مثلا الى جزيره معينه بالكود
ومع ذلك تقدر تحارب وتدمر سفن القراصنه
------------------------------------
طيب الان مالجديد الذي ممكن ان اقدمه
rewsh كتب:انتم في السيناريو خليتو العكسانا من وجههه نظري
اللعبه تبقى
سفن القراصنه بتحاول تدميرنا
وسفينه اللاعب التحاول الوصول مثلا الى جزيره معينه بالكود
ومع ذلك تقدر تحارب وتدمر سفن القراصنه
------------------------------------
طيب الان مالجديد الذي ممكن ان اقدمه
نراجع الأخ سيد في هذا الموضوع لأنه صاحب فكرة اللعبة
مطلوب الآن من الأخ "و ماذا بعد؟" أن يصمم صور آخرى للبحر ليظهر و كأنه يتحرك
طيب واحنا مبرمجين مطلوب مننا ايه الان ؟
في مشكلة بسيطة و هي اني عملت اللكوودد زي ما قلى الاخ عمر بس في مشكلة في حساب السين و القوزين بس انا بحاول اظبطة يا ريت اخخ rewesh كلمني على اليااهو
اقتباسمطلوب الآن من الأخ "و ماذا بعد؟" أن يصمم صور آخرى للبحر ليظهر و كأنه يتحرك
تحت الأمر :)
هذه خمس لقطات ..
لا اعرف ان كنت تقصد هذا أم لا
فقط عاينها .. واخبرنى بإى تعديل أو اضافة :)
بالتوفيق.،
تم تعديل هذه المشاركة بواسطة وماذا بعد؟ في 17 أغسطس 2008 في 02:20
لله في الآفاق آيات لعـــل = أقلهـــا هو ما إليه هداكا
ولعل ما في النفس من آياته = عجبٌ عجابٌ لو ترى عيناكا
والكون مشحون بأسرار إذا = حاولت تفسيراً لهــا أعياكا
وماذا بعد؟ كتب:تحت الأمر :)هذه خمس لقطات ..
لا اعرف ان كنت تقصد هذا أم لا
فقط عاينها .. واخبرنى بإى تعديل أو اضافة :)
بالتوفيق.،
نعم هذا ما قصدت
و لكن عندما عرضت اللقطات أحسست بأن السفينة تتحرك و ليس الماء هو الذي يتحرك
المنظر هو هو عندما تتحرك السفينة و عندما تعرض لقطات الماء
نريد لقطات فيها أمواج و سمكة تخرج و تنزل و هذه الأشياء
تم عمل تعديلات جديدة
تم إضافة لوحة أعلى الشاشة لتبين معلومات حول حالة اللعبة مثل المرحلة و الخريطة و الحالة الصحية و غير ذلك
و يمكن إخفائها و إظهارها عن طريق الزرTab
لكن لم أعمل فيها إلى الآن إلا الحالة الصحية
و كذلك عملت سفن للقراصنة ليس كما في التعديل السابق كل السفن متشابهة
و تم عمل تمييز للحالة الصحية للسفينة فتظهر صورة السفينة و هي محطمة
و قمت بالتعديل على ميكانيكية حركة السفينة كما طلب مني
فهناك إحتكاك و الإستدارة لا تستمر و لا تعمل إلى في حالة سير السفينة
كما تم إصلاح العدسة ... ربما لاحظ البعض أنه أثناء الضغط على الزر "-" أو "+" هناك إهتزاز في الصورة
تم القضاء على هذا الخطأ
هذه الصورة عندما تكون السفينة بحالة جيدة
و هنا سائت حالة السفينة فتجد أن المؤشر الذي في الأعلى قد صار أحمر دليل على الخطر
و هنا قد دمرت السفينة تماماً
لاحظ أننا في هذه الصورة قد ضغطنا على Tab لإخفاء اللوحة
إنتظروا قليلاً حتى آتي بالملفات التنفيذية ..
تم تعديل هذه المشاركة بواسطة omar_cplusplus في 17 أغسطس 2008 في 14:18
الكود + الملف التنفيذي
لينوكس
التحكم : w للسير للأمام و s للسير للخلف و مننظر رأي الأخ سيد هل ألغي زر السير للوراء أم لا .. و الزر a للإستدارة لليسار و طبعاً لن تستدير طالما كانت واقفة حتى لا تدور حول محورها و الزر d للإستدارة لليمين و الزر q للتوقيف السفينة و قد جعلت التوقيف أبطء حسب ما طلب مني و الزر Tab لإخفاء اللوحة و إظهارها و الزر "+" للإنخفاض بالكاميرا و "-" للإرتفاع
تم تعديل هذه المشاركة بواسطة omar_cplusplus في 17 أغسطس 2008 في 14:45
الكود + الملف التنفيذي
ويندوز
التحكم عن طريق الأزرار Up و Down و Left و Right و زر اللوحة هو Tab و زر توقيف السفينة Space و الإتفاع بالكاميرا Home و الإنخفاض End
غيرت الأزرار لأني ليس لدي خبرة في التعامل مع برامج ويندوز
كود رائع اخى عمر ....... اللعبة تطورت كثير عن الاول
بارك الله فيـــك
ملحوظة: - السفن شفافة قليلا و تظهر الماء من تحتها
- ارى ان السفينة تتوقف فى حالة عدم الضغط على زر up او w فى linux
- الحدود بين صور البحر تظهر على انها خطوط رفيعة
فى النهاية .... انها لعبة رائعة و اذا اكملتوها ان شاء الله سوف تنال اعجاب جميع الاعضاء باذن الله
هذه الملاحظات كمستخدم و ليس كمبرمج فأنا لا افقه شئ فى برمجة الالعاب
تم تعديل هذه المشاركة بواسطة Omar Eladel في 17 أغسطس 2008 في 14:55
اقتباس- الحدود بين صور البحر تظهر على انها خطوط رفيعة
الموضوع يتوقف على الصورة و ليس على الكود ..
سأصلح الصورة و لكن في التعديل القادم ..
اقتباسملحوظة: - السفن شفافة قليلا و تظهر الماء من تحتها
نعم ... هذا حتى يظهر الشراع و كأنه يتحرك عندما تتحرك السفينة
اقتباس- ارى ان السفينة تتوقف فى حالة عدم الضغط على زر up او w فى Linux
هذا لا يحدث في الواقع
على أرض الحقيقة لا تتوقف السفينة إذا أطفئت المحرك و لكن تتوقف بالإحتكاك سواء الإحتكاك بالماء و الهواء أو الفرملة
omar_cplusplus كتب:هذا لا يحدث في الواقععلى أرض الحقيقة لا تتوقف السفينة إذا أطفئت المحرك و لكن تتوقف بالإحتكاك سواء الإحتكاك بالماء و الهواء أو الفرملة
المشكلة ان السرعة لا تقل بل كأن السفينة ماشية فى عادى دون اى تأثر
انا اقصد انه عند التوقف عن ضغط up يجب ان يحدث deceleration (تباطئ) حتى تصل الى 0
ياجماعه بلييييييييز
ننزل الكود بكومنت عليه عشان يبقى مفيد لينا كلنا
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…