আমি একটি সি ++ দাবা ইঞ্জিন লিখছি এবং আমি লিটল-এন্ডিয়ান র্যাঙ্ক-ফাইল ম্যাপিং বিটবোর্ডের জন্য টুকরো টুকরো টুকরো টুকরো করার জন্য জাদু নম্বরগুলি খুঁজছি ।
প্রতিদ্বন্দ্বী দাবা ওয়েবসাইট একই বোর্ড ম্যাপিংয়ের জন্য নয় তবে ম্যাজিক নম্বর দেয়।
দাবা প্রোগ্রামিং উইকি এখনও পর্যন্ত কয়েকটি সেরা যাদু নম্বর দেয় তবে তা পরিসীমাবদ্ধ নয়।
শেষে আমি চারটি বিষয় সন্ধান করছি:
- প্রতিটি স্কোয়ারের জন্য দখল মুখোশ
- প্রতিটি বর্গ জন্য যাদু নম্বর
- প্রতিটি স্কোয়ারের জন্য যাদু শিফট
- প্রতিটি স্কোয়ারের জন্য ডাটাবেস অ্যারে সরায়
সুতরাং আমি সি 3 রুকের চালগুলি (উদাহরণস্বরূপ) এর জন্য নিম্নলিখিত কোডটি ব্যবহার করতে পারি :
bbBlockers = bbAllPieces & occupancyMaskRook[C3]
databaseIndex = (int)((bbBlockers * magicNumberRook[C3]) >> rookMagicShifts[C3])
bbMoveSquares = magicMovesRook[C3][databaseIndex] & ~bbFriendlyPieces