ahmed_adel

random and timer functions ?

6 ردود في هذا الموضوع

salamo 3lekom

i have game project using vc6.0 and opengl libraries

i have problem first :i want to move objects at the same time i move another objects (mean that do two jobs at the same time)

second : i need timer function and it's header file

third : i need function to randomize some numbers

i hope i explained what i want.

thanks

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

وعليكم السلام ..

اعتذر ...... عن نقل الموضوع .. لكنه يخص openglوالالعاب وهذا مكانه :D

want to move objects at the same time i move another

objects (mean that do two jobs at the same time

لم افهم بالظبط .. تريد تحريك جسمين في نفس الوقت ..

الامر سهل ,,,

 int x =0,y=0;
void render()
{
glLoadIdentity();  
x++;
 y++;
glPushMatrix();
glTranslatef(x,0,0);
glRectd(0,0,1,1);// draw   object
glPopMatrix();

glPushMatrix();
glTranslatef(y,0,0);
glRectd(1,1,0,0);//draw   object
glPopMatrix();


}

طبعا تكون الدالة render تحت تأثير loop . عشان تتحدث ..

هل هذا ما تقصده .. ؟ السؤال لم افهمه جيدا .

ثانيا /

second : i need timer function and it's header file
يوجد العديد من الدوال .. خذ مثلا

time()

موجودة في

<time.h>

او

GetTickCount() التي تعيد رقم يمثل اجزاء الثانية المنقضية منذ تشغيل الجهاز .

موجودة في windows

third : i need function to randomize some numbers

الدالة rand()

استخدامها

int num =rand()%200

هنا نحصل على رقم عشوائي من صفر الى 199

غير الرقم الذي تريده ..

السؤال الاول اذا كنت تقصد شيء ثاني يا ليت توضحه اكثر .

تم تعديل بواسطه الشمري
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

look first thx very much and iam sorry to write on this part of the forum

second rand whats it's header file ?

third : i magine in any game u face many enemies okey.

u face two or more persons moveing towards u from many directions

consider every person is object i need every object move at the same time and this don't affect my movement

like threads

i hope u understand me

if not tell me and i'll explain more with my code

thx again

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

rand اكتبها بدون هيدر : ؟؟؟

لا اعرف لماذا ,,,,

ممكن تكون في

windows

or

iostream

or

stdio

--

سؤالك حول تحرك الاعداء ,,, سأحاول ان افهمه ... لو اني بالانقليزي ميح .. :)

تم تعديل بواسطه الشمري
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بعد أذن أخي الشمري

()rand في stdlib.h

و يفضل أن تسبق أول أستدعاء لـ()rand بأستدعاء لــ ()srand

شوف الرابط التالي

http://www.cplusplus.com/ref/cstdlib/rand.html

بالنسبة للـTimers .....قصدك الــfunctions اللي يتم أستدعائها كل فترة معينة.

أذا كان قصدك عليها ...فهي أكثر من نوع.....الأبسط و الأكثر استعمالا هو الــwin32 standard timers

و لكي تشغل واحد منها ....تكتب

SetTimer(hWnd, 1, 1000, NULL);

حيث hWnd هو handle النافذة

رقم -1- هو الرقم المعرف لهذا الـtimer

1000 هو الزمن بالملي ثانية = 1 ثانية

و الأخير حاليا مشيها NULL

الكود اللي تحب أن يتنفذ بأوقات منتظمة ( بهذا المثال خليناه 1 ثانية :) ) نخليه

case WM_TIMER:
// your code here
break;

كل ثانية (أو أيا كان الزمن اللي تحب) الوندوز راح يرسل message من نوع WM_TIMER

و هنا راح نكتب الكود أو نستدعي الـfunction

بعد الأنتهاء من الـTimer نقتله :lol:

KillTimer(hWnd, 1);

لاحظ أنه الرقم -1- هو نفسه اللي بـSetTimer

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

التغيير اللي راح يصير هو فقط أنه نخلي بعد WM_TIMER ......تحديد الـكود المطلوب تنفيذه يكون حسب الرقم المعرف و اللي راح يكون في wParam.

طبعا الـtimers أنواع و حتى طريقة أستخدام النوع الواحد مختلفة.

ذكرت طريقة من الطرق.....و الرابط التالي فيه هذه الأنواع

http://www.codeproject.com/system/timers_intro.asp

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .