# Chess-Uno के नियम (प्रोटोटाइप, “खुला कार्ड” संस्करण)

Chess-Uno दो खिलाड़ियों का मुकाबला है, जिसमें शतरंज की बिसात और कार्डों का डेक एक साथ आते हैं। खिलाड़ी **हाथ में कोई कार्ड नहीं रखते**: हर टर्न की शुरुआत में खिलाड़ी एक कार्ड खींचता है, उसे सबको दिखाता है, और उसका असर तुरंत लागू हो जाता है। नीचे दिए गए नियम ठीक वही हैं जो गेम इंजन सच में लागू करता है। **[प्रायोगिक]** चिह्न वाले नियम प्रोटोटाइप की धारणाएँ हैं: उनके मान कॉन्फ़िगरेशन (`RulesConfig`) में एक ही जगह रखे जाते हैं और हर गेम की शुरुआत में तय हो जाते हैं।

## 1. तैयारी

- सामान्य शतरंज बिसात, क्लासिक शुरुआती पोज़िशन। प्राइवेट गेम बनाने वाला सफ़ेद मोहरों से खेलता है; क्विक मैच में और कंप्यूटर के ख़िलाफ़ सेना लॉटरी से तय होती है (कंप्यूटर के ख़िलाफ़ आप उसे चुन भी सकते हैं)।
- पूरा डेक **104 कार्डों** का है: चारों रंगों (लाल, नीला, हरा, पीला) में से हर एक के लिए 1 से 9 तक हर संख्या की दो प्रतियाँ, दो “स्किप”, दो “रिवर्स”, दो “+2”; साथ में चार जोकर और चार “+4”। हर कार्ड की एक अलग पहचान (id) होती है। 0 वाला कोई कार्ड नहीं है।
- किसी गेम में इस्तेमाल होने वाला डेक **सेटिंग्स के हिसाब से छाँटा जाता है**: संख्या वाले कार्डों की सबसे बड़ी संख्या (`maxCardNumber`, डिफ़ॉल्ट 5, 1 से 9 तक बदली जा सकती है; 5 रखने पर 6 से 9 हट जाते हैं) और जोकर शामिल हैं या नहीं (`includeJokers`)।
- डेक सर्वर पर क्रिप्टोग्राफ़िक रैंडमनेस से फेंटा जाता है। गड्डी का क्रम खिलाड़ियों को कभी नहीं भेजा जाता।

## 2. एक टर्न कैसे चलता है

टर्न उस सेना का होता है जिसकी चाल है। उस सेना को नियंत्रित करने वाला खिलाड़ी टर्न शुरू करता है। चरण:

1. **टर्न की शुरुआत**, फिर **कार्ड खींचना**: खिलाड़ी अपने-आप ऊपर वाला कार्ड खींचता है और उसे सबके सामने **खोलता** है (किसी भी सूचना से पहले खींचा गया कार्ड दर्ज हो जाता है)।
2. **तुरंत असर**: कार्ड का असर उसी पल लागू होता है (सेक्शन 4 देखें)। +2 या +4 पर चालों से पहले **प्यादे रखने** का चरण आता है।
3. **चालें**: कार्ड से मिली चालों की संख्या।
4. **टर्न का अंत**: चाल विरोधी सेना को चली जाती है। खोला गया कार्ड **उसे खींचने वाले खिलाड़ी** के डिस्कार्ड ढेर में जाता है।

जिस खिलाड़ी के पास कोई संभव चाल नहीं है, वह भी अपना कार्ड खोलता है, उसका असर झेलता है, और फिर उसका टर्न ख़त्म हो जाता है।

## 3. गड्डी और डिस्कार्ड ढेर

- हर खिलाड़ी का **अपना डिस्कार्ड ढेर** होता है: उसमें वे कार्ड दिखते हैं जो उसने खींचे हैं।
- जब गड्डी ख़ाली हो जाती है, तो दोनों डिस्कार्ड ढेर एक साथ फेंटकर नई गड्डी बनाई जाती है।
- अगर गड्डी और डिस्कार्ड ढेर सब ख़ाली हों, तो खिलाड़ी कार्ड नहीं खींचता और एक सामान्य चाल चलता है।

## 4. कार्डों के असर

| कार्ड | असर |
| --- | --- |
| संख्या 1 से 9 | मौजूदा खिलाड़ी **संख्या जितनी चालें** चलता है (एक सीरीज़)। |
| स्किप | मौजूदा खिलाड़ी बिना चाल चले **अपना टर्न गँवा देता है**: विरोधी तुरंत एक कार्ड खींचता है और उसे खेलता है। |
| +2 | खिलाड़ी **अपने 2 कैप्चर हुए प्यादे वापस पाता है** (`plus2Pawns`) और उन्हें फिर से बिसात पर रखता है, फिर 1 चाल चलता है (`movesAfterRecovery`) **[प्रायोगिक]**। |
| +4 | यही, पर **4 प्यादों** के साथ (`plus4Pawns`)। |
| रिवर्स | **बिसात पलट जाती है**: सफ़ेद वाला खिलाड़ी काला बन जाता है और काला सफ़ेद। पोज़िशन नहीं बदलती। मौजूदा खिलाड़ी **अपनी नई सेना के साथ** अपना टर्न जारी रखता है (1 चाल) **[प्रायोगिक]**। |
| जोकर | खिलाड़ी **1 चाल** चलता है, और उसका **कोई भी मोहरा** **वज़ीर की तरह** चल सकता है (सीधी लाइन में या तिरछा, पहली रुकावट तक, कैप्चर समेत)। सामान्य चालें भी चली जा सकती हैं। आख़िरी पंक्ति तक पहुँचने वाले प्यादे का प्रमोशन होता है; वह अपनी पहली पंक्ति पर वापस नहीं जा सकता **[प्रायोगिक]**। |

सीरीज़ के नियम (कई चालें):

- अगर कोई चाल संभव है तो पहली चाल ज़रूरी है; उसके बाद खिलाड़ी जब चाहे **सीरीज़ ख़त्म** कर सकता है।
- एक ही मोहरा कई बार चल सकता है। चालों के बीच कोई कार्ड नहीं खींचा जाता।
- अगर कोई चाल संभव न रहे, तो सीरीज़ रुक जाती है।
- राजा का शिकार मोड में राजा को कैप्चर करते ही गेम तुरंत ख़त्म हो जाता है; शुद्ध मोड में शह लगते ही सीरीज़ रुक जाती है।

प्यादों की वापसी (+2 / +4):

- सिर्फ़ वही प्यादे वापस मिलते हैं जो विरोधी ने **सच में कैप्चर किए** हैं (कैप्चर हुए प्यादों से ज़्यादा कभी नहीं)।
- खिलाड़ी ख़ाने ख़ुद चुनता है: **अपनी शुरुआती पंक्ति के ख़ाली ख़ाने** (सफ़ेद के लिए 2, काले के लिए 7); अगर वह पंक्ति भरी हो, तो उसके आगे वाली पंक्ति (3 / 6) **[प्रायोगिक]**।
- अगर कोई प्यादा कैप्चर नहीं हुआ है या कोई ख़ाना ख़ाली नहीं है, तो कार्ड बस 1 सामान्य चाल देता है।

रिवर्स: चूँकि अब किसी के हाथ में कार्ड नहीं होते, सिर्फ़ सेनाएँ आपस में बदली जाती हैं। रिवर्स न तो एन पासां (en passant) का हक़ देता है, न उसे आगे बढ़ाता है।

## 5. गेम मोड: शुद्ध और राजा का शिकार

मोड गेम से पहले चुना जाता है (प्राइवेट गेम, रैंक्ड कतार या कंप्यूटर के ख़िलाफ़ गेम) और गेम के दौरान बदला नहीं जा सकता। Elo रेटिंग दोनों मोड में एक ही है; रैंक्ड कतार सिर्फ़ उन खिलाड़ियों को आपस में मिलाती है जिन्होंने एक ही मोड चुना है।

### शुद्ध मोड

शतरंज के नियम लागू होते हैं, कार्डों के हिसाब से ढाले हुए:

