قام بالرد منذ 3 Aug 2008 ينفع ...المهم أن تكون هذه ملفات الرأسية موجودةgl.h و glu.h و glut.h ... 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 3 Aug 2008 انا نزلت الانت قولت عليه وجاري العمل الان ان شاءالله بخلص وارفقه مره ثانيه هنا 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 3 Aug 2008 ينفع تشتغل بفيجول استيديو مش لازم dev cpp هو هو نفس الكود هيتكتب و نفس المكتب مع فروق بسيطه جدا و بالتوفيق ! و اي مساعدة في الخدمة 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 3 Aug 2008 ينفع تشتغل بفيجول استيديو مش لازم dev cpp هو هو نفس الكود هيتكتب و نفس المكتب مع فروق بسيطه جدا و بالتوفيق ! و اي مساعدة في الخدمةأنا فضلت dev-cpp لأنني أعمل على لينوكس على gccحتى تكون المترجمات متوافقةلكن لا مشكلة في إستعمال أي مترجم آخر 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 4 Aug 2008 السلام عليكمما رأيكم فى هذه السفينه ان أعجبتكم اكملها 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 4 Aug 2008 السلام عليكمما رأيكم فى هذه السفينه ان أعجبتكم اكملهالكن هل نريد أن تكون الصورة من فوق من الجانب ؟؟؟ 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 4 Aug 2008 من فوق لكن حبيت ان اريكم شكل السفينه 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 4 Aug 2008 و لكن هل سنترك الصور الآخرى أم سنضع السفينتان في اللعبة ؟؟؟ 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 6 Aug 2008 أين فريق البرمجة ؟؟؟؟إلى أين توصلتم في class السفينة و class الصخور ؟؟اليوم إن شاء الله سأضع دالة التصادم مع الصخور ... 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 6 Aug 2008 ارى ان حماس بعض الأعضاء قل 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 6 Aug 2008 أنتهيت من دالة التصادمو عذراً على التأخير ... كان عندي بعض الكورسات و الإمتحانات و إن شاء الله أنتهي منها الإسبوع القادمtypedef struct {float X1,X2,Y1,Y2;} line;int Takato3(float X1,float X2, float X3, float X4, float Y1, float Y2, float Y3, float Y4){ float M,M2,B,B2,NX,NY; if (X1 == X2) X1 += 0.00001; if (X3 == X4) X3 += 0.00001; M = (float)(Y2-Y1)/(X2-X1); M2 = (float)(Y4-Y3)/(X4-X3); B = Y2 - X2*M; B2 = Y4 - X4*M2; NX = (float)(B2-B)/(M-M2); NY = M2*NX+B2; if ((float)(sqrt((Y2-NY)*(Y2-NY)+(X2-NX)*(X2-NX))+sqrt((NY-Y1)*(NY-Y1)+(NX-X1)*(NX-X1))) == (float)sqrt((Y2-Y1)*(Y2-Y1)+(X2-X1)*(X2-X1)) && (float)(sqrt((Y4-NY)*(Y4-NY)+(X4-NX)*(X4-NX))+sqrt((NY-Y3)*(NY-Y3)+(NX-X3)*(NX-X3))) == (float)sqrt((Y4-Y3)*(Y4-Y3)+(X4-X3)*(X4-X3)) ) return 1; else return 0;}float Modala3(line A[], line B[], int As, int Bs){ for (int i = 0; i < As; i++) for (int j = 0; j < Bs; j++) if (Takato3(A[i].X1,A[i].X2,B[j].X1,B[j].X4,A[i].Y1,A[i].Y2,B[j].Y1,B[j].Y2)) return 1; return 0;}قمت بعمل دالتانالدالة الأولى أمرر لها خطان و تكشف هل الخطان متقاطعان أم لاو هذه الدالة سنستخدمها في الدالة الثانية حيث سنمرر للدالة الثانية مجموعتان من الخطوط على أنهما مضلعان و تكشف هل هذان المضلعان متقاطعان أم لاو هناك دالة ثالثة و هي دالة التصادم الحقيقية و هي التي أمرر لها كائنان لتكشف هل هما متصادمان أم لامثلاً إنظروا إلى هذه السفينةقمت بتحديدها بمجوعة من الخطوطو الدالة الثالثة ستقوم بوضع تلك الخطوط في أماكنها و تمررها كمضلع لدالة تصادم المضلعاتو نفس الأمر متعلق بالصخور ... سأقوم بتحديدها بمجموعة خطوط ثم أكتب أماكن تلك الخطوط و أقوم بعمل المضلع في الكود بنفس أماكن الخطوط و أمررها للدالة المذكورةأما زاوية التصادم فقمت بكتابة دالة تكشف عن الزاوية التي تجب أن تسير فيها السفينة بعد الإصطدام طبعاً تكون حسب الفرق ما بين موضع الصخرة و موضع السفينة أو موضع السفينة الأولى و الثانية و حساب الزاوية التي بينهملكن لن أضع الدالة الثالثة هنا حتى أرى classes السفينة و الصخور لأعرف كيف أتعامل معهمإلى الآن وضعت أسماء لمتغيرات على أنني أفترض أن الclass سيكون بهذا الشكل و عندما أرى الclass أقوم بالتعديلات اللازمةبقي عندي دالة سير السفينة و التي سأعتمد فيها على سرعة و عجلة السفينة و سرعة و عجلة دورانها و زاوية السير و زاوية النظر 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 6 Aug 2008 رائع أخ عمر .. الله يبارك فيك :) 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 7 Aug 2008 هاكذا يكون العمل بارك الله فيك اخى عمر 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 7 Aug 2008 سؤال ...عندما تصطدم السفينة بالصخرة ...هل سترجع إلى الوراء ؟؟ أم تتوقف ؟؟ 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 7 Aug 2008 و ماذا لو إصطدمت بسفينة ؟؟ 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 7 Aug 2008 اذا اصتدمت بسفينه هناك احتمالان 1- ان تكون السفينه سفينة قراصنه وفى هذه الحاله تتغير طريقة اللعب وتصبح على سفينه القراصنه يقاتل عليها كى يحصل على الكود2- ان تكون سفينه صديقة وتمده ببعض المعلومات او سلاح جديد حسب ما نريد 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 8 Aug 2008 هيا اللعبه هتبقي بسي بلس بلس وفهمنها بس علي اي منصة اوبن جي ال ولا ديركت اكس تاني سؤال اللعبه هتبقي ثري دي طبعا هنستخدم في تصميم الصور والشخصيات هنستخدم ايه في التصميم انا برشح ثردي ماكس او المايا والبوسر ولا ايه؟ثالت حاجه هما فين فريق البرمجه وفريق التصميم وفريق الذكاء الصناعي ياريت نكتب في الموضوع اسامي المشاركين رابع حاجه ممكن اشترك معاكم ولا باب الحجز مقفول 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 8 Aug 2008 اهلا بيك معنا seikoo باب الحجز مفتوح 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 8 Aug 2008 معلش ياجماعه انا سافرت فجأة عشان ظروفهارجع بكره بليل ان شاء اللهوهاطرح الكود بعدها بيوم ان شاء اللهاسف للغياب المفاجا 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 8 Aug 2008 (معدل) اسمعوني منيح يا جماعه صح انا مبتدأ في برمجة الالعاب لكن ما بسمح لهذا يحصل.......عاهدتم انفسكم منذ البدايه ببرمجة لعبه تحمل اسم الفريق العربي للبرمجه وراح تنفذوا اللي تعاهدتم له ...لهذا لا اريد ان ارى عزائم قد هبطت لم يبقى شيء تستطيعون تقسيم المهام على كل واحد ترونه مناسب لهذه المهمه ويكون من السهل عليكم مشاركة الافكار عن طريق برامج المحادثه واخر ما توصلتم اليه تضعونه في هذا الموضوع امام الاعضاء........خلاصة الموضوع نريد ان نرى لعبه تحمل اسم الفريق العربي للبرمجه ...تخيلوا كم سوف تكون مرارة الفشل بعد قطع منتصف الطريق...........تخيلوا تم تعديل 8 Aug 2008 بواسطه ame5r 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 8 Aug 2008 هيا اللعبه هتبقي بسي بلس بلس وفهمنها بس علي اي منصة اوبن جي ال ولا ديركت اكس تاني سؤال اللعبه هتبقي ثري دي طبعا هنستخدم في تصميم الصور والشخصيات هنستخدم ايه في التصميم انا برشح ثردي ماكس او المايا والبوسر ولا ايه؟ثالت حاجه هما فين فريق البرمجه وفريق التصميم وفريق الذكاء الصناعي ياريت نكتب في الموضوع اسامي المشاركين رابع حاجه ممكن اشترك معاكم ولا باب الحجز مقفولسنستعمل openglو لغة سي++و ستكون ثنائية الأبعاد من فوقو لن نستعمل أي محركات أو أي شئ مساعد أو برامج تصميم ثري ديأنا أقوم بدوال الفيزياءو قد عملت class السفن مع دالة تجريبية لرسم السفينة فقط ترسم شكل مضلع من خمس أضلاع كي أختبر به حركة السفينة و تصادمها 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
قام بالرد منذ 9 Aug 2008 (معدل) هذا ما قمت به إلى الآنهذا class السفينةلكن دالة رسم السفينة جعلتها ترسم مضلع أسود حتى أختبر به حركة السفينةclass Ship{ public: float theta, omega, alfa, acceleration, speed, x, z; int type, health; Ship(int ty, float X, float Z); void DrawShip(); void MoveShip(); };Ship::Ship(int ty, float X, float Z){ x = X; z = Z; ty = type; theta = omega = alfa = acceleration = speed = 0; health = 100; }void Ship::DrawShip(){ float Xs[5],Ys[5]; Xs[0] = 0.10*cos(0.785398163+theta) + x; Ys[0] = 0.10*sin(0.785398163+theta) + z; Xs[1] = 0.15*cos(1.570796325+theta) + x; Ys[1] = 0.15*sin(1.570796325+theta) + z; Xs[2] = 0.10*cos(2.356194487+theta) + x; Ys[2] = 0.10*sin(2.356194487+theta) + z; Xs[3] = 0.10*cos(3.926990813+theta) + x; Ys[3] = 0.10*sin(3.926990813+theta) + z; Xs[4] = 0.10*cos(-0.785398163+theta) + x; Ys[4] = 0.10*sin(-0.785398163+theta) + z; glColor3f(0,0,0); glBegin(GL_POLYGON); for (int i = 0 ; i < 5 ; i++) glVertex2f(Xs[i],Ys[i]); glEnd(); }void Ship::MoveShip(){ z += speed*sin(theta+1.570796325); x += speed*cos(theta+1.570796325); speed += acceleration; if (speed > 0.04) speed = 0.04; else if (speed < -0.04) speed = -0.04; }ثم قمت بتعريف بعض السفن كي أضعها على الشاشةShip S(0,0,0);Ship A[5] = {Ship(0,1,1),Ship(0,-1,0.7),Ship(0,2,-1),Ship(0,0.4,-1.5),Ship(0,0.3,3)};و دالة العرضvoid display(){ glClearColor(1.0,1.0,1.0,1.0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); S.MoveShip(); glLoadIdentity(); glTranslated(-S.x,-S.z,0); S.DrawShip(); for (int i = 0 ; i < 5 ; i++) A[i].DrawShip(); glFlush(); glutSwapBuffers(); }دالة إستقبال مدخلات لوحة المفاتيحvoid keyboard(unsigned char k, int x , int y){ if (k == 'w' || k == 'W') S.acceleration = 0.0005; else if (k == 's' || k == 'S') S.acceleration = -0.0005; else if (k == 'a' || k == 'A') S.theta += 0.1; else if (k == 'd' || k == 'D') S.theta -= 0.1; else if (k == 'q' || k == 'Q') { S.acceleration = 0; if (S.speed > 0.01) S.speed -= 0.01; else if (S.speed < -0.01) S.speed += 0.01; else S.speed = 0; } }و هذه الدالة لمؤقت يقوم بإستدعاء دالة العرض كل 50 ميلي ثانيةvoid Timer(int Value){ display(); glutTimerFunc(50,Timer,0); }الدالة mainint main(int argc, char** argv){ glutInit( &argc, argv ); glutInitDisplayMode( GLUT_SINGLE | GLUT_RGBA | GLUT_DEPTH ); glutInitWindowPosition(0,0); glutInitWindowSize(320,240); glutCreateWindow("Safina Test ..."); glutDisplayFunc(display); glutKeyboardFunc(keyboard); glutTimerFunc(50,Timer,0); glutMainLoop(); return 0; }الكود كاملاً في المرفقاتTakato3.zip تم تعديل 9 Aug 2008 بواسطه omar_cplusplus 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه