وضعیت کیش شدن شاه توسط وزیر حریف
#1
سلام
میخواستم با کانستراکت یه برنامه بسازم که در صفحه 8*8 شطرنج که فقط دو مهره شاه و وزیر
حریف وجود داره بوسیله ی چن تا ایونت جداگونه مختصات عددی ( 8 تایی مثلا رخ سفید تو 0 و
0  هستش و رخ سیاه در8 و8 ) شاه و وزیر رو دریافت
کنه و بگه که آیا وزیر شاه رو کیش کرده یا نه؟
یا اگه کیش کرده در معرض خوردن توسط شاه قرار  نداشته باشه....

خب من الگوریتمش رو به صورت زیر آماده کردم.
کسی می دونه درسته یا نه؟؟؟


[تصویر:  63tn_sh1.jpg]
[تصویر:  chavoshi%208456232.jpg]
جان منست او هی مزنیدش
آن منست او هی مبریدش
آب منست او نان منست او
مثل ندارد باغ امیدش
باغ و جنانش آب روانش
سرخی سیبش سبزی بیدش
متصلست او معتدلست او
شمع دلست او پیش کشیدش
                             « مولانا »

  پاسخ


 سپاس شده توسط:
#2
اون شرط اول کار برای چیه (x=y) ؟
توضیح بیشتر بدید .دوتا مهره داریم ، مثلا شاه سفید و وزیر سیاه. مختصات شاه (x,y) و مختصات وزیر (a.b) هست. درسته ؟

بعد اگه خونه پایین چپ رو 0,0 بگیریم و بالا راست رو 8و8 جدولمون 9*9 میشه.
0-1-2-3-4-5-6-7-8

اگه این فرضی که گفتم درست باشه(فقط شاه سفید و وزیر سیاه. مختصات هم x,y,a,b ) برنامش به این صورته....

اگر     x=a یا y=b در نتیجه شاه کیش. (صلیبی)
اگر   1>=|x-a| و 1>=|y-b| در نتیجه وزیر با شاه یک خونه فاصله داره.(اول اختلاف طول رو چک میکنه بعد اختلاف عرض)
اگر   |(x-a)/(y-b)|=1 در نتیجه شاه کیش (ضربدری)


| | قدر مطلق منظورمه . همون ()abs
به و - یا دقت کنید.




  پاسخ


 سپاس شده توسط: keykavoos
#3
خیلی سخت گرفتین اگه قراره بازی رو با کانس بسازید روش خیلی راحت تری هست من با کانستراکت سه کار می کنم برا همین نمیتونم سورس بسازم اگه بخواین میتونم توضیح بدم
همیشه اعتقاد داشتم حیفه که با کامپیوتر بازی کرد ولی آخرش به بازی ساختن علاقه مند شدم...
  پاسخ


 سپاس شده توسط: keykavoos
#4
(1396/5/6، 10:02 عصر)mahdi797979 نوشته است: خیلی سخت گرفتین اگه قراره بازی رو با کانس بسازید روش خیلی راحت تری هست من با کانستراکت سه کار می کنم برا همین نمیتونم سورس بسازم اگه بخواین میتونم توضیح بدم

از اون سه شرطی که من نوشتم هم روش ساده تری هست ؟ لطفا بگید.
  پاسخ


 سپاس شده توسط:
#5
خوبی کانستراکت اینه که همیشه قرار نیست با کد نویسی کارو حل کنیم. برای این منظوری که شما دارین میشه یه اسپرایت سه در سه. ساخت و به مهره شاه پین کرد. همچنین یه اسپرایت ستاره هشت پر با پره های دراز ساخت و اونو هم به مهره وزیر پین کرد. بعد باید بگی اگه این اسپرایت ستاره ای با مهره شاه برخورد داشت ولی اسپرایت مربعی دور شاه با مهره وزیر برخورد نداشت اونوقت کیش بشه. فکر نکنم لازم به تذکر باشه که این اسپرایتا باید اینویزیبل باشن. اینجوری کار خیلی راحت تره و نیازی به مقایسه مختصات و ... نیست.
همیشه اعتقاد داشتم حیفه که با کامپیوتر بازی کرد ولی آخرش به بازی ساختن علاقه مند شدم...
  پاسخ


 سپاس شده توسط: keykavoos ، Dr.AR
