تور لحظه آخری
امروز : جمعه ، 13 مهر 1403    احادیث و روایات:  امام علی (ع):همّت مؤمن در نماز و روزه و عبادت است و همّت منافق در خوردن و نوشيدن؛ مانند حيوانات...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها




آمار وبسایت

 تعداد کل بازدیدها : 1820571477




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

دلفی - کلاس - شطرنج -


واضح آرشیو وب فارسی:سایت ریسک: دلفی - کلاس - شطرنج majid_a 95 19 ارديبهشت 1388, 11:23سلام به همه برنامه نویسان عزیز! استاد ما واسه پروژه آخر ترم دلفی گفته بازی شطرنج دونفره (بدون هوش مصنوعی) توسط کلاس ها ... هیچی هم متاسفانه یاد نداده فقط .....:-? حالا دوستان هرکس کمکی میتونه کنه امیدوارم دریغ نکنه ! اصلا از کجا باید شروع کنم و ابجکت هار و چطور با کلاس تعریف کنم و .......... با تشکر :rose: the_king 19 ارديبهشت 1388, 12:49سلام به همه برنامه نویسان عزیز! استاد ما واسه پروژه آخر ترم دلفی گفته بازی شطرنج دونفره (بدون هوش مصنوعی) توسط کلاس ها ... هیچی هم متاسفانه یاد نداده فقط .....:-? حالا دوستان هرکس کمکی میتونه کنه امیدوارم دریغ نکنه ! اصلا از کجا باید شروع کنم و ابجکت هار و چطور با کلاس تعریف کنم و .......... با تشکر :rose: اگه درست فهمیده باشم، منظورتون از شطرنج دو نفره ای که هوش مصنوعی نداشته باشه، بازی دو کاربر با هم است، یعنی هیچکدوم از دو طرف کامپیوتر نیستند و کامپیوتر در مورد حرکت بعدی مهره ها دخالتی نداره. شما بایستی ابتدا یک کلاس برای مهره ها (piece) بسازید که تمامی مشخصات و عملیات یک مهره را در خود جای دهد : 1) یک متغیر برای نوع مهره (PieceType) داشته باشد که مشخص کند که مهره از چه نوعی است، یعنی یکی از انواع king یا queen یا rook یا knight یا bishop یا pawn این نوع در طی بازی بایستی قابل تغییر باشد، زیرا ممکن است که سرباز به انتهای زمین برسد و مثلا بخواهد وزیر باشد. 2) یک متغیر برای رنگ مهره (Color) که یا سفید است و یا سیاه. 3) دو متغیر برای مختصات مهره در صفحه، یعنی مختصات سطر (Row) و ستونی (Col) که مهره در آن قرار دارد. 4) یک تابع (CanMove(x,y برای بررسی اینکه آیا مهره فعلی می تواند به موقعیت x و y برود یا خیر. از این تابع برای تشخیص اینکه آیا مهره مذکور توانایی زدن مهره موجود در مختصات x و y را دارد یا خیر استفاده می کنیم. همچنین از این تابع برای تشخیص وضعیت کیش بودن شاه و یا وضعیت مات شدن هم استفاده خواهیم کرد. 5) یک تابع برای حرکت مهره مثلا (Move(x,y که مهره بررسی کند که آیا می تواند از موقعیت فعلی به موقعیت x و y برود یا خیر. اگر توانست که به آن موقعیت برود موقعیت فعلی تغییر کند و اگر نتوانست، اعلام کند که این حرکت کاربر قابل قبول نیست. این تابع خود بایستی از تابع (CanMove(x,y استفاده کند. کاربر برای حرکت دادن مهره خود از این تابع استفاده خواهد کرد. 6) یک روتین برای ترسیم مهره، مثلا ()Paint که به شکل مناسبی مهره را در موقعیت فعلی رسم کند. همچنین یک کلاس برای صفحه شطرنج (Board) خواهید ساخت که در ابتدا 32 مهره از کلاس Piece را در خود جای می دهد : 1) یک آرایه 32 خانه ای مثلا Pieces از اشیائی از کلاس Piece که قرار است مهره های ما را در خود جای دهد. 2) یک متغیر Count که همواره مشخص کند که چند مهره در صفحه شطرنج وجود دارد، مثلا 32 مهره. 3) یک تابع ()BlackKing که همواره مهره شاه سیاه را داخل آرایه Pieces نشان دهد. 4) یک تابع ()WhiteKing که همواره مهره شاه سفید را داخل آرایه Pieces نشان دهد. 5) یک تابع ()IsCheck که بررسی کند که آیا وضعیت کیش در صفحه شطرنج رخ داده یا خیر و رنگ مهره کیش شده را مشخص کند. 6) یک تابع ()IsMate که بررسی کند که آیا کاربر کیش شده، می تواند با جابجا کردن یکی از مهره هایش از حالت کیش خارج شود یا خیر. 7) یک روتین ()Paint برای ترسیم صفحه شطرنج که بعد از ترسیم صفحه از ()Paint موجود در کلاس مهره ها استفاده می کند تا مهره ها هم رسم شوند. 8) یک روتین که بتواند قلعه رفتن Castling را برای قلعه p انجام دهد. 9) یک روتین ()En passant که اگر این مهره سرباز است که حرکت رو به جلو دارد، وضعیت مهره های مقابل را بررسی کرده و در صورت امکان مهره حریف را بزند. 10) یک روتین ()Promotion که اگر مهره سرباز به انتهای صفحه رسید، آنرا ارتقاء دهد. 11) یک روتین (Attack(Color,Piece,x,y که بررسی می کند که اگر کاربر با رنگ Color بخواهد با مهره Piece به موقعیت x و y برود، مهره حریفی در آن هست که زده شود و یا اگر شاه حریف در آنجا است وضعیت ()IsCheck را بررسی کند و اگر مهره خودی در آن است، عدم امکان حرکت را اعلام کند و اگر وضعیت قلعه رفتن (Castling) رخ داده آنرا عملی کند. این دو کلاس اساس برنامه شطرنج شما هستند. majid_a 95 21 ارديبهشت 1388, 11:39سلام! خیلی ممنونم ! آقای the_king خیلی لطف کردین! به نظر شما سورس این برنامه رو میشه گیر آورد تو اینترنت ؟:shock: چون من اصلا وقت ندارم بشینم این برنامه رو بنویسم ! دارم واسه کنکور میخونم............:sad:




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 796]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن