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

( المشروع مكتمل ) ورشة عمل للعبة السفينة

مثبّترائج
بدأه sayedf1 في 31 يوليو 2008 · 376 رد · 58,146 مشاهدة · في ورش العمل والتطوير , والمشاريع والألعاب
مشاركة: واتساب X فيسبوك تيليجرام
#126

طيب ممكن تنزل اخر كود ممكن نطور عليه

ونكتب الملاحظات الهانقوم بتعديلها

عشان كدا انا تهت ايه المطلوب الان

#127

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

#128

السلام عليكم

هذه بعض الأصوات كى يكون العمل متكامل

اصوات البحر

sea.rar

اصوات السيف

Sword.rar

اصوات اصتدام

crash.rar

اقتباس
القراصنه التهرب

اوك مش مشكل بس مش مقتنع بيها قوي

اعرف ان الأمر غريب لكن لو قرأت سنريو اللعبه لعرفت السبب

القراصنه تهرب لأن معهم كود دخول الجزيره

163374357.gif

#129

مش مشكله المهم نطلع اللعبه فعلا:

mafia_alex

بيقول عمل جزء الهروب

omar_cplusplus

منتظرين منه الكود الاخير

----------

وانا منتظر الخطوه القادمه

ايه الاسئله العندك ؟mafia_alex

عشان نحاول نفكر سوا

#130
اقتباس
اعرف ان الأمر غريب لكن لو قرأت سنريو اللعبه لعرفت السبب

القراصنه تهرب لأن معهم كود دخول الجزيره

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

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

دالة التصادم ليس فيها إلا أنها تكتشف التصادم و تقوم بإرجاع السفينة إلى الوراء قليلاً حتى لا تكون السفينة و السفينة الآخرى (أو الصخرة) فوق بعض

يمكنك أن تستعمل دالة تصادم السفن لتقول

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

عشان نحاول نفكر سوا

الكود الأخير ؟

تقصد هذا الذي وضعته صباح اليوم؟

/index.ph...st&p=851617

#131

طيب دا الكود الاخير الهانطور عليه كلنا ان شاء الله

طيب تعالو نقسم شويه كدا

mafia_alex بيقول انه اشتغل في الجزء

وصلت لاي مرحله بحيث نساعد ومانعدش البتعمله

----------

#132

الاخ عمر كتلة من النشاط ما شاء الله ..

اقتباس
لا غنى لأي لعبة عن الدوال المثلثية ... و طالما أن اللعبة إلى الآن تعمل بصورة جيدة و ليس هناك بطء فلا بأس بها

كلامك صحيح و كلام الاخ hunter .. صحيح .. الحل الوسط هو بأن تطور دالة أسرع من ال Cos و Sin ..

تقوم باتشاء مصفوفة .. تحمل أكبر قيم ممكنة ..

تحسب الزاوية التي تريد .. باستخدام for loop من 1 الى360 .. بحسب الدقة التي تريد ..

وبالتالي أثناء اللعب .. تستدعي الزاوية من المصفوفة .. وهذا أسرع بكثير .. ولكن سيكونعلى حساب الذاكرة .. سنكلف الذاكرة حوالي 50 كيلو بايت لكل مصفوفة .. ( مصفوفتين ) .. تقريبا .

تعلمت هذا من اعضاء في هذا القسم مثل أحمد صالح و حسن الجودي ..

هذا أمر جانبي . . لذلك من الممكن أن اطور هذه الجزئية لو أحببت ذلك أخي عمر .. ولكن ما نوع الزاوية التي تستخدمها .. درجة أو راديان .

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#133
الشمري كتب:
الاخ عمر كتلة من النشاط ما شاء الله ..

كلامك صحيح و كلام الاخ hunter .. صحيح .. الحل الوسط هو بأن تطور دالة أسرع من ال Cos و Sin ..

تقوم باتشاء مصفوفة .. تحمل أكبر قيم ممكنة ..

