PDA

View Full Version : تیر اندازی به هدف های در حال حرکت به زبان turbo c 3



barnamenevis1978
چهارشنبه 13 دی 1385, 09:06 صبح
تیر اندازی به هدف های در حال حرکت به زبان turbo c 3
کسی می تونه در نحوه پیاده سازیش کمکم کنه ؟؟

alireza643
چهارشنبه 13 دی 1385, 10:14 صبح
من یه بار یه کاری شبیه این انجام دادم بگو کجا گیر کردی تا کمکت کنم؟

barnamenevis1978
شنبه 16 دی 1385, 09:02 صبح
حرکت هدفها به چه صورت در turbo c باید پیاده سازی بشه ؟؟ با توجه به اینکه همزمان تیرانداز هم باید حرکت داده بشه. (ضمنا من خیلی مبتدی هستم)

barnamenevis1978
شنبه 16 دی 1385, 22:29 عصر
ممنون میشم اگه راهنماییم کنید.

someCoder
شنبه 16 دی 1385, 23:31 عصر
قضیه رو خیلی پیچیده نکن! یه حلقه بنویس که مثلا هدفها رو توش تغییر بدی. شیوه کار هم راحته. برای هر هدف، موقیعت فعلیش رو که داری، هر دفعه تو حلقه یه بار حرکتش میدی و بعدش دو باره در جای جدید نمایشش میدی. برای اینم که بتونی راحت بیبینیش، یه تاخیر کوچک هم توی حلقه بذار.
تا اینجاش حله؟
بعدش هم توی همین حلقه هر دفعه قبل از حرکت هدف، یه بار هم صفحه کلید رو چک میکنی و اگر کلیدی زده شده بود، تیر انداز هم حرکت میدی.

barnamenevis1978
دوشنبه 18 دی 1385, 22:30 عصر
ممنون از راهنماییتون
ولی هر کاری می کنم یا فقط هدفها حرکت می کنند یا تیر انداز یا تیرها !!!
ویا حرکت همه اونها به هم وابسته میشه!!
می دونید کجای کارم اشتباست ؟

someCoder
سه شنبه 19 دی 1385, 00:46 صبح
همه کار رو در یه حلقه باید بکنی تا با هم انجام بشن.
مثلا اینجوری:


for(;;){
//move target 1 step
targetPosition=setTargetPosition(...);
drawTarget();

//move each bullet 1 step
for(bulletNo=0;bulletCount<totalBullet;bulletNo++){
bulletPosition[i]=setBulletPosition(bulletNo, ...);
drawBullet(bulletNo);
}

//move pad if key is pressed
if(kbhit()){
key=getch();
padPosition=setPadPosition(key);
drawPad();
}

//delay if needed
delay(x);
}

barnamenevis1978
شنبه 30 دی 1385, 21:15 عصر
من از همین الگوریتم استفاده می کنم ولی جواب نمی گیرم!!

barnamenevis1978
دوشنبه 02 بهمن 1385, 08:36 صبح
فشردن کلید کیبورد رو چه جوری باید کنترل کنم ؟؟
من یک کاراکتر می گیرم و کد اسکی اونو چک می کنم! اشتباست ؟؟

ir_programmer
سه شنبه 03 بهمن 1385, 16:49 عصر
یه مثال اماده دارم
فردا واست آپلود میکنم!:چشمک: :چشمک:

aidinwashere
سه شنبه 03 بهمن 1385, 19:27 عصر
یه نکته کوچیک رو بگم، Turbo C++ 3 یه زبان نیست، یه محیط یا یه Compiler برای ++C هست.

someCoder
چهارشنبه 04 بهمن 1385, 23:50 عصر
فشردن کلید کیبورد رو چه جوری باید کنترل کنم ؟؟
من یک کاراکتر می گیرم و کد اسکی اونو چک می کنم! اشتباست ؟؟

نباید اشتباه باشه. کدت این تکه رو بذار ببینم.

barnamenevis1978
جمعه 06 بهمن 1385, 20:19 عصر
if ch!=' '
tirandaz()
.
.
.
tirandaz()
{
.
.
.
ch=getch();
switch(ch)
.
.
.

someCoder
جمعه 06 بهمن 1385, 22:58 عصر
اگر دقت کنی میبینی که در کدی که من نوشتم، برای گرفتن کلید، اینجوری عمل کردم:

//move pad if key is pressed
if(kbhit()){
key=getch();
padPosition=setPadPosition(key);
drawPad();
}
یعنی اول با kbhit چک کن که اگر کلید فشار داده شده، بعدش getch کن

aidinwashere
جمعه 06 بهمن 1385, 23:02 عصر
یه سوال برای من پیش اومده بود، اینکه چطوری نگه داشتن کلید رو بفهمیم و اینکه "کی" کلید مورد نظر رها شده؟ بازیهای میکرو یادتونه؟ اونطوری.

someCoder
جمعه 06 بهمن 1385, 23:37 عصر
باید با وقفه ها بخونی کلید رو. از تابع های استاندارد چیزی سراغ ندارم برای این کار