परमाणु शतरंज शतरंज का एक (बहुत ही मजेदार) प्रकार है जिसमें प्रत्येक कब्जा एक "विस्फोट" का कारण बनता है, कब्जा किए गए टुकड़े को नष्ट करना, कब्जा करने वाला टुकड़ा, और 1-वर्ग के दायरे में सभी गैर-प्यादे। इस चुनौती का लक्ष्य परमाणु शतरंज का एक पूरा खेल खेलना नहीं है, बल्कि एक निश्चित चाल चलने पर क्या होता है, इसका अनुकरण करना है।
अस्वीकरण: धमाका ध्वनि प्रभाव शामिल नहीं है।
इनपुट
बोर्ड की स्थिति फोर्शिथ-एडवर्ड्स नोटेशन (आमतौर पर एफईएन के रूप में जाना जाता है) में दी जाएगी, लेकिन केवल पहले क्षेत्र के साथ। उदाहरण के लिए, इनपुट:
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR
प्रारंभिक स्थिति का प्रतिनिधित्व करता है:
इसे एक स्ट्रिंग या आपकी भाषा के समकक्ष के रूप में लिया जाना चाहिए। यह मान्य होने की गारंटी है; उदाहरण के लिए, यदि दस राजा हों, या यदि कोई राजा नहीं है, तो आपको परवाह नहीं है।
आपको वह चाल भी दी जाएगी जिसे आप अनुकरण करने के लिए कर रहे हैं, जिसे दो वर्ग नामों के रूप में दर्शाया गया है: जिस वर्ग पर टुकड़े को ले जाया जाना है, और वह जिस वर्ग में जा रहा है। उदाहरण के लिए, उपरोक्त चित्र पर राजा के प्यादा दो स्थानों को आगे की ओर ले जाना इस प्रकार दर्शाया जाएगा:
e2e4
यह भी एक स्ट्रिंग के रूप में लिया जाना चाहिए। चाल हमेशा मान्य होगी, और आपको कास्टलिंग का समर्थन करने की आवश्यकता नहीं है । आपको एन पासेंट का समर्थन करने की आवश्यकता है , जिसे अगले खंड में आगे विस्तार से समझाया जाएगा।
उत्पादन
आपके कार्यक्रम का आउटपुट इनपुट के रूप में एक ही आंशिक-एफईएन संकेतन में होना चाहिए, निर्दिष्ट चाल के साथ (और यदि आवश्यक हो तो किसी भी टुकड़े में विस्फोट हो गया)।
विस्फोट के सटीक नियम हैं - जब कोई टुकड़ा पकड़ा जाता है:
कब्जा किया जा रहा टुकड़ा निकालें (यह इनपुट में नामित दूसरे वर्ग पर हमेशा टुकड़ा होगा, सिवाय इसके कि जब कब्जा एक एन पासेंट है )।
उस टुकड़े को निकालें जो कैप्चरिंग कर रहा है (यह इनपुट में नामित पहले वर्ग पर हमेशा टुकड़ा होगा)।
प्रत्येक टुकड़ा निकालें जो है:
8 में से एक पर स्थित है, जहां कब्जा हुआ है ( एन पास के लिए , यह वर्ग है कि कैप्चरिंग पॉन पर होगा, अगर यह विस्फोट नहीं हुआ)।
मोहरा नहीं।
एन पास करने वालों के नियमों का त्वरित अवलोकन , जो अपरिचित हैं: यदि कोई मोहरा अपने शुरुआती स्तर से दो स्थानों को आगे बढ़ाता है, और एक मोहरा है जो इसे कैप्चर कर सकता है यदि यह केवल एक वर्ग को आगे बढ़ाता है, तो यह इसे वैसे भी कैप्चर कर सकता है, लेकिन केवल बाद की चाल पर। यह कैप्चर " पासिंग " (या फ्रेंच में: " एन पैसेंट ") कहा जाता है।
परीक्षण के मामलों
तस्वीरों में, हरे रंग के तीर को बनाए जाने वाले कदम को दोहराते हैं, और हरे रंग के सर्कल उन टुकड़ों का प्रतिनिधित्व करते हैं जो विस्फोट होते हैं।
इनपुट: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR
, g1f3
आउटपुट:rnbqkbnr/pppppppp/8/8/8/5N2/PPPPPPPP/RNBQKB1R
इनपुट: 3kBb1r/pp5p/3p4/4pn2/P7/1P2P1pP/2rP1P2/R1B3RK
, f2g3
आउटपुट: 3kBb1r/pp5p/3p4/4pn2/P7/1P2P2P/2rP4/R1B3RK
(से चोरी http://en.lichess.org/ocoSfS5I/white#36 )
इनपुट: rnbqk1nr/1pp5/p2pp1pp/5p2/1bN5/2P1PQ1N/PP1P1PPP/R1B1KB1R
, f3b7
आउटपुट: 3qk1nr/2p5/p2pp1pp/5p2/1bN5/2P1P2N/PP1P1PPP/R1B1KB1R
(से चोरी http://en.lichess.org/NCUnA6LV/white#14 )
इनपुट: rnbqk2r/pp2p2p/2p3pb/3pP3/5P2/2N5/PPPP2P1/R1BQKB1R
, e5d6
आउटपुट: rnbqk2r/pp2p2p/2p3pb/8/5P2/2N5/PPPP2P1/R1BQKB1R
(से चोरी http://en.lichess.org/AvgU4Skq/white#16 , यह वास्तविक कदम नहीं था, लेकिन मैं एक परमाणु खेल को खोजने के लिए परेशान नहीं किया जा सकता है कि वास्तव में था अंपैसां: पी)
इनपुट: 5r2/2k5/p1B5/1pP1p3/1P4P1/3P4/P7/1K3R1q
, c6h1
आउटपुट: 5r2/2k5/p7/1pP1p3/1P4P1/3P4/P7/1K3R2
(से चोरी http://en.lichess.org/l77efXEb/white#58 )
स्कोरिंग
यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे छोटा कोड जीत जाता है।