تحسب الزاوية التي تريد .. باستخدام for loop من 1 الى360 .. بحسب الدقة التي تريد ..

وبالتالي أثناء اللعب .. تستدعي الزاوية من المصفوفة .. وهذا أسرع بكثير .. ولكن سيكونعلى حساب الذاكرة .. سنكلف الذاكرة حوالي 50 كيلو بايت لكل مصفوفة .. ( مصفوفتين ) .. تقريبا .

تعلمت هذا من اعضاء في هذا القسم مثل أحمد صالح و حسن الجودي ..

هذا أمر جانبي . . لذلك من الممكن أن اطور هذه الجزئية لو أحببت ذلك أخي عمر .. ولكن ما نوع الزاوية التي تستخدمها .. درجة أو راديان .

أستعمل الراديان

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

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

____________

هل أجعل سفينة اللاعب هي سفينة القراصنة و بقية السفن عادية أم أن سفينة اللاعب عادية و باقي السفن للقراصنة ؟؟

لأن سفينة اللاعب ستطارد السفن الأخرى

#134

انتم في السيناريو خليتو العكس

انا من وجههه نظري

اللعبه تبقى

سفن القراصنه بتحاول تدميرنا

وسفينه اللاعب التحاول الوصول مثلا الى جزيره معينه بالكود

ومع ذلك تقدر تحارب وتدمر سفن القراصنه

------------------------------------

طيب الان مالجديد الذي ممكن ان اقدمه

#135
rewsh كتب:
انتم في السيناريو خليتو العكس

انا من وجههه نظري

اللعبه تبقى

سفن القراصنه بتحاول تدميرنا

وسفينه اللاعب التحاول الوصول مثلا الى جزيره معينه بالكود

ومع ذلك تقدر تحارب وتدمر سفن القراصنه

------------------------------------

طيب الان مالجديد الذي ممكن ان اقدمه

نراجع الأخ سيد في هذا الموضوع لأنه صاحب فكرة اللعبة

مطلوب الآن من الأخ "و ماذا بعد؟" أن يصمم صور آخرى للبحر ليظهر و كأنه يتحرك

#136

طيب واحنا مبرمجين مطلوب مننا ايه الان ؟

#137

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

#138

ضفتك على الياهو وبنتظارك

تم تعديل هذه المشاركة بواسطة rewsh في 17 أغسطس 2008 في 01:26

#139
اقتباس
مطلوب الآن من الأخ "و ماذا بعد؟" أن يصمم صور آخرى للبحر ليظهر و كأنه يتحرك

تحت الأمر :)

sea.rar

هذه خمس لقطات ..

لا اعرف ان كنت تقصد هذا أم لا

فقط عاينها .. واخبرنى بإى تعديل أو اضافة :)

بالتوفيق.،

تم تعديل هذه المشاركة بواسطة وماذا بعد؟ في 17 أغسطس 2008 في 02:20

لله في الآفاق آيات لعـــل = أقلهـــا هو ما إليه هداكا

ولعل ما في النفس من آياته = عجبٌ عجابٌ لو ترى عيناكا

والكون مشحون بأسرار إذا = حاولت تفسيراً لهــا أعياكا

#140
وماذا بعد؟ كتب:
تحت الأمر :)

sea.rar

هذه خمس لقطات ..

لا اعرف ان كنت تقصد هذا أم لا

فقط عاينها .. واخبرنى بإى تعديل أو اضافة :)

بالتوفيق.،

نعم هذا ما قصدت

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

المنظر هو هو عندما تتحرك السفينة و عندما تعرض لقطات الماء

نريد لقطات فيها أمواج و سمكة تخرج و تنزل و هذه الأشياء

#141

تم عمل تعديلات جديدة

تم إضافة لوحة أعلى الشاشة لتبين معلومات حول حالة اللعبة مثل المرحلة و الخريطة و الحالة الصحية و غير ذلك

و يمكن إخفائها و إظهارها عن طريق الزرTab

لكن لم أعمل فيها إلى الآن إلا الحالة الصحية

و كذلك عملت سفن للقراصنة ليس كما في التعديل السابق كل السفن متشابهة

و تم عمل تمييز للحالة الصحية للسفينة فتظهر صورة السفينة و هي محطمة

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

فهناك إحتكاك و الإستدارة لا تستمر و لا تعمل إلى في حالة سير السفينة

كما تم إصلاح العدسة ... ربما لاحظ البعض أنه أثناء الضغط على الزر "-" أو "+" هناك إهتزاز في الصورة

تم القضاء على هذا الخطأ

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

post-112912-1218971172_thumb.jpg

و هنا سائت حالة السفينة فتجد أن المؤشر الذي في الأعلى قد صار أحمر دليل على الخطر

post-112912-1218971209_thumb.jpg

و هنا قد دمرت السفينة تماماً

لاحظ أننا في هذه الصورة قد ضغطنا على Tab لإخفاء اللوحة

post-112912-1218971254_thumb.jpg

إنتظروا قليلاً حتى آتي بالملفات التنفيذية ..

تم تعديل هذه المشاركة بواسطة omar_cplusplus في 17 أغسطس 2008 في 14:18

#142

الكود + الملف التنفيذي

لينوكس

التحكم : w للسير للأمام و s للسير للخلف و مننظر رأي الأخ سيد هل ألغي زر السير للوراء أم لا .. و الزر a للإستدارة لليسار و طبعاً لن تستدير طالما كانت واقفة حتى لا تدور حول محورها و الزر d للإستدارة لليمين و الزر q للتوقيف السفينة و قد جعلت التوقيف أبطء حسب ما طلب مني و الزر Tab لإخفاء اللوحة و إظهارها و الزر "+" للإنخفاض بالكاميرا و "-" للإرتفاع

Safina_Linux_3.zip

تم تعديل هذه المشاركة بواسطة omar_cplusplus في 17 أغسطس 2008 في 14:45

#143

الكود + الملف التنفيذي

ويندوز

التحكم عن طريق الأزرار Up و Down و Left و Right و زر اللوحة هو Tab و زر توقيف السفينة Space و الإتفاع بالكاميرا Home و الإنخفاض End

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

Safina_Windows_3.zip

#144

كود رائع اخى عمر ....... اللعبة تطورت كثير عن الاول

بارك الله فيـــك

ملحوظة: - السفن شفافة قليلا و تظهر الماء من تحتها

- ارى ان السفينة تتوقف فى حالة عدم الضغط على زر up او w فى linux

- الحدود بين صور البحر تظهر على انها خطوط رفيعة

فى النهاية .... انها لعبة رائعة و اذا اكملتوها ان شاء الله سوف تنال اعجاب جميع الاعضاء باذن الله

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

تم تعديل هذه المشاركة بواسطة Omar Eladel في 17 أغسطس 2008 في 14:55

#145
اقتباس
- الحدود بين صور البحر تظهر على انها خطوط رفيعة

الموضوع يتوقف على الصورة و ليس على الكود ..

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

اقتباس
ملحوظة: - السفن شفافة قليلا و تظهر الماء من تحتها

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

اقتباس
- ارى ان السفينة تتوقف فى حالة عدم الضغط على زر up او w فى Linux

هذا لا يحدث في الواقع

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

#146
omar_cplusplus كتب:
هذا لا يحدث في الواقع

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

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

#148

انا اقصد انه عند التوقف عن ضغط up يجب ان يحدث deceleration (تباطئ) حتى تصل الى 0

#149

ياجماعه بلييييييييز

ننزل الكود بكومنت عليه عشان يبقى مفيد لينا كلنا

#150

إن شاء الله سأضع تعليق على الكود في التعديل القادم

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

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

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

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

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