विषयसूची:

पोंग एक शर्ट पर लचीली स्क्रीन बजाना: 8 कदम (चित्रों के साथ)
पोंग एक शर्ट पर लचीली स्क्रीन बजाना: 8 कदम (चित्रों के साथ)

वीडियो: पोंग एक शर्ट पर लचीली स्क्रीन बजाना: 8 कदम (चित्रों के साथ)

वीडियो: पोंग एक शर्ट पर लचीली स्क्रीन बजाना: 8 कदम (चित्रों के साथ)
वीडियो: Little Binita ने Shilpa जी को दिया अपना 'Lucky Charm' | Super Dancer 4 | Shilpa Shetty Album 2024, जुलाई
Anonim
पोंग एक शर्ट पर लचीली स्क्रीन बजाना
पोंग एक शर्ट पर लचीली स्क्रीन बजाना
पोंग एक शर्ट पर लचीली स्क्रीन बजाना
पोंग एक शर्ट पर लचीली स्क्रीन बजाना
पोंग एक शर्ट पर लचीली स्क्रीन बजाना
पोंग एक शर्ट पर लचीली स्क्रीन बजाना

यह वर्ष 2013 के लिए मेरी हैलोवीन पोशाक है। यह लगभग एक साल से काम कर रहा है और इसे बनाने में कुछ घंटों का समय लगा है। स्क्रीन 14 गुणा 15 पिक्सल है, इसलिए, बहुत कम रिज़ॉल्यूशन है लेकिन यह अभी भी कुछ मजेदार चीजें कर सकता है। यह सभी दिशाओं में शारीरिक रूप से लचीला है, हालांकि इसे बिना नुकसान के मोड़ा नहीं जा सकता। इसमें एक कंट्रोलर होता है जिसमें सिंगल बटन और स्लाइड पॉट होता है, जो USB के माध्यम से प्रो मेगा से जुड़ा होता है। इसे लंबे समय तक जीवित रखने के लिए इसमें आवश्यक वोल्टेज प्राप्त करने के लिए श्रृंखला में तार वाली दो राक्षसी 2200 एमएएच बैटरी और फिर इसे प्रयोग करने योग्य बनाने के लिए 5 वोल्ट नियामक लगाया जाता है। सभी इलेक्ट्रॉनिक्स शर्ट के अंदर जेब में रखे जाते हैं ताकि उन्हें हटाया जा सके और शर्ट को धोया जा सके। यह पोंग का एक कार्यात्मक खेल खेलता है। यह टॉम थंब फ़ॉन्ट के संशोधित संस्करण का उपयोग करते हुए प्यारे नीले अक्षरों में "पोंग प्ले" शब्दों के साथ सबसे पहले एक की शोभा बढ़ाता है (https://robey.lag.net/2010/01/23/tiny-monospace-font पर पाया जा सकता है).एचटीएमएल)। पांच सेकंड के बाद आगे बढ़ने के लिए बटन को दबाने का विकल्प दिया जा सकता है, या बटन को नहीं दबाने और एक अच्छा अनुभव पीछे छोड़ने का विकल्प दिया जा सकता है। जब कोई बटन दबाने का विकल्प चुनता है, तो खेल शुरू हो जाता है। दाईं ओर एक लाल पैडल कंप्यूटर पैडल है और दाईं ओर हरा पैडल प्लेयर पैडल है, जिसे स्लाइड पॉट द्वारा ऊपर और नीचे ले जाने के लिए नियंत्रित किया जाता है। गेंद चारों ओर उछलती है क्योंकि प्रत्येक पक्ष एक अंक हासिल करने की कोशिश करता है। खिलाड़ी इसे गति देने के लिए अपने पैडल के किनारे से गेंद को हिट कर सकता है (एक अच्छी सुविधा) जबकि कंप्यूटर ऐसा नहीं कर सकता है, और इसके बजाय गेंद की तुलना में थोड़ा धीमा चलने के साथ फंस जाता है। जब एक बिंदु स्कोर किया जाता है तो एक पिक्सेल स्कोरिंग पक्ष पैडल पर सफेद रंग में बदल जाता है। यह नीचे से बाइनरी में गिना जाता है। जहां हरा या लाल शून्य है और सफेद 1 है। 21 जीतने का स्कोर है (या 21 अंक प्राप्त करने वाले के आधार पर हार) और इसलिए जब खिलाड़ी पैडल 10101 पढ़ता है, तो "आप जीत गए" टेक्स्ट प्रदर्शित होता है। एक बार फिर संशोधित टॉम थंब में। ऐसा ही होता है लेकिन इसके बजाय "यू LOSE" प्रदर्शित होता है। जीत या हार के बाद पोंग प्ले के ठीक बाद खेल फिर से शुरू हो जाता है। "मैजिक बॉक्स" पर पूरी तरह से पुनरारंभ करने के लिए, जिसे द-बॉक्स-विद-ऑल-द-इलेक्ट्रॉनिक्स-सिवाय-द-स्क्रीन के रूप में भी जाना जाता है, दबाया जाता है।

चरण 1: सामग्री और उपकरण

सामग्री और उपकरण
सामग्री और उपकरण
सामग्री और उपकरण
सामग्री और उपकरण

* के साथ चिह्नित चीजें वैकल्पिक हैं, लेकिन अनुशंसा करते हैं और इसलिए किसी विशेष क्रम में नहीं … सामग्री: एडफ्रूट नियोपिक्सल के 4 गज प्रति मीटर स्ट्रिप 1 टी-शर्ट * 1 जोड़ी सस्पेंडर्स 1/2 गज कपड़े पर्याप्त से अधिक होंगे (गैर खिंचाव वाली बुनाई को प्राथमिकता दी जाती है) 6 फुट यूएसबी एक पुरुष से यूएसबी बी पुरुष केबल 1 यूएसबी एक महिला कनेक्टर 3.2 पिन जेएसटी महिला कनेक्टर 4 2 पिन जेएसटी पुरुष तार बैटरी चार्जर 2 6600 एमएएच बैटरी 1 आर्केड शैली बटन 1 आर्डिनो प्रो-मेगा 1 एफटीडीआई हेडर ब्रेकआउट बोर्ड के साथ 1 यूएसबी बी महिला कनेक्टर 1 चालू/बंद स्विच (टॉगल) 1 रीसेट स्विच (टॉगल या क्षणिक) 1 स्लाइड पोटेंशियोमीटर * 1 स्लाइड पॉट नॉब 1 उच्च amp कनेक्टर जोड़ी * 1 प्रोजेक्ट केस 1 5V 3+ amp वोल्टेज नियामक एक छोटा कुछ प्लास्टिक कुछ मिलाप कुछ तार कुछ धागा * कुछ गर्म गोंद * कुछ लोचदार कुछ समय (शायद "कुछ" से थोड़ा अधिक) कुछ दृढ़ता (आपको शायद इस वास्तविक की काफी आवश्यकता होगी) कुछ गर्मी ट्यूबिंग या बिजली के टेप को सिकोड़ते हैं कुछ सुपर ग्लू बैकिंग टूल्स पर कुछ आयरन *हेल्पिंग हैंड्स नॉर्मल हैंड s (या उनके पास पहुंच वाला कोई व्यक्ति) सोल्डरिंग आयरन *हॉट ग्लू गन डरमेल या सैंडपेपर छेनी वायर स्ट्रिपर्स वायर कटर स्टेपल गन स्क्रू ड्राइवर सॉ पिन सिलाई मशीन फैब्रिक कैंची

चरण 2: एलईडी पट्टी को छोटे स्ट्रिप्स में काटें

एलईडी पट्टी को छोटे स्ट्रिप्स में काटें
एलईडी पट्टी को छोटे स्ट्रिप्स में काटें
एलईडी पट्टी को छोटे स्ट्रिप्स में काटें
एलईडी पट्टी को छोटे स्ट्रिप्स में काटें
एलईडी पट्टी को छोटे स्ट्रिप्स में काटें
एलईडी पट्टी को छोटे स्ट्रिप्स में काटें

अपने पसंदीदा काटने वाले बर्तन का उपयोग करें और पट्टी को 14 खंडों में काटें, प्रत्येक 15 पिक्सेल लंबा। केवल तांबे के निशान के बीच काटें, "DO" "DIN" "+5V" और "GND" जैसा कुछ लेबल करें। यदि यह पहले से ही तांबे के ऊपर टांका लगाया गया है तो उनका सही कट है। उजागर तांबे में बहुत अधिक कटौती न करने का प्रयास करें, लेकिन यदि आप इसे थोड़ा सा निकालते हैं तो ठीक है। एक बार सभी 14 स्ट्रिप्स काट दिए जाने के बाद, स्ट्रिप्स को टांका लगाने के रास्ते से बाहर निकालने के लिए प्रत्येक छोर से थोड़ा सा रबर ट्रिम करें।

चरण 3: स्क्रीन को एक साथ मिलाप करना

स्क्रीन को एक साथ मिलाना
स्क्रीन को एक साथ मिलाना
स्क्रीन को एक साथ मिलाना
स्क्रीन को एक साथ मिलाना
स्क्रीन को एक साथ मिलाना
स्क्रीन को एक साथ मिलाना

तार लें और इसे लगभग 3.5 इंच (9 सेमी) खंडों में काट लें। मेरे मामले में सोल्डरिंग करते समय सीधे रखना आसान बनाने के लिए मेरे पास तीन अलग-अलग रंग हैं, लेकिन एक रंग ठीक काम करेगा। आपको इनमें से लगभग ४० छोटे लोगों की आवश्यकता होगी, लेकिन केवल मामले में एक जोड़े को और काटें। एक बार जब आप तार काटना समाप्त कर लेते हैं, तो सिरों को पट्टी और टिन कर दें (यदि आपके पास सोल्डरिंग का अनुभव है तो आप अगले पैराग्राफ पर जा सकते हैं), जिसका अर्थ है कि आप थोड़ा सा प्लास्टिक निकालने के बाद प्रत्येक तार के सिरों पर कुछ सोल्डर लगाएं। मिलाप को गर्म न करें और तार पर जाने की कोशिश करें, तांबे के नीचे से टांका लगाने वाले लोहे को गर्म करें और मिलाप को शीर्ष पर रखें। धैर्य रखें और सोल्डर के पिघलने के लिए गर्म तार की प्रतीक्षा करें। इसे शुरू करने के लिए टांका लगाने वाले लोहे को मिलाप करना कठिन है (मेरी अधीरता और मुझे पता है कि आप कैसा महसूस करते हैं) लेकिन मिलाप भी नहीं टिकेगा। स्ट्रिप सेक्शन के प्रत्येक सिरे पर खुले तांबे के निशान के लिए भी ऐसा ही करें। यदि इसमें पहले से सोल्डर है तो इसके बारे में चिंता न करें। पट्टी के लिए आप बाद में इसे आसान बनाने के लिए थोड़ा सा टीला बनाना चाह सकते हैं। पट्टी के साथ काम करते समय, इसे जल्दी से करें, और कोशिश करें कि पट्टी पर गर्मी लगाने में ज्यादा समय न लगाएं। सोल्डर को ट्रेस पर पिघलाने के लिए केवल वही करें जो आपको करने की आवश्यकता है। पहली पट्टी के अंत में प्रत्येक ट्रेस पर एक तार मिलाएं (पहली पट्टी तारों और कनेक्टर के साथ एक है, इसे उजागर अंत में मिलाप करें)। यदि आप पट्टी को देखते हैं तो आप देखेंगे कि उस पर छोटे-छोटे तीर अंत तक जा रहे हैं जहां आपने तार को मिलाया था। एक और पट्टी लें ताकि तीर विपरीत दिशा की ओर इशारा कर रहे हों, और GND ट्रेस से आने वाले तार को दूसरे के GND ट्रेस, +5V से +5V और इसी तरह मिलाप करें। यह सुनिश्चित करते हुए दोहराएं कि तीर प्रत्येक खंड के बाद दिशाओं को बदलते हैं ताकि यदि आप उनका अनुसरण करते हैं तो यह ऊपर और नीचे ज़िग ज़ैग होगा, और अंत में इसे लंबी पट्टी पर बढ़ाया जा सकता है। एक बार सभी 14 स्ट्रिप्स मिलाप हो जाने के बाद, उन्हें बिछाएं और फिर लाइन अप करें ताकि एलईडी एक ग्रिड बन जाए। फिर उन्हें एक ऐसी विधि का उपयोग करके एक साथ रखें जिसे बाद में पट्टी को नुकसान पहुंचाए बिना हटाया जा सके। मैंने स्कॉच टेप का इस्तेमाल किया। यह सब कुछ एक साथ रखने के लिए पर्याप्त चिपचिपा है लेकिन इतना चिपचिपा नहीं है कि एक अवशेष छोड़ दे। मैं स्थायी के लिए कुछ भी अनुशंसा नहीं करता, जैसे स्टेपल या डक्ट टेप। एक बार जब सब कुछ एक साथ टेप कर दिया जाता है, तो नीचे की पट्टी से एक तार +5V को उसके ठीक बगल में मिलाप करें। तब तक दोहराएं जब तक कि पूरे तल में बिजली के नल पूरे रास्ते नहीं जा रहे हों। ऐसा इसलिए है क्योंकि एल ई डी की प्रगति के रूप में स्क्रीन मंद नहीं होती है।

चरण 4: कोर इलेक्ट्रॉनिक्स को मिलाप करना

कोर इलेक्ट्रॉनिक्स सोल्डरिंग
कोर इलेक्ट्रॉनिक्स सोल्डरिंग
कोर इलेक्ट्रॉनिक्स सोल्डरिंग
कोर इलेक्ट्रॉनिक्स सोल्डरिंग
कोर इलेक्ट्रॉनिक्स सोल्डरिंग
कोर इलेक्ट्रॉनिक्स सोल्डरिंग

USB B ब्रेकआउट बोर्ड (BOB) को USB B कनेक्टर से मिलाएं। उपयुक्त तारों को USB A कनेक्टर से मिलाएं। मैं इस वेबसाइट, https://image.pinout.net/pinout_USB_files/pc_usb_connectors_pinout-p.webp

चरण 5: नियंत्रक

नियंत्रक
नियंत्रक
नियंत्रक
नियंत्रक
नियंत्रक
नियंत्रक

सबसे पहले शुरू करने के लिए सही आकार चुनना है। यह सब इस बात पर निर्भर करता है कि आप नियंत्रक को कैसे संरचित करना चाहते हैं। मैं एक अधिक फ्लैट नियंत्रक चाहता था इसलिए मुझे 3 1/2 "3/4" तख़्त का एक टुकड़ा मिला। भागों को इस तरह से व्यवस्थित करें जो काम करने के लिए उपयुक्त और आरामदायक लगे। जहां सभी टुकड़े जाने चाहिए, वहां खींचने के लिए एक फ्रेंच वक्र, कम्पास, त्रिकोण और सीधे किनारे का उपयोग करें। अपनी पसंद के कटिंग टूल का उपयोग करके मूल रूपरेखा को काटें। एक प्रतिबंध देखा सबसे अच्छा होगा लेकिन मैंने एक मुकाबला देखा, जो ठीक काम करता था। उन्हें आसानी से संक्रमण करने के लिए किनारों को रेत दें, फिर इसे और अधिक आरामदायक बनाने के लिए कोनों को रेत दें। स्विच के लिए छेद को ड्रिल करें, फिर रेत, छेनी, और/या ड्रेमेल को तल पर किसी भी हिस्से को बाहर निकालें जो इसे फिट कर देगा। शीर्ष के साथ कुछ भी न करने का प्रयास करें और इसे घुमाने, कोण बनाने, या इसे अंदर जाने के लिए जो कुछ भी करने में सक्षम होने के लिए आपको इसे फिट करने में सक्षम होने की आवश्यकता है उसे केवल रेत दें। एक बार इसे प्लास्टिक के अखरोट के साथ संलग्न करें और संलग्न करें स्विच। पोटेंशियोमीटर नॉब के लिए क्षेत्र को ड्रिल करें ताकि वह फिट हो सके और एक क्षेत्र को छेनी दे ताकि वह अंदर डूब सके और पूरी तरह से फिट हो सके। कुछ छेदों को ड्रिल करें ताकि एक स्क्रू इसे अंदर पकड़ सके। USB A कनेक्टर के छोटे-छोटे टुकड़ों में झुकें जो इसकी सामान्य चौड़ाई को थोड़ा बढ़ा दें (चित्रों को देखें)। कनेक्टर के लिए एक हिस्से को बाहर निकालें, यह सुनिश्चित करने के लिए उत्तरोत्तर जाँच करें कि कनेक्टर फिट बैठता है। कनेक्टर को इसके स्लॉट में सुपर ग्लू करें। प्लास्टिक का एक छोटा सा टुकड़ा लें और इसे एक ऐसे आकार में काट लें जो कनेक्टर के ऊपर फिट हो जाए (चित्रों को देखें), और फिर इसे लकड़ी से चिपका दें। रास्ते में आने वाले किसी भी टुकड़े को काट लें। पोटेंशियोमीटर में पेंच और नॉब संलग्न करें। पॉज़िटिव वायर को पोटेंशियोमीटर के किसी एक सिरे से मिलाएँ (वैरिएबल भाग नहीं) और नेगेटिव वायर को विपरीत सिरे पर मिलाएँ। डी-पिन को पॉट पर वेरिएबल पिन से मिलाएं। बर्तन पर पिन से एक तार को सकारात्मक तार के साथ बटन पर पिन में से एक में मिलाएं। बटन पर दूसरे पिन को मिलाप डी +। स्पेयर वायर को ट्रिम करें और उन टुकड़ों को इंसुलेट करें जिन्हें इसकी आवश्यकता है।

चरण 6: शर्ट

कमीज
कमीज
कमीज
कमीज
कमीज
कमीज

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

चरण 7: प्रोग्रामिंग

प्रोग्रामिंग
प्रोग्रामिंग

और यहाँ कोड है। ऐसे कुछ हिस्से हैं जिन पर अच्छी तरह से टिप्पणी की गई है लेकिन विशाल बहुमत नहीं है। यदि आपके पास विभिन्न भागों पर प्रश्न हैं, तो आप या तो मुझे लाइन नंबर दे सकते हैं (#include के साथ लाइन नंबर एक के रूप में) या मुझे लाइन (लाइनों) की एक प्रति और फ़ंक्शन जिसमें यह रहता है (जैसे लूप () या कॉम्पमोवपैडल ()) और मैं आपको इसे समझाने की पूरी कोशिश करूंगा, फिर इसे समझाने वाले कोड में एक टिप्पणी जोड़ें। #include #define PIN 6//कहता है कि गेम के लिए कौन से इनपुट पिन हैं int बटनपिन = 40; // स्कोर को डिक्टेट करता है, जिसे बायनरी एरे में रखा जाता है क्योंकि यह esier int playerScore[5] = {0, 0, 0, 0, 0} है; इंट कॉम्पस्कोर [5] = {0, 0, 0, 0, 0}; // गेंद की दिशा निर्धारित करता है int bvd=0;//0 नीचे है, 1 ऊपर है int bhd=0;//0 दाएं है, 1 बाएं है // गेंद की स्थिति को निर्धारित करता है int bvp = 8; इंट बीएचपी = 6; // यह देखने के लिए जांचता है कि गेंद तेज मोड में है या नहीं बूलियन तेज = झूठा; // जांचें कि क्या यह एक स्कोर है। बूलियन सीआईएसपॉइंट = झूठा; बूलियन pIsPoint = झूठा; // पैडल पोजीशन int cPaddle = 0; इंट पीपीडल = 0; लंबा पिछलामिलिस = 0; लंबा पिछलामिलिसफॉरकॉम्प = 0; // तेज और धीमी गति से चलती गेंद के लिए देरी का समय निर्धारित करें "इंट" मानदंड में और फास्टइंट अंतराल int मानदंड = 50 के लिए है; इंट फास्टइंट = 10; // जीत के लिए जाँच करने के लिए उपयोग किया जाता है। 1 खिलाड़ी की जीत है, -1 कंप्यूटर जीत में, और 0 कुछ भी नहीं हुआ है अभी तक int win = 0; // बग से छुटकारा पाने के लिए। addOne कथन में उपयोग किया जाता है और कहीं नहीं। इंट जो = 0; // शुरू होने से पहले प्रदर्शित की गई चीज़, -1 एक एस्केप इंट पोंगप्ले है = {१, २, ३, ४, १०, ११, १२, १३, १६, १८, २०, २७, २९, ३३, ३४, ४१, 42, 61, 62, 63, 70, 71, 72, 76, 85, 86, 88, 91, 92, 94, 100, 101, 102, 103, 131, 132, 136, 139, 144, 145, 146, 147, 148, 161, 162, 166, 175, 183, 185, 192, 194, 195, 196, 197, 198, 199, 204, 205, 206, 207, 208, -1}; // यदि आप जीतते हैं तो आप जीतते हैं = {1, 2, 3, 4, 5, 16, 17, 18, 19, 20, 27, 33, 34, 39, 46, 47, 48, 49, 54, 55, 56, 57, 58, 77, 78, 79, 84, 88, 91, 92, 93, 94, 95, 99, 103, 106, 110, 114, 118, 130, 131, 132, 144, 145, 146, 147, 151, 162, 163, 168, 169, 170, 177, 181, 192, 193, 204, 205, 206, 207, -1}; // यदि आप खो जाते हैं तो आप हार जाते हैं = {1, 3, 5, 16, 17, 18, 19, 20, 24, 26, 28, 31, 32, 32, 33, 34, 35, 39, 46, 47, 48, 49, 62, 65, 77, 78, 79, 84, 86, 88, 91, 94, 99, 103, 106, 110, 122, 123, 124, 130, 131, 132, 144, 148, 152, 153, 154, 162, 163, 168, 169, 170, 181, 192, 193, 204, 205, 206, 207, 208, -1}; // एलईडी स्ट्रिप सेट करता है Adafruit_NeoPixel स्ट्रिप = Adafruit_NeoPixel (210, पिन, NEO_RGB + NEO_KHZ800); // सेट करना, इनपुट के लिए कोई पिन 40 नहीं बदलता है, पट्टी शुरू करता है, // संदेश प्रदर्शित करता है और इसे दिखाता है। शून्य सेटअप () {पिनमोड (बटनपिन, इनपुट); पट्टी। शुरू (); के लिए (int i = 0; पोंगप्ले > 0; i ++) {trip.setPixelColor (पोंगप्ले , स्ट्रिप। रंग (0, 0, 255)); } कपड़े उतारने का प्रदर्शन(); देरी (5000); जबकि (डिजिटल रीड (बटनपिन) == कम) {// यह एक जाल है! (बटन दबाए जाने तक।)}} शून्य लूप () { clearScreen (); // के लिए स्कोर दिखाने के लिए पैडल खींचता है (int i = 0; i <5; i++){ if (playerScore==1){ strip.setPixelColor(204-i, strip. Color(255, 255, 255)); }else if((playerScore==0)){ strip.setPixelColor(204-i, strip. Color(0, 255, 0)); } अगर (compScore==1){ strip.setPixelColor(5+i, strip. Color(255, 255, 255)); }else if((compScore==0)){ strip.setPixelColor(5+i, strip. Color(255, 0, 0));) } कपड़े उतारने का प्रदर्शन(); // तय करता है कि गेंद ऊपर जा रही है या नीचे जा रही है (pIsPoint == false && cIsPoint == false) { clearScreen (); अहस्ताक्षरित लंबी वर्तमानमिलिस = मिली (); // खिलाड़ी को पैडल पोजीशन देता है pPaddle=checkPaddlePos(); // अगली स्थिति की जाँच करें checkNext (); // गेंद को हिलाना अगर (तेज == गलत) {अगर (करंटमिलिस - पिछलामिलिस> नॉर्मइंट) {पिछला मिलिस = करंटमिलिस; मूवबॉल (); }} और अगर (तेज़ == सच) {अगर (करंटमिलिस - पिछलामिलिस> फास्टइंट) {पिछला मिलिस = करंटमिलिस; मूवबॉल (); } } // गेंद को ड्रा करें अगर (बीएचपी% 2! = 0) {trip.setPixelColor(bhp*15+14-bvp, strip. Color(255, 255, 255)); }else if (bhp%2 == 0){ strip.setPixelColor(bhp*15+bvp, strip. Color(255, 255, 255)); } // कंप्यूटर चप्पू आंदोलन compMovePaddle (); // ड्रा के पैडल ड्रापैडल्स (); // वास्तव में सब कुछ डाल दिया।कपड़े उतारने का प्रदर्शन(); // यह देखने के लिए जांच कर रहा है कि क्या कोई अंक प्राप्त किया गया है (pIsPoint == true){ जो = 0; बीएचडी = 0; एक जोड़ें(); टूटना; }else if(cIsPoint == true){ जो = 1; बीएचडी = 1; एक जोड़ें(); टूटना; } } अगर (जीत == 1) { clearScreen (); for (int i = 0; youWin>0; i++){ strip.setPixelColor(youWin, strip. Color(255, 0, 0)); कपड़े उतारने का प्रदर्शन(); } देरी (5000); के लिए (int i = 0; i <5; i++){ प्लेयरस्कोर = 0; कॉम्पस्कोर = 0; } जीत = 0; } और अगर (जीत == -1) {क्लियरस्क्रीन (); for (int i = 0; youLose>0; i++){ strip.setPixelColor(youLose, strip. Color(0, 255, 0)); कपड़े उतारने का प्रदर्शन(); } देरी (5000); के लिए (int i = 0; i <5; i++){ प्लेयरस्कोर = 0; कॉम्पस्कोर = 0; } जीत = 0; } pIsPoint = असत्य; सीआईएसपॉइंट = झूठा; बीवीपी = 8; बीएचपी = 6; bvd=random(0, 2);//0 नीचे है, 1 तेजी से ऊपर है = झूठा; } // खेल के लिए एआई शून्य compMovePaddle () { अहस्ताक्षरित लंबी वर्तमान मिलिस = मिली (); अगर (करंटमिलिस - पिछलामिलिसफॉरकॉम्प> 51) {पिछलामिलिसफॉरकॉम्प = करंटमिलिस; अगर (बीवीपी>= 13 && 10-सीपैडल 0){ cPaddle--; }else if(bvp = 0 && cPaddle <10){ cPaddle++; }else if(bvp-3 > 10-cPaddle && 10-cPaddle >= 0 && cPaddle > 0){ cPaddle--; }else if(bvp <10-cPaddle && 10-cPaddle <= 10){ cPaddle++; } } } // गेंद को शून्य मूव बॉल () { अगर (बीएचडी == 0) {बीएचपी--; }else if(bhd == 1){ bhp++; } अगर (बीवीडी == 0) {बीवीपी--; }else if(bvd == 1){ bvp++; } } // सरणी में एक जोड़ता है। यदि कौन सा 0 है तो यह खिलाड़ी के स्कोर में जुड़ जाता है। यदि यह 1 है तो यह कंप्यूटर में जोड़ देता है void addOne(){ if (जो == 0){// यदि यह खिलाड़ी का स्कोर है //एक जोड़ें। यह सबसे आसान तरीका है जिसे मैं जानता हूं। for (int i=0; i <5; i++){//loop if (playerScore == 0){// अगर वह मान शून्य प्लेयरस्कोर है=1;//इसे 1 ब्रेक बनाएं; // फिर चले जाओ} और {// अगर यह 1 प्लेयरस्कोर है = 0;//इसे शून्य और लूप बनाएं}}} और अगर (जो == 1) {के लिए (int i = 0; i <5; i++){ अगर (compScore == 0){ CompScore=compScore+1; टूटना; } और { कंपस्कोर = 0; } } } // यह देखने के लिए जांच करता है कि कोई जीता है या नहीं। अगर (कंपस्कोर [0] == 1 && कॉम्पस्कोर [2] == 1 && कॉम्पस्कोर [4] == 1) {जीत = -1; } और अगर (खिलाड़ी स्कोर [0] == 1 && खिलाड़ी स्कोर [2] == 1 && खिलाड़ी स्कोर [4] == 1) {जीत = 1; } } // गेंदों की अगली स्थिति की जांच करता है शून्य चेकनेक्स्ट () {// चेक यह देखने के लिए कि क्या कोई अंक प्राप्त किया गया है यदि (बीएचपी == 13) {pIsPoint = true; }else if(bhp == 0){ cIsPoint = true; } // अगर इस सामान के बाकी हिस्सों पर छोड़ने की तुलना में एक अंक अर्जित किया गया है अगर (pIsPoint == false || cIsPoint == false) {// गेंद को लंबवत जांचता है अगर (बीवीपी + बीवीडी == 15) {बीवीडी = 0; }else if(bvp+bvd==0){ bvd = 1; } // गेंद को क्षैतिज रूप से जांचता है अगर (बीएचपी + बीएचडी == 13) {// पहले कंप्यूटर की तरफ अगर (बीवीपी> = 10-सीपैडल && बीवीपी <= 10-सीपैडल + 4) {अगर (बीएचडी == 1) { बीएचडी = 0; }else if(bhd==0){ bhd=1; } तेज = झूठा; }else if(bvp+bvd == 10-cPaddle || bvp+bvd == 10-cPaddle+5){ if(bvp != 0 && bvp !=14){ if (bvd == 0){ bvd=1; } और अगर (बीवीडी == 1) {बीवीडी = 0; } बीएचडी = 1; } और अगर (बीवीपी == 0 || बीवीपी == 14) { बीएचडी = 1; } तेज = झूठा; } }else if(bhp+bhd==1){// फिर प्लेयर साइड पर if (bvp>= pPaddle && bvp <= pPaddle+4){// क्या यह पैडल को सामान्य जगह पर हिट कर रहा है? //गेंद को उछालो! अगर (बीएचडी == 1) { बीएचडी = 0; }else if(bhd==0){ bhd=1; } }else if(bvp+bvd == pPaddle || bvp+bvd-5 == pPaddle){// क्या यह कोने पर पैडल मार रहा है अगर(bvp!= 0 && bvp!=14){//है ऊपर नहीं ऊपर या नीचे कम? //गेंद को उछालो! अगर (बीवीडी == 0) {बीवीडी = 1; } और अगर (बीवीडी == 1) {बीवीडी = 0; } बीएचडी = 1; तेज = सच; } और अगर (बीवीपी == 0 || बीवीपी == 14) {// क्या यह ऊपर या नीचे है? //गेंद को उछालो! बीएचडी = 0; तेज = सच; // बाद में गेंद को तेजी से आगे बढ़ाने के लिए मान सेट करें } } } } int checkPaddlePos() {// पॉट को पढ़ता है और पैडल की स्थिति के अनुसार तय करता है अगर (एनालॉग रीड (ए 15) <93) {रिटर्न ०; }else if(analogRead(A15)<186){ return 1; }else if(analogRead(A15)<279){ रिटर्न 2; }else if(analogRead(A15)<372){ return 3; }else if(analogRead(A15)<465){ return 4; }else if(analogRead(A15)<558){ return 5; } और अगर (एनालॉग रीड (ए 15) <652) {रिटर्न 6; }else if(analogRead(A15)<745){ रिटर्न 7; }else if(analogRead(A15)<837){ return 8; }else if(analogRead(A15)<=931){ return 9; }else if(analogRead(A15)<=2014){ return 10; } } शून्य ड्रापैडल्स () {// पैडल को सही जगह पर ड्रा करें और पैडल पर स्कोर प्रदर्शित करें (int i = 0; i <5; i++){ if (playerScore==1){ strip. setPixelColor (pPaddle+i, strip. Color (255, 255, 255)); }else if((playerScore==0)){ strip.setPixelColor(pPaddle+i, strip. Color(255, 0, 0)); } अगर (compScore==1){ strip.setPixelColor(199+cPaddle-i, strip. Color(255, 255, 255)); }else if((compScore==0)){ strip.setPixelColor(199+cPaddle-i, strip. Color(0, 255, 0)); } } } void clearScreen(){ for(int i=0; i<=210; i++){ strip.setPixelColor(i, strip. Color(0, 0, 0)); } कपड़े उतारने का प्रदर्शन(); }

चरण 8: तैयार उत्पाद

तैयार उत्पाद
तैयार उत्पाद
तैयार उत्पाद
तैयार उत्पाद

और वहाँ तुम जाओ, तैयार शर्ट!

सिफारिश की: