PDA

View Full Version : سوال: اولویت در حرکت کامندها



masoodafar
پنج شنبه 05 بهمن 1391, 01:53 صبح
با سلام من یه سوال داشتم تو vb چطور میشه تعیین کرد که کدوم کامند زودتر به یک ناحیه یا منطقه ریسده عملیات روی اون انجام بشه مثلا بازی منچ من میخوام مشخص کنم یکی از عنصر های این کامند زودتر به یک ناحیه رسیده اگه یک کامند دیگه از یک گروه دیگه اومد روی اون اونی که زودتر رسیده غیرفعال شه و از بازی بره بیرون ممنون میشم اگه راهنمایی کنید:قلب:

saber67
پنج شنبه 05 بهمن 1391, 10:59 صبح
می تونی وقتی کامند رو به نقطه جدید منتقل می کنی (تو صفحه حرکت میدی) چک کنی که آیا مختصات جدید کامند با مختصات کامند های دیگه یکسانه؟ اگه با هر کدوم یکسان بود اونو حذف می کنی
به کد زیر دقت کن:


Command1.Top = NewTop
Command1.Left = NewLeft
If Command2.Top = NewTop And Command2.Left = NewLeft Then
'Command2 Ro Hazf Kon
End If

البته بهتره کامندها رو به صورت آرایه ای تعریف کنی که کارت راحت تر بشه

masoodafar
جمعه 06 بهمن 1391, 02:48 صبح
ممنون از راهنمایی هاتون من کامند ها رو به صورت آرایه تعریف کردم و برای left و top هم یه تابع تعریف کردم و این راهنمایی که شما کردید رو تو تایمر استفاده کردم که هر بار چک کنه اگه مهره های هر گروه چپ و بالاشون مساوی مهره های گروه همون تایمر(هر تایمر واسه یه گروه ) بود اون مهره که مساوی بوده رو غیر فعال کنه و برگردونه به اون موقعیتی که تابع میگه ودرست عمل کرد حالا مونده آخرین مرحله که هرکی زودتر اون چهارتا خونه خودشو کامل کنه برندس اگه کامل شد سورسشو میزارم تا استفاده کنید این منچی که تو این انجمن گذاشتن خیلی پیچیدس آدم گیج میشه نه این که مبهم باشه ها راستش خیلی ابتدایه واسه هر کامند یه چی نوشته خلاصه شرمنده سرتونو در آوردم ممنون از راهنمایتون یا علی:قلب::تشویق::لبخندساده:

saber67
یک شنبه 15 بهمن 1391, 00:30 صبح
نیازی نیست از تایمر استفاده کنی
الکی سربار بدی به برنامه
فقط کافیه هر بار که مهره ای حرکت کرد بعدش یه تابع موقعیت جدید رو با موقعیت مهره های دیگه مقایسه کنه، اگه یکی بودن مهره حریف حذف بشه اگه نه که هیچی دیگه
واسه برنده شدن هم همین روش جواب میده، بعد هر حرکت چک می کنی ببینی همه مهره های بازیکن فعلی در مختصات مورد نظر برای برنده شدن هستند یا نه