PDA

View Full Version : سوال: کمک درباره بازی توپ و راکت



mehran20092008
پنج شنبه 28 آبان 1388, 12:12 عصر
سلام خدمت همه دوستان عزیز من میخواستم بدونم چطوری میشه یه بازی توپ و راکت رو با ++c پیاده سازی کرد کمی میدونم که از تابع kbhit و getch() باید استفاده کرد مشکل اصلی من اینه که چطور همزمان هم داده از ورودی برای تابع getch() بگیرم و هم توپ به زوایای صفحه برخورد کند
ممنون میشم دوستان اطلاعاتشون رو هم در اختیار من بگذارن

m.soleimani
پنج شنبه 28 آبان 1388, 14:39 عصر
سلام خدمت همه دوستان عزیز من میخواستم بدونم چطوری میشه یه بازی توپ و راکت رو با ++c پیاده سازی کرد کمی میدونم که از تابع kbhit و getch() باید استفاده کرد مشکل اصلی من اینه که چطور همزمان هم داده از ورودی برای تابع getch() بگیرم و هم توپ به زوایای صفحه برخورد کند
ممنون میشم دوستان اطلاعاتشون رو هم در اختیار من بگذارن
دوست عزیز قبلن درباره توپ و راکت بحث شده یه جست‌وجو بکن پیداش می‌کنی موفق باشید.
برای استفاده از تابع getch باید هدر فایل conio.h را به برنامت اضافه کنی.
برای گرفتن مختصات توپ بهتره از دوتا متغیر int به عنوان x, y استفاده کنی و هر لحظه که مایلی گزارشی از محل توپ بدی موفق باشی.

mehran20092008
پنج شنبه 28 آبان 1388, 17:46 عصر
ممنون دوست عزیز ولی من قبلا جستجو کرده بودم
http://www.barnamenevis.org/forum/showthread.php?p=250569

اینو پیدا کردم ولی جواب مشخصی که من بفهمم نداده بود اگه ممکنه کمی بهتر و بازتر برام توضیح بدید
که چطوری میتونم هم داده از صفحه کلید بگیرم هم توپ به چرخش خودش ادامه بده اگه ممکنه با مثال یا دستوراتش رو برام خلاصه بنویسید
چون من ++c رو زیاد بلد نیستم و کارم بیشتر وب و اپلیکیشن با زبان های سطح بالاست

mehran20092008
جمعه 29 آبان 1388, 08:41 صبح
از دوستان خواهش میکنم اگه کسی جواب این سؤال رو میدونه به من هم بگه:عصبانی++:
چطوری میتونم هم داده از صفحه کلید بگیرم هم توپ به چرخش خودش ادامه بده?
با تشکر

mortezamsp
جمعه 29 آبان 1388, 18:18 عصر
اگه تو ویژوال مینویسی با ترد این کار رو بکن:


#include<windows.h>
_beginthread(getcharacter,0,NULL);
_beginthread(moveBall,0,NULL);

void moveBall(void*dummy){. . .}
void getcharacter(void*dummy){ . . .};



یا اینکار رو بکنی که راحت تره:

void move()
{
char a;
while(a!=ESC)
{
a=0;
if(kbhit())//کلید فشارداده نشده
{
a=getch();
...
}
drawball(xball,yball,0,0);
...
}
}
یا توپ رو لحظه به لحظه انتقال بدی.یعنی یک هربار یک کم انتقال بده و یه نگاه هم به صفحه کلید بکن.


این فایل رو که گرفتی؟
http://barnamenevis.org/forum/attachment.php?attachmentid=39694&d=1257965948