বিটবোর্ডগুলির জন্য যাদু নম্বরগুলি সন্ধান করুন


9

আমি একটি সি ++ দাবা ইঞ্জিন লিখছি এবং আমি লিটল-এন্ডিয়ান র্যাঙ্ক-ফাইল ম্যাপিং বিটবোর্ডের জন্য টুকরো টুকরো টুকরো টুকরো করার জন্য জাদু নম্বরগুলি খুঁজছি ।

প্রতিদ্বন্দ্বী দাবা ওয়েবসাইট একই বোর্ড ম্যাপিংয়ের জন্য নয় তবে ম্যাজিক নম্বর দেয়।

দাবা প্রোগ্রামিং উইকি এখনও পর্যন্ত কয়েকটি সেরা যাদু নম্বর দেয় তবে তা পরিসীমাবদ্ধ নয়।

শেষে আমি চারটি বিষয় সন্ধান করছি:

  • প্রতিটি স্কোয়ারের জন্য দখল মুখোশ
  • প্রতিটি বর্গ জন্য যাদু নম্বর
  • প্রতিটি স্কোয়ারের জন্য যাদু শিফট
  • প্রতিটি স্কোয়ারের জন্য ডাটাবেস অ্যারে সরায়

সুতরাং আমি সি 3 রুকের চালগুলি (উদাহরণস্বরূপ) এর জন্য নিম্নলিখিত কোডটি ব্যবহার করতে পারি :

bbBlockers = bbAllPieces & occupancyMaskRook[C3]

databaseIndex = (int)((bbBlockers * magicNumberRook[C3]) >> rookMagicShifts[C3])

bbMoveSquares = magicMovesRook[C3][databaseIndex] & ~bbFriendlyPieces

আমি বিশ্বাস করি এই প্রশ্নটি প্রোগ্রামার্স.স্ট্যাকেক্সেঞ্জ.কম বা স্ট্যাকওভারফ্লো ডটকম এ আরও উপযুক্ত এবং উত্তর দেওয়া হবে ।
পভান নাদিগ

1
আসলে তা না. এটি এখনও এখানে উত্তরযোগ্য। বিটিডাব্লু, প্রোগ্রামাররা উচ্চ-স্তরের বিমূর্তিতে আরও বেশি মনোনিবেশ করে। স্ট্যাকওভারফ্লো.কম আরও ভাল হত।
স্মলচিস

@ পেটবেকার আপনি ঠিক বলেছেন, আমি এটি পরিবর্তন করেছি
রোমেন

উত্তর:


6

দাবা প্রোগ্রামিং এ এটি খুব পরিচিত সমস্যা। প্রদ্যুম্না কান্নানের দ্বারা উত্পন্ন সংখ্যাগুলি আপনার বিবেচনা করা উচিত। ডাঃ কান্নান সদয়ভাবে যাদু সংখ্যাগুলি মুক্ত উত্স তৈরি করেছিলেন। এটি ক্রাফটি এবং আমার নিজের সহ আরও কয়েকটি দাবা ইঞ্জিন ব্যবহার করছে।

আপনি গুগল "ক্র্যাটি ম্যাজিক নম্বর" দ্বারা আরও পড়তে পারেন।

আমি আপনার জন্য এখানে একটি জিপ ফাইল প্রস্তুত করেছি । স্মার্টচেস ​​দাবা ইঞ্জিন অ্যাপে এটি একই ফাইলগুলি ব্যবহৃত হচ্ছে। ডকুমেন্টেশন পড়ুন দয়া করে। মূলত, আপনাকে দুষ্টুদের জন্য আরমাজিক (বর্গক্ষেত্র, দখল) এবং বিশপদের জন্য বিম্যাগিক (বর্গক্ষেত্র, দখল) কল করতে হবে । আপনি কুইন মাস্কে তাদের এক্সওআর করতে পারেন।


ধন্যবাদ এটি ভাল কাজ করে। আমি কি আমার দাবা ইঞ্জিনে অবাধে এই কোডটি ব্যবহার / সংশোধন করতে পারি?
রোমেন

লাইসেন্সের কোনও সীমাবদ্ধতা নেই। আপনি খুশি হিসাবে ব্যবহার করুন। এটি আমিই করিনি যারা এটি করেছিলেন, এটি ডঃ কান্নানের একটি অবদান। দয়া করে আমার উত্তরটি গ্রহণ করুন যদি এটি সাহায্য করে!
স্মলচিস

হাই, আপনি গুগলড্রাইভে ম্যাজিকমোভস.জিপ ফাইলটি আপলোড করতে পারবেন? আমি এটি ছোটপথে ডাউনলোড করতে পারছি না (আমার কিছুটা ত্রুটি হয়েছে)। ধন্যবাদ।
123iamking

@ 123iamking লিঙ্কটি এখনও কাজ করছে। আমি এটি সরাতে যাচ্ছি না।
স্মলচিস

@ স্মলচেস - আমি এটি সরানোর বিষয়ে জিজ্ঞাসা করি না, আপনি কি গুগল ড্রাইভের সাথে একটি আয়না সরবরাহ করতে পারেন? ধন্যবাদ।
123iamking
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.