PDA

View Full Version : حرکت اسب



sara shjaiee
شنبه 02 اردیبهشت 1385, 15:06 عصر
با سلام
چطور می توانم به زبان ++c (با استفاده از آرایه) برنا مه ای بنویسم که اسب را در صفحه شطرنج
حرکت دهد به طوری که با انجام گردشها از صفحه شطرنج خارج نشود .
حرکت اسب از یکی از گوشهای صفحه شطرنج آغاز شود به طوری که ابتدا به خانه ها یی رود که ارزش کمتری دارند وهنگام برخورد به دو یا چند خانه با امتیازهای مساوی برنامه باید به خانه ای
برود که در آن حرکت بعدی با کمترین امتیاز دسترسی صورت پذیرد.

2 3 4 4 4 4 3 2
3 4 6 6 6 6 4 3
4 6 8 8 8 8 6 4
4 6 8 8 8 8 6 4 جدول امتیاز
4 6 8 8 8 8 6 4
4 6 8 8 8 8 6 4
3 4 6 6 6 6 4 3
2 3 4 4 4 4 3 2

Argonod
شنبه 02 اردیبهشت 1385, 15:38 عصر
شما کافیست که یک آرایه بر حسب سایز و بعد مورد نیاز درست کنید و در هر حرکت آن خانه از آرایه طی شده را علامت گذاری کنید.

Amir Oveisi
شنبه 02 اردیبهشت 1385, 16:22 عصر
اسب میتونه از یه خونه چندبار هم رد بشه؟ یا محدودیت داره؟

Arash_j13
یک شنبه 03 اردیبهشت 1385, 04:59 صبح
یه نکته دیگه هم هست وقتی از یه خونه به خونه دیگه حرکت می کنید از هفت خونه ای دیگه که با اسب می تونستید برید باید یک عدد کم کنید چون یک راه دسترسی به اون خونها بسته شده

sara shjaiee
پنج شنبه 07 اردیبهشت 1385, 09:06 صبح
از راهنمایی های شما ممنونم ولی برنامه به همین سادگی ها هم نیست.اسب به صورت L حرکت می کندو از هر خانه باید یک بار عبور کند.:متفکر:

Argonod
پنج شنبه 07 اردیبهشت 1385, 12:47 عصر
آیا این اسب باید تمام خانه هارو طی مسیر کنه یا اینکه از یک گوشه شروع به حرکت میکنه و به محض رسیدن به گوشه دیگه حرکتش قطع میشود؟ ضمنا خروجی برنامه شما چیست؟ تعداد حرکتهای اسب؟ شماره خانه ها و یا امتیازها یا همه با هم؟

Arash_j13
جمعه 08 اردیبهشت 1385, 05:03 صبح
برنامه به همین سادگیه که گفت نوشتنش اصلا کار سختی نیست وگرنه توی کتاب C++ How to program تو فصل ها اولیه نمی یومد اگه دوست دارید کدش رو براوت بفرستم

sarvestan
جمعه 08 اردیبهشت 1385, 06:18 صبح
خب میشه گفت اولین برنامه پاسکالی که نوشتم همین بود
تمام نکات برنامه رو در یک جا سر جم میکنم
جدول ارزش، جدولی که در هر خونه تعداد مسیرهایی که به اون خونه از خونه های مجاورش ختم میشه، قرار داره پس موقعی که یک خونه از صفحه رو چک میکنی مقداره همون خونه رو عددی بزار که مشخص بشه ویزیت شده، حالا از ارزش خونه هایی که اسبت میتونه از خونه جاری بهشون برسه یکی کم کن!!!
در این لحظه خونهای از خونه های مجاور رو انتخاب کن که کمترین ارزش رو داشته باشه!!! حالا فقط یه حلقه میخوای و همه چیز تمومه!!!
خوش باشی

sara shjaiee
جمعه 08 اردیبهشت 1385, 07:37 صبح
من چند روز است که به این برنامه فکر می کنم. چند بار از روی مسئله خوانده ام.در قسمتی مشکل دارم که اسب باید 64 گردش انجام دهدو در هر صورت برخورد با خانه های مساوی بزنامه باید به خانه ای برود که در آن حرکت بعدی به خانه ای با کمترین امتیاز انجام شود.
Arash_j13 از لطف شما ممنون میشوم اگر کد برنامه را برایم بفرستید.
n_ghassemi66@yahoo.com

Persiasoft
شنبه 09 اردیبهشت 1385, 07:10 صبح
ببین اول از همه همه ی خونه ها را ارزش 0 میدی و وقتی اسب رفت رو اون خونه ارزش 1 میگیره وقتی اسب تو یک خونه هست میاد 8 خونه اطرافش را چک میکنه. هر کدوم که آزاد بود (ارزش 0 داشت) میاد هونه های اطراف اونو هم چک میکنه و تو یک counter نگه میداره اونوقت هرکدوم که کمتر بود میره توش. اگر هم مساوی بودن ، میره رو اولین خونه ای که راه فرار کمتری داشت.
تموم شد. فقط یک حالت خطا پیش میاد که به اونجا رسیدی بگو تا بهت بگم چی کار کنی!

این هم اجرایش : http://www.persiasoft.org/Products/Programming_Dos/Horse.exe

بنوسی مشکل داشتی کمکت میکنم ولی سورس متاسفم!:خجالت:

SH.Daneshvar
یک شنبه 10 اردیبهشت 1385, 09:03 صبح
من هم با سی هم با پاسکال نوشتمش
و به صورت Dynamic تعداد خونه ها رو از ورودی میگیره
هر کسی میخواد E-Mail بزنه تا سورس بهش بدم.

SH.Daneshvar@Yahoo.com
Artawahista@Yahoo.com

SH.Daneshvar
یک شنبه 10 اردیبهشت 1385, 09:08 صبح
موفق باشید.

molla652003
جمعه 18 آبان 1386, 20:50 عصر
خب چرا source اش رو همین جا نمی زاری ؟

emad_67
جمعه 18 آبان 1386, 22:54 عصر
دوست عزیز تاریخ پست ها رو دیدی؟
این جا رو هم ببین:
http://barnamenevis.org/forum/showthread.php?t=83689