- **कोई भी चाल अपने ही राजा को शह में नहीं छोड़ सकती**: पिन किया गया मोहरा अपने राजा की लाइन नहीं छोड़ सकता, राजा कभी हमले वाले ख़ाने पर नहीं जाता (इसलिए वह किसी सुरक्षित मोहरे को नहीं मार सकता), और दोनों राजा कभी अगल-बगल नहीं हो सकते। यह जोकर की “वज़ीर” वाली चालों पर भी लागू होता है।
- **राजा कभी कैप्चर नहीं होता।**
- **शह लगते ही सीरीज़ रुक जाती है**: जैसे ही कोई चाल विरोधी राजा को शह देती है, टर्न विरोधी के पास चला जाता है, ताकि वह जवाब दे सके।
- **शह और मात**: जब किसी खिलाड़ी की बारी हो (कार्ड खींचने के बाद), अगर उसका राजा शह में है और उसके कार्ड से मिली कोई भी चाल शह नहीं रोकती, तो उसे मात हो जाती है और वह गेम हार जाता है। कार्ड मायने रखता है: जोकर या वापस मिले प्यादे (+2, +4) ऐसा बचाव दे सकते हैं जो एक साधारण चाल नहीं देती।
- **शह में टर्न स्किप नहीं होता**: अगर राजा शह में हो और “स्किप” निकले, तो वह शह रोकने के लिए 1 चाल माना जाता है। इसी तरह, अगर कॉन्फ़िगरेशन प्यादों की वापसी के बाद कोई चाल नहीं देता (`movesAfterRecovery` 0 पर) और वापस रखे गए प्यादे शह नहीं रोकते, तो खिलाड़ी शह रोकने के लिए 1 चाल चलता है।
- **कैसलिंग**: क्लासिक नियम; शह में रहते हुए, या हमले वाले ख़ाने से गुज़रते हुए या उस पर पहुँचते हुए, इसकी अनुमति नहीं है।
- जो खिलाड़ी शह में नहीं है पर उसके पास कोई मान्य चाल नहीं है, उसका टर्न बस ख़त्म हो जाता है।

### राजा का शिकार मोड

Chess-Uno के मूल नियम। गेम **विरोधी राजा को कैप्चर करके** जीता जाता है।

- आप अपने राजा को हमले वाले ख़ाने पर छोड़ सकते हैं, अपने राजा को खुला छोड़ सकते हैं, “पिन” किया गया मोहरा चल सकते हैं, या दोनों राजाओं को अगल-बगल रख सकते हैं। राजा पर ख़तरे का जवाब देना ज़रूरी नहीं है: हमला सिर्फ़ एक जानकारी है, वह किसी भी चाल को नहीं रोकता।
- **शह**: जब किसी राजा पर हमला होता है, तो दोनों खिलाड़ियों को “शह!” दिखता है और राजा का ख़ाना हाइलाइट हो जाता है। जिस खिलाड़ी का राजा है, वह अपने टर्न के कार्ड से बचाव कर सकता है।
- **अपने-आप कैप्चर**: अगर आपकी बारी के समय (कार्ड खींचने के बाद, या आपकी चालों की सीरीज़ के दौरान) आपकी कोई चाल विरोधी राजा को कैप्चर कर सकती है, तो गेम उसी पल रुक जाता है और आप जीत जाते हैं, कैप्चर वाली चाल चलने की ज़रूरत नहीं। अगर आपका कार्ड आपको कोई चाल नहीं देता (स्किप), तो उस टर्न राजा बच जाता है।
- राजा का कैप्चर गेम को तुरंत ख़त्म कर देता है और बची हुई चालों से ऊपर है। आख़िरी पंक्ति पर राजा को कैप्चर करने वाला प्यादा प्रमोशन का मोहरा नहीं चुनता: गेम ख़त्म हो चुका है। जीत जीतने वाली सेना के **मौजूदा मालिक** को मिलती है (रिवर्स के बाद यह अहम है)।
- **कैसलिंग**: क्लासिक शर्तें (राजा और हाथी पहले न चले हों, बीच के ख़ाने ख़ाली हों); हमले वाले ख़ाने से, उससे होकर या उस पर कैसलिंग की अनुमति है।

### दोनों मोड में

- मोहरों की चालें, रुकावटें, कैप्चर और प्रमोशन शतरंज जैसे ही हैं।
- **एन पासां (en passant)**: प्यादे की दो ख़ाने वाली चाल के बाद, यह कैप्चर सिर्फ़ ठीक अगली चाल में, विरोधी सेना ही कर सकती है। कोई और चाल, पूरी तरह स्किप हुआ टर्न, या उसी सेना की एक और चाल (सीरीज़) इस मौक़े को ख़त्म कर देती है।

## 6. सीरीज़ पर सुरक्षा नियम **[प्रायोगिक]**

सेटिंग `stopComboOnKingThreat = true` डिफ़ॉल्ट है, राजा का शिकार मोड में बदली जा सकती है (शुद्ध मोड में शह हमेशा सीरीज़ रोक देती है)। चालू होने पर, सीरीज़ की हर ऐसी चाल के बाद जो आख़िरी नहीं है, अगर विरोधी राजा पर हमला हो, तो सीरीज़ रुक जाती है और टर्न विरोधी सेना के पास चला जाता है। हमला सिर्फ़ बिसात की चालों और रुकावटों से तय होता है। यह सेटिंग गेम से पहले बंद की जा सकती है; गेम के दौरान यह बदली नहीं जा सकती।

## 7. ड्रॉ, हार मानना और डिस्कनेक्शन

- क्लासिक अपने-आप होने वाले ड्रॉ (दोहराव, अपर्याप्त मोहरे, 50 चालें) बंद हैं।
- दोनों खिलाड़ियों की सहमति से ड्रॉ; हार मानना; **लगातार 10 टर्न तक कोई मोहरा न चलने** पर ड्रॉ **[प्रायोगिक]** (सीमा `drawAfterTurnsWithoutMove`, जो सच में चली गई किसी भी चाल से फिर से शुरू हो जाती है)।
- **डिस्कनेक्शन**: इंसानों के बीच गेम में, डिस्कनेक्ट हुए खिलाड़ी को फिर से जुड़ने के लिए समय मिलता है (सर्वर सेटिंग, डिफ़ॉल्ट 60 सेकंड, गेम के नियमों में दिखाया जाता है)। इस समय में वापस न आने पर उसे फ़ॉरफ़िट (हारा हुआ) घोषित कर दिया जाता है। यह समय सिर्फ़ सर्वर की मेमोरी में रहता है: सर्वर क्रैश या रीस्टार्ट होने पर कोई फ़ॉरफ़िट नहीं होता, गेम सेव की गई स्थिति से फिर शुरू होता है। कंप्यूटर के ख़िलाफ़ गेम बिना किसी समय-सीमा के फिर से शुरू किया जा सकता है।
- फिर से जुड़ने या पेज रीलोड करने पर कभी नया कार्ड नहीं खींचा जाता: हर स्वीकार किए गए कमांड के बाद पूरी स्थिति सेव होती है।

## 8. खिलाड़ियों को क्या दिखता है

सबको दिखता है: बिसात, टर्न का खुला कार्ड, गड्डी (कार्डों की संख्या), हर खिलाड़ी का डिस्कार्ड ढेर, हर सेना के वापस पाए जा सकने वाले कैप्चर हुए प्यादे, नियंत्रित सेनाएँ, लंबित असर, चाल चलने का हक़ रखने वाला खिलाड़ी, बची हुई चालें, सार्वजनिक लॉग और कनेक्शन की स्थिति। गड्डी का क्रम और सर्वर की रैंडमनेस कभी नहीं भेजे जाते। कंप्यूटर को भी सिर्फ़ यही जानकारी मिलती है।

## 9. रैंकिंग

- सिर्फ़ **दो अकाउंट के बीच** पूरे हुए गेम रैंक होते हैं, दोनों मोड में और एक ही साझा रेटिंग के साथ; कंप्यूटर के ख़िलाफ़ गेम नहीं गिने जाते।
- **Elo** रेटिंग: शुरुआत में 1000; अपने से ऊँची रेटिंग वाले खिलाड़ी के ख़िलाफ़ जीत पर ज़्यादा अंक मिलते हैं। पहले 10 गेम ज़्यादा गिने जाते हैं (K = 40, फिर 24), ताकि नए खिलाड़ी की सही जगह जल्दी तय हो।
- स्तर: 🥉 ब्रॉन्ज़, 🥈 सिल्वर (950+), 🥇 गोल्ड (1050+), 🏆 प्लैटिनम (1200+), 💎 डायमंड (1400+)।
- हार मानना और फ़ॉरफ़िट हार गिने जाते हैं; ड्रॉ होने पर दोनों रेटिंग एक-दूसरे के क़रीब आती हैं।
- खिलाड़ियों की हर जोड़ी के आमने-सामने के मुक़ाबलों का रिकॉर्ड (जीत, हार, ड्रॉ, हाल का फ़ॉर्म) सार्वजनिक है।

## 10. बदली जा सकने वाली सेटिंग्स (डिफ़ॉल्ट मान)

| सेटिंग | डिफ़ॉल्ट | काम |
| --- | --- | --- |
| `gameMode` | `capture` | गेम मोड: `purist` (शुद्ध) या `capture` (राजा का शिकार) |
| `maxCardNumber` | 5 | गड्डी में संख्या वाले कार्डों की सबसे बड़ी संख्या (1 से 9) |
| `includeJokers` | true | जोकर शामिल |
| `plus2Pawns` / `plus4Pawns` | 2 / 4 | वापस मिलने वाले प्यादे |
| `movesAfterRecovery` | 1 | प्यादों की वापसी के बाद की चालें |
| `stopComboOnKingThreat` | true | सीरीज़ पर सुरक्षा नियम |
| `drawAfterTurnsWithoutMove` | 10 | निष्क्रियता से ड्रॉ |
| `reconnectGraceMs` | 60000 | फिर से जुड़ने का समय (सर्वर) |
