विषयसूची:
- चरण 1: अपना खिलाड़ी बनाएं
- चरण 2: नया कमरा कोड
- चरण 3: एक चर से एक लिंक बनाना
- चरण 4: परीक्षण
- चरण 5: एक कमरे की सूची जोड़ें
- चरण 6: कमरों को हटाना
- चरण 7: परीक्षण
- चरण 8: चीनी के क्यूब और वस्तुओं के साथ विषमताएं
- चरण 9: क्लोन () फ़ंक्शन
- चरण 10: अभी के लिए बस इतना ही
वीडियो: शुगरक्यूब के साथ सुतली में चर से लिंक: १० कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
मुझे बहुत खुशी है कि आप मेरे साथ फिर से जुड़ गए हैं! इसका मतलब है कि Wumpus ने अभी तक आपको नहीं खाया है। अच्छा!
आप में से जो परिचित नहीं हैं, उनके लिए यह ट्यूटोरियल का एक सेट है जिसे मैं अपने प्यारे ऊची-स्कूटी विडाल चचेरे भाई को उसके वरिष्ठ प्रोजेक्ट के साथ मदद करने के लिए बना रहा हूं। ये ट्यूटोरियल इस बात का संदर्भ देने के लिए हैं कि आप ट्विन और शुगरक्यूब की कुछ प्रोग्रामिंग सुविधाओं के साथ क्या कर सकते हैं। यदि आप साथ चलना चाहते हैं, तो आप यहां पहला ट्यूटोरियल पा सकते हैं।
पिछले ट्यूटोरियल में, मैंने कमरों का एक छोटा सा सेट बनाया था जिसे खिलाड़ी एक्सप्लोर कर सकता है। मैंने एक Wumpus ऑब्जेक्ट जोड़ा, और Wumpus कहाँ है, इसके आधार पर प्रत्येक कमरे में प्रदर्शित होने वाली चीज़ों को बदलने के लिए कुछ सामान्य कक्ष कोड बनाए।
चरण 1: अपना खिलाड़ी बनाएं
यह कदम बहुत आसान है। अनिवार्य रूप से मैं अपने $wumpus के समान कोड का उपयोग कर रहा हूं, लेकिन इसके बजाय $player चर के साथ।
चरण 2: नया कमरा कोड
अपने सामान्य कक्ष कोड को बदल दिया ताकि $player का मान वर्तमान कक्ष हो। फिर मौजूदा कमरे के बजाय $wumpus से $player की तुलना करें।
यह एक मामूली बदलाव है, और पूरी तरह से जरूरी नहीं है, लेकिन मुझे अपना कोड व्यवस्थित रखना पसंद है।
चरण 3: एक चर से एक लिंक बनाना
अंत में, मेरे शुरुआती कमरे में लिंक को उस लिंक से बदलना चाहते हैं जो $player के मूल्य के आधार पर बदलता है। यह शुगरक्यूब में "" फ़ंक्शन के साथ किया जा सकता है। आप इसके बारे में सुगरक्यूब के प्रलेखन पृष्ठ में अधिक पढ़ सकते हैं।
हमारे आदेश के बाद पहली स्ट्रिंग वह वाक्यांश है जो हमारे मार्ग में दिखाई देगी। दूसरा उस पैसेज का नाम है जिससे हम लिंक करना चाहते हैं। मैं "हंट द वम्पस!" का उपयोग कर रहा हूँ। मेरे वाक्यांश के रूप में, लेकिन हम इसके बजाय हमारे चर का उपयोग कर सकते हैं यदि हम चाहते हैं कि खिलाड़ी यह जान सके कि वे पहले से कहां जा रहे हैं, जैसे:
चरण 4: परीक्षण
जब आप अपने कोड का परीक्षण करते हैं, तो आप पाएंगे कि आपके लिंक को आपके द्वारा पहले लिखे गए किसी भी वाक्यांश से बदल दिया गया है। इसे क्लिक करने से आप अपने गेम के एक यादृच्छिक कमरे में पहुंच जाते हैं।
दुर्भाग्य से, यह आपको सीधे Wumpus कक्ष में भी ले जा सकता है! यह अभी बहुत मायने नहीं रखता है, लेकिन एक वास्तविक खेल में जो एक त्वरित खेल खत्म हो जाएगा। हमें इसे ठीक करने की जरूरत है।
चरण 5: एक कमरे की सूची जोड़ें
सबसे पहले, हम कमरों की सूची बनाने जा रहे हैं, ताकि कमरों का प्रबंधन आसान हो सके। इस सरणी को घोषित करके, हम कोड को दोहराए बिना अपने $player और $wumpus मान सेट करने के लिए इसका उपयोग कर सकते हैं। इसका एक अन्य लाभ भी है जिसकी खोज हम आगे करेंगे।
इस कोड के साथ परीक्षण को पहले की तरह ही व्यवहार करना चाहिए।
चरण 6: कमरों को हटाना
मैंने पहले (हाइलाइट) से कोड की एक पंक्ति को कोड में जोड़ा है।
Sugarcube में Arrays में एक अंतर्निहित फ़ंक्शन होता है जो आपको नाम से तत्वों को हटाने देता है। इस मामले में, एक बार जब हम $wumpus को एक कमरा आवंटित कर देते हैं, तो हम उस कमरे को अपनी $roomlist से हटा सकते हैं। हालाँकि, यह फ़ंक्शन बारीक है। यह तब तक काम नहीं करेगा जब तक कि फ़ंक्शन का आउटपुट किसी तरह से असाइन या उपयोग नहीं किया जाता है। इसका ख्याल रखने के लिए, मैंने अस्थायी चर _temp बनाया है।
शुगरक्यूब में, अस्थायी चर एक डॉलर ($) के बजाय अंडरस्कोर (_) से शुरू होते हैं। वे उपयोगी हैं क्योंकि पैसेज चलने के बाद वे हटा दिए जाते हैं, इसलिए आपको अतिव्यापी चर नामों के बारे में चिंता करने की आवश्यकता नहीं है।
मैं $player रूम को $roomlist से भी हटा रहा हूँ, बिल्कुल निश्चित रूप से।
चरण 7: परीक्षण
जबकि हम कोड को अभी चला सकते हैं, यह बहुत गहन परीक्षण नहीं होगा। अगर हम कोड चलाते हैं और पाते हैं कि $player और $wumpus अलग-अलग कमरों में असाइन किए गए हैं, तो हम नहीं जानते कि ऐसा इसलिए है क्योंकि कोड काम करता है, या अगर यह सिर्फ मौका है। निश्चित रूप से, हम कोड को कई बार चला सकते हैं, और यह मान सकते हैं कि यदि यह उन दोनों को एक ही कमरा कभी नहीं देता है जो वह कभी नहीं देगा, लेकिन यह हमेशा के लिए ले जाएगा और यह अभी भी 100% आश्वासन नहीं है कि यह कभी नहीं हो सकता है।
इसके बजाय, हमें जाँच करने का एक तरीका चाहिए।
मैंने अपने परिचय मार्ग के शीर्ष पर तीन पंक्तियाँ जोड़ी हैं जो हमें हमारे $wumpus, $player, और $roomlist चर के मूल्यों को देखने देगी। जिस तरह से हम अपना कोड सेट करते हैं, उसके कारण हम जानते हैं कि $wumpus रूम और $player रूम को $roomlist से हटा दिया जाना चाहिए।
जब हम इस कोड को चलाते हैं, तो हम यह सुनिश्चित करने के लिए जांच कर सकते हैं कि यह मामला है।
चरण 8: चीनी के क्यूब और वस्तुओं के साथ विषमताएं
शुगरक्यूब की वस्तुएं थोड़ी अजीब होती हैं। मुझे इसका प्रदर्शन करने दो।
जब मैं मूल रूप से इस परियोजना का निर्माण कर रहा था, इससे पहले कि मैं इससे कमरे हटाना शुरू कर दूं, मैं अपनी $roomlist को $saveroom चर में सहेजना चाहता था। मुझे लगा कि यह बाद में काम आएगा।
जब मुझे इस कोड से कुछ अजीब व्यवहार मिला, तो मैंने अपने परिचय पृष्ठ पर एक और पंक्ति जोड़ दी ताकि मैं अपने $saveroom चर (दूसरी तस्वीर) को देख सकूं।
मैं यह जानकर चौंक गया कि मैंने जो तत्व $roomlist से हटा दिए थे, वे भी मेरी सहेजी गई सूची से हटा दिए गए थे! आप इसे तीसरी तस्वीर में कार्रवाई में देख सकते हैं।
ऐसा इसलिए है क्योंकि जब आप इस तरह एक सरणी की प्रतिलिपि बनाते हैं, तो आप वास्तव में सुतली को सरणी की प्रतिलिपि बनाने के लिए नहीं कह रहे हैं, आप सुतली को बता रहे हैं कि ये दो चर एक ही सरणी हैं। जब आप एक चर का उपयोग करके सरणी में कुछ करते हैं, तो यह उसी सरणी को बदल देता है जिसे दूसरा चर देख रहा है!
हम इसे क्लोन () फ़ंक्शन के साथ ठीक कर सकते हैं।
चरण 9: क्लोन () फ़ंक्शन
आप शुगरक्यूब प्रलेखन पृष्ठ पर क्लोन () फ़ंक्शन के बारे में पढ़ सकते हैं।
एक "उथली" प्रति वह है जो हम पहले कर रहे थे। संपूर्ण सरणी की पूरी प्रतिलिपि बनाने के बजाय, यह मान लेता है कि आपका चर उसी सरणी के साथ काम कर रहा है। एक उथली प्रतिलिपि के बजाय, क्लोन() एक "गहरी" प्रतिलिपि करता है, जो आपके जैसा व्यवहार करता है अपेक्षा करता है। सरणी के प्रत्येक तत्व को एक नए सरणी में कॉपी किया गया है, और मूल से पूरी तरह से अलग है।
यदि हम इस नए कोड का परीक्षण करते हैं, तो हम पाते हैं कि यह अपेक्षा के अनुरूप काम करता है।
बेशक, इससे कोई फर्क नहीं पड़ता कि आप $roomlist रखते हैं या नहीं। मेरी परियोजना के प्रयोजनों के लिए, मैं नहीं जा रहा हूँ। यह सब सिर्फ गहरी बनाम उथली प्रतियों को प्रदर्शित करने के लिए था।
चरण 10: अभी के लिए बस इतना ही
हमने कोड जोड़ा है जो हमारे खिलाड़ी को एक यादृच्छिक कमरे में शुरू करने देता है। इसके अलावा, हमने एक बग को समाप्त कर दिया है जहां खिलाड़ी उसी कमरे में शुरू होगा जहां Wumpus है।
हमने सीखा कि वेरिएबल से लिंक कैसे बनाया जाता है, और शुगरक्यूब द्वारा एरे कॉपीिंग का इलाज कैसे किया जाता है।
चीजें बढ़ रही हैं, लेकिन हम अभी शुरुआत कर रहे हैं!
हैप्पी हंटिंग!
सिफारिश की:
जीपीआरएस (सिम कार्ड) डेटा लिंक के साथ कॉम्पैक्ट वेदर सेंसर: 4 कदम
जीपीआरएस (सिम कार्ड) के साथ कॉम्पैक्ट वेदर सेंसर डेटा लिंक: प्रोजेक्ट सारांशयह एक बैटरी से चलने वाला मौसम सेंसर है जो बीएमई280 तापमान/दबाव/आर्द्रता सेंसर और एटीएमेगा328पी एमसीयू पर आधारित है। यह दो 3.6 वी लिथियम थियोनिल एए बैटरी पर चलता है। इसमें 6 µA की अति-निम्न नींद की खपत है। यह तारीख भेजता है
Arduino ISP के रूप में -- AVR में बर्न हेक्स फ़ाइल -- एवीआर में फ्यूज -- प्रोग्रामर के रूप में Arduino: 10 कदम
Arduino ISP के रूप में || AVR में बर्न हेक्स फ़ाइल || एवीआर में फ्यूज || अरुडिनो प्रोग्रामर के रूप में:………………अधिक वीडियो के लिए कृपया मेरे YouTube चैनल को सब्सक्राइब करें……यह लेख आईएसपी के रूप में आर्डिनो के बारे में सब कुछ है। यदि आप हेक्स फ़ाइल अपलोड करना चाहते हैं या यदि आप एवीआर में अपना फ्यूज सेट करना चाहते हैं तो आपको प्रोग्रामर खरीदने की आवश्यकता नहीं है, आप कर सकते हैं
शुगरक्यूब के साथ सुतली में सामान्य कमरे: ११ कदम
सुगरक्यूब के साथ सुतली में सामान्य कमरे: नमस्कार और सुगरक्यूब के साथ सुतली में वम्पस हंट के निर्माण पर मेरे ट्यूटोरियल में आपका स्वागत है! सुतली एक बहुत ही सरल उपकरण है, जिसे टेक्स्ट एडवेंचर गेम बनाने के लिए डिज़ाइन किया गया है! मेरे पसंदीदा छोटे चचेरे भाई ने अपने वरिष्ठ प्रोजेक्ट के लिए सुतली के साथ एक खेल बनाने के लिए चुना है, एक
एनआरएफ५१८२२, एआरएम® केईआईएल एमडीके वी५ + एसटी-लिंक के लिए आईडीई के साथ शुरुआत कैसे करें: ६ कदम
NRF51822, ARM® KEIL MDK V5 + ST-Link के लिए IDE के साथ शुरुआत कैसे करें: अवलोकनजब मैंने अपने हॉबी प्रोजेक्ट के लिए nRF51822 एप्लिकेशन विकसित करना शुरू किया, तो मैंने पाया कि इस विषय पर व्यवस्थित जानकारी नहीं थी। यहाँ, इस प्रकार, मैं यह नोट करना चाहूंगा कि मैंने क्या हासिल किया है। यह वर्णन करता है कि मुझे लागू करने के लिए क्या संघर्ष करना पड़ता है
$20 से कम के लिए दुनिया भर में माइक्रोकंट्रोलर लिंक: 15 कदम
$20 से कम के लिए दुनिया भर में माइक्रोकंट्रोलर लिंक: अपने होम थर्मोस्टेट को काम से नियंत्रित करें। दुनिया में कहीं से भी एक स्विच को फ्लिक करके स्प्रिंकलर चालू करें। यह निर्देशयोग्य दिखाता है कि इंटरनेट की रीढ़ और कुछ सरल VB.Net कोड का उपयोग करके दो या अधिक $ 4 माइक्रोकंट्रोलर को कैसे लिंक किया जाए। यह निर्माण