#6
(1396/5/6، 08:49 عصر)Dr.AR نوشته است: اون شرط اول کار برای چیه (x=y) ؟
توضیح بیشتر بدید .دوتا مهره داریم ، مثلا شاه سفید و وزیر سیاه. مختصات شاه (x,y) و مختصات وزیر (a.b) هست. درسته ؟

بعد اگه خونه پایین چپ رو 0,0 بگیریم و بالا راست رو 8و8 جدولمون 9*9 میشه.
0-1-2-3-4-5-6-7-8

اگه این فرضی که گفتم درست باشه(فقط شاه سفید و وزیر سیاه. مختصات هم x,y,a,b ) برنامش به این صورته....

اگر     x=a یا y=b در نتیجه شاه کیش. (صلیبی)
اگر   1>=|x-a| و 1>=|y-b| در نتیجه وزیر با شاه یک خونه فاصله داره.(اول اختلاف طول رو چک میکنه بعد اختلاف عرض)
اگر   |(x-a)/(y-b)|=1 در نتیجه شاه کیش (ضربدری)


| | قدر مطلق منظورمه . همون ()abs
به و - یا دقت کنید.
سلام
چون دو تا مهره از شطرنج نمی تونند تو یه خونه باشند واسه همین اگه این طور باشه ارور بده
حواسم نبود درسته اون طوری میشه 9*9 اونی که شما میگی درسته
اینی که شمال گفتی هم درسته
ممنونم

[تصویر:  chavoshi%208456232.jpg]
جان منست او هی مزنیدش
آن منست او هی مبریدش
آب منست او نان منست او
مثل ندارد باغ امیدش
باغ و جنانش آب روانش
سرخی سیبش سبزی بیدش
متصلست او معتدلست او
شمع دلست او پیش کشیدش
                             « مولانا »

  پاسخ


 سپاس شده توسط:
#7
(1396/5/7، 11:27 صبح)mahdi797979 نوشته است: خوبی کانستراکت اینه که همیشه قرار نیست با کد نویسی کارو حل کنیم. برای این منظوری که شما دارین میشه یه اسپرایت سه در سه. ساخت و به مهره شاه پین کرد. همچنین یه اسپرایت ستاره هشت پر با پره های دراز ساخت و اونو هم به مهره وزیر پین کرد. بعد باید بگی اگه این اسپرایت ستاره ای با مهره شاه برخورد داشت ولی اسپرایت مربعی دور شاه با مهره وزیر برخورد نداشت اونوقت کیش بشه. فکر نکنم لازم به تذکر باشه که این اسپرایتا باید اینویزیبل باشن. اینجوری کار خیلی راحت تره و نیازی به مقایسه مختصات و ... نیست.

بله اینم روش جالبی هست. تشکر. اگه قرار نباشه صفحه شطرنج شلوغ بشه این روش بهتره.
  پاسخ


 سپاس شده توسط: keykavoos


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Information پرداخت درون برنامه مایکت کوردوا ya mahdi 0 230 1404/1/17، 05:43 عصر
آخرین ارسال: ya mahdi
  نحوه خروجی اندروید کوردوا ya mahdi 0 176 1404/1/11، 04:06 عصر
آخرین ارسال: ya mahdi
Wink حل شده مقادير لازم در environment variable ᔕinaᗪehghani 24 11,595 1403/10/23، 12:10 صبح
آخرین ارسال: Tggi
  تپسل .....فروشگاه Hamidreza 3 1,932 1403/10/22، 11:57 عصر
آخرین ارسال: Tggi
  خروجی اندروید با Intel xdk ya mahdi 0 130 1403/8/25، 02:08 عصر
آخرین ارسال: ya mahdi

پرش به انجمن: