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

random and timer functions ?

مغلق
بدأه ahmed_adel في 6 نوفمبر 2005 · 5 رد · 738 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

#2

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

اعتذر ...... عن نقل الموضوع .. لكنه يخص 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

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

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

تم تعديل هذه المشاركة بواسطة الشمري في 6 نوفمبر 2005 في 20:55

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#3

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

#4

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

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

ممكن تكون في

windows

or

iostream

or

stdio

--

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

تم تعديل هذه المشاركة بواسطة الشمري في 7 نوفمبر 2005 في 00:17

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#5

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

()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

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

comp2.gif

هذا الموضوع مغلق.

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