आरओबी BOWDEN: हाय. मैं रोब हूँ. इस खेल को लागू करने के लिए सोच? ठीक है, चलो बाहर तोड़ स्टाफ समाधान. तो, नीचे प्रारंभ करने के पहले सिर हम तुमसे कहा था कि कार्यों पहले लागू. सबसे पहले एक हम देख लेंगे इसे init चप्पू है. ठीक है, तो हम चाहते हैं कि याद बिल्कुल में केन्द्रित किया चप्पू X-अक्ष. इसलिए हम यह पता लगाने की जरूरत है कि कहां जाना चाहिए. बोर्ड की चौड़ाई को देखते हुए - जो भी ऊपर परिभाषित शीर्ष हैश है - हम चप्पू चौड़ाई बाहर घटाना करने की आवश्यकता और, 2 से विभाजित है, ताकि चप्पू के केंद्र में है बोर्ड के बीच. एक्स समन्वय करने के लिए संदर्भित करता है कि याद रखें चप्पू के ऊपरी बाएँ कोने, और तो यह वास्तव में, जहां है हम यह देखना चाहते हैं. कोई फर्क नहीं पड़ता Y-निर्देशांक हम रख सकते हैं क्योंकि के रूप में ज्यादा यह जहाँ भी हम चाहते हैं. इसलिए हम चप्पू instantiating, हम सेट रंग काला, हम सच को भरने के लिए सेट इसलिए यह आयत में भरा है, और हम फिर खिड़की और वापसी के लिए इसे जोड़ चप्पू. और कहा कि आरंभ के लिए है चप्पू. यह समान होने जा रहा है init स्कोरबोर्ड के लिए. इसलिए हम लेबल को आरंभ करने जा रहे हैं, हम करने के लिए रंग निर्धारित करने के लिए जा रहे हैं प्रकाश ग्रे - आप चुन सकते हैं जो कुछ भी आप चाहते हैं - हम करने के लिए फ़ॉन्ट सेट करने के लिए जा रहे हैं बिना करने के लिए 48 सेरिफ़ - यह भी कि जो आप चाहते ले सकता है - हम खिड़की को जोड़ देंगे. अब वापस करने के लिए इस भेजें वास्तव में नहीं है आवश्यक है, यह इस मामले में अभी कुछ है किसी और लेबल ओवरलैप करने के लिए होता है. तो फिर हम टक्कर का पता लगाने का उपयोग करते हैं, टकराव अन्य की पहचान करेगा पता लगाएँ यह लेबल का पता लगाता बात से पहले. लेकिन यह है कि वास्तव में प्रभावित नहीं होना चाहिए इस कार्यक्रम में हमें. अंत में, हम इस अद्यतन स्कोरबोर्ड है हम ने लिखा है कि समारोह. तो चलो पर एक नज़र रखना. अब, यहाँ हम कुछ है कि देखना लगभग समान क्या हम विवरण दिखाएँ में देखा था. तो हम एक लेबल है - 12 अक्षरों का एक चरित्र बफर, किसी भी संभाल करने के लिए अभी काफी है जो नकारात्मक या सकारात्मक पूर्णांक,. तो फिर हम कॉपी करने के लिए sprintf का उपयोग कि बफर में बताते हैं. तो इस का प्रतिनिधित्व एक स्ट्रिंग अंकों की संख्या. अंत में, हम लेबल सेट कि स्ट्रिंग के लिए. और फिर हम लेबल केंद्रित करने के लिए की जरूरत मामले में हम नौ से 10 तक चला गया है बताते हैं और हम इसे स्थानांतरित कर दिया है. तो हम एक्स और वाई निर्देशांक की गणना लेबल में से कौन होगा चौड़ाई और ऊंचाई मिल खिड़की की. हालांकि, हम भी सिर्फ इस्तेमाल कर सकते हैं स्थिरांक चौड़ाई और ऊंचाई हैश शीर्ष ऊपर परिभाषित किया. हम भी चौड़ाई और ऊंचाई मिल लेबल और विभाजन की 2 द्वारा केंद्र के लिए कि. और फिर हम सेट स्थान का उपयोग करने के लिए वास्तव में उस स्थान में डाल दिया. इसलिए कि init स्कोरबोर्ड के लिए है. ठीक है. तो init गेंद बहुत समान होने जा रहा है साथ ही पैडल प्रारंभ करने में. हम newgoval प्रयोग कर रहे हैं कि यहाँ देख एक नई गेंद इन्स्तांत के क्रम में. और यहाँ हम 2 बार त्रिज्या का उपयोग कर रहे हैं गेंद की चौड़ाई, और 2 के रूप में के रूप में कई बार त्रिज्या गेंद की ऊंचाई. अब, भी newgoval के लिए, एक्स और हम जा रहा है में पारित कि y-निर्देशांक के ऊपर बाईं ओर का उल्लेख करने के लिए वास्तव में है जो गेंद, गेंद ही बाहर. तो क्रम में वास्तव में गेंद को पाने के लिए बोर्ड में केंद्रित है, हम पारित करने की आवश्यकता चौड़ाई केंद्र के लिए 2 से विभाजित है, और तो पुश करने के लिए त्रिज्या बाहर घटाना में गेंद की वास्तविक केंद्र बोर्ड के बीच. और हम सटीक एक ही बात करते हैं इस्तेमाल करने के अलावा Y-अक्ष, के लिए बजाय चौड़ाई की ऊंचाई. तो यह है कि केंद्र में गेंद देता है. और इस सेट, गेंद instantiates गेंद में भरने, काला रंग, फिर अंत में करने के लिए जोड़ खिड़की और यह वापसी. और कहा कि आरंभ के लिए है गेंद. तो अब init पर एक नज़र थोड़ा अधिक है जो ईंटों जटिल है, लेकिन यह बहुत है init चप्पू के समान. अब, पहले हम यह पता लगाने की जरूरत है प्रत्येक ईंट की चौड़ाई. हम नामक एक निरंतर याद रखें कि कॉल जो निर्दिष्ट करता है ईंटों के स्तंभों की संख्या हम हैं कि. तो, हम चौड़ाई निर्धारित करने के लिए जा रहे हैं चौड़ाई लेने के द्वारा एक भी ईंट का पूरे बोर्ड की, घटाकर हमारे अंतर के आकार बाहर - हैश शीर्ष ऊपर परिभाषित और संदर्भित करता है जो बॉलीवुड की संख्या को कि प्रत्येक ईंट के बीच होना चाहिए - और इसलिए हम की कुल किया जा रहे हैं अंतराल बार एक में रिक्त पिक्सल कॉल एकल पंक्ति. और वह भी कुछ खाली करने के लिए संदर्भित करेंगे छोड़ दिया और सही करने के लिए पिक्सल स्तंभ और सही स्तंभ ईंट छोड़ दिया. तो उन खाली पिक्सल बाहर घटाना पिक्सल के एक नंबर के साथ छोड़ देता है कि ईंटों वास्तव में उपयोग कर रहे हैं. और फिर हम मिल कॉल से विभाजित ईंट प्रति पिक्सेल की संख्या. तो यहाँ हम एक सरणी को परिभाषित है कि बस हम प्रत्येक के लिए चाहते रंगों को निर्दिष्ट ईंटों की पंक्ति. हम ईंटों से अधिक पंक्तियों से किया था हम निर्दिष्ट है कि रंग, हम देखेंगे कि हम सिर्फ पाश के आसपास वापस करेंगे फिर लाल का उपयोग, और उसके बाद नारंगी और इतने पर पीले और. तो, पी सेट कल्पना संकेत के रूप में, हम कर रहे हैं सभी पंक्तियों पर पाश करने के लिए जा रहा है और ईंटों के कॉलम. लेकिन कॉलम में हम पाश से पहले, हम हम निर्दिष्ट कर रहे हैं कि यहाँ देख प्रत्येक ईंट का y स्थिति उस विशेष पंक्ति में. हम भी दूसरे में इस कदम सकता है पाश के लिए, लेकिन तब हम सिर्फ होगी और अधिक से अधिक गणना कर फिर हम करने की आवश्यकता नहीं है. तो ईंट की y स्थिति जा रहा है हैश है जो मार्जिन, होना करने के लिए शीर्ष ऊपर परिभाषित और बस को संदर्भित करता है बोर्ड के शीर्ष और बीच की जगह ईंटों के सभी के शुरू. और हम में जोड़ने के लिए जा रहे हैं कि पंक्ति हम समय पर एक की ऊंचाई रहे हैं कि व्यक्तिगत ईंट प्लस खाई कि हर ईंट के बीच है. तो यह भी एक खड़ी है प्रत्येक ईंट के बीच की खाई. इसलिए कि हमें y-निर्देशांक देता है ईंट की. तो यहाँ हम गणना करने के लिए जा रहे हैं ईंट का x-निर्देशांक. अब, हम, के बाद से 2 से विभाजित खाई है पहले याद है, मैंने कहा कि पर बोर्ड के बाईं ओर, हम जा रहे हैं एक छोटी सी जगह छोड़ने के लिए. तो 2 से विभाजित खाई कि अंतरिक्ष है. और फिर हम करने के लिए जोड़ रहे हैं कि स्तंभ हम समय पर चौड़ाई से अधिक कर रहे हैं कि चौड़ाई अंतरिक्ष की राशि है जहां खाई, एक भी ईंट लेता है और उस फिर खाई अंतरिक्ष है प्रत्येक ईंट के बीच. इसलिए कि एक्स समन्वय की गणना करता है ईंट की. अब हम सिर्फ इन्स्तांत की जरूरत कि एक्स और वाई समन्वय दिया ईंट हम प्रत्येक के लिए गणना की है कि चौड़ाई का उपयोग ईंट, और विराम ऊंचाई जो है ऊपर परिभाषित शीर्ष हैश. हम ईंट का रंग निर्धारित किया है. हम अपने रंग सरणी का उपयोग कर रहे हैं और नोटिस हम थे कि पंक्ति में गुजर रहे हैं माड संख्या रंगों पर जो बनाने जा रही है हमें लाल को वापस आसपास लपेट अगर हम रंगों से अधिक पंक्तियाँ हैं. अंत में, हम ईंट में भर देंगे रंग और खिड़की में जोड़ें. और यह बात है. तो, कि हमारे सभी के लिए यह बात है प्रारंभन के तरीके. अब हम उस समय में देखने की जरूरत है आप अंदर भरने के लिए किया था कि लूप तो यहाँ हम यह हमारे जबकि देखना है कि जब तक जारी रखने के लिए जा रहा है कि पाश खेल खत्म हो गया है, जो या तो इसका मतलब हम जीवन से बाहर चला या हम ईंटों से बाहर चला. हमारे पास तो पहली बात क्लिक के लिए एक प्रतीक्षा है. तो खेल हमारे लिए इंतजार कर रहा है के लिए वास्तव में गेंद घूम रहा शुरू होने से पहले क्लिक करें. और फिर हम जा रहे हैं जीवन घटती है. इसलिए हम तीन रहता था, अब हम कर रहे हैं दो जीवन के लिए नीचे, हम अपने प्रयोग कर रहे हैं तीसरे जीवन. हम गेंद केंद्र के लिए जा रहे हैं. तो अब, यह वास्तव में मदद करने के लिए नहीं जा रहा है हम खेलना बहुत पहले जीवन पर हमें गेंद पहले ही जा रहा है के बाद से जब हम से केंद्रित किया गया है यह instantiated. हम खोने अंत लेकिन जब हम देखते हैं जीवन और पीछे के चारों ओर पाश, तो हम कर रहे हैं से गेंद recenter करना चाहते जा वापस करने के लिए बोर्ड के नीचे केंद्र. तो, अब हम यहाँ पैदा करने की आवश्यकता गेंद की एक्स वेग. और, कल्पना के अनुसार, हम डी रैंड का उपयोग कर रहे हैं 48 कुछ यादृच्छिक संख्या उत्पन्न करने के लिए वेग निर्दिष्ट करने के लिए. हम के बाद से है कि एक जोड़ रहे हैं बस एक की सीमा में वेग चाहते हैं दो के बजाय एक करने के लिए शून्य के लिए. अंत में, हम में फिर से डी रैंड 48 का उपयोग कर रहे हैं चाहे गेंद निर्धारित करने के आदेश बाईं ओर ले जाने के लिए जा रहा है या सही शुरू करने के लिए. तो डी रैंड 48 एक यादृच्छिक संख्या देता है शून्य और एक के बीच, और इसलिए पूछकर कि कम से कम 0.5 है, तो हम एक 50 50 के वेग स्विचिंग का मौका गेंद नकारात्मक हो. अंत में, हम में से खड़ी वेग सेट गेंद अभी कुछ स्थिर हो. हम तीन चुनें. और अब हम एक और पाश है. तो यह भीतर पाश है जारी रखने के लिए जा रहा है. , यहां सूचना ईंटों जबकि शून्य से अधिक है - हम ईंटों से बाहर चलाने अगर हां, तो हम है खेल जीता और हम कर सकते हैं इस लूप के बाहर तोड़ - और सब ऊंचाई से Y गेंद कम करें शून्य से 2 बार त्रिज्या. तो क्या यह पहचानना है अगर गेंद में, चप्पू पिछले जाने के लिए होता है आप एक जीवन खो दिया है, जो मामले. हमारे पास पाश के लिए यह अंदर खोज रहे हैं एक माउस घटना के लिए जाँच. और हां, एक माउस घटना नहीं है, तो उस हम करने के लिए जाँच करना चाहते हैं इसका मतलब है कि माउस ले जाया गया था, और अगर देखना माउस हम करना चाहते हैं, ले जाया गया था चप्पू माउस के साथ रखने के. तो, क्या करना है कि, हम नई गणना जा रहा है जो चप्पू, की स्थिति माउस की स्थिति को हड़पने के लिए - जिसके उपयोग से स्थिति पकड़ लेता है हम पारित किया गया कि घटना - और फिर हम बाहर घटाना करने जा रहे हैं चप्पू चौड़ाई 2 से विभाजित है, इसलिए माउस पर केन्द्रित चप्पू रहता है बजाय चप्पू के बाईं ओर का केंद्रित रहने. तो अब हम यह भी सुनिश्चित करें कि होना चाहते हैं हम बाईं ओर या सही पर मत जाओ बोर्ड की ओर. और यहाँ तो हम बस की जाँच कर रहे हैं चप्पू के बाईं ओर से किया जाएगा बोर्ड, सिर्फ छड़ी बाईं ओर करने के लिए यह. और यहाँ हम जाँच कर रहे हैं अगर चप्पू के दाएं खत्म हो जाएगा बोर्ड, सिर्फ यह छड़ी दाएं लिए. और अंत में, हम वास्तव में सेट चप्पू का स्थान. अब, एक माउस आंदोलन नहीं था, कि हम करने जा रहे हैं, इसका मतलब गेंद ले जाना चाहते हैं. और इसलिए हम पहले से ही एक्स है और गेंद के y वेग और इसलिए हम यह चाल है. लेकिन अब हम पता लगाने के लिए चाहते हैं कुछ बातें. हम या तो मारा तो यहाँ हम पता लगाने कर रहे हैं के बाएं या दाएं बोर्ड, हम गेंद बाउंस करने के लिए चाहते हैं. और हां, तो उस मामले में, हम एक्स वेग सेट नकारात्मक एक्स वेग को. गेंद बोर्ड के शीर्ष मारा, तो हम भी गेंद उछाल चाहते हैं. लेकिन अब हम बदलना चाहते हैं Y वेग. हम के लिए एक शर्त नहीं है नोटिस के नीचे मार गेंद उस के बाद से बोर्ड पहले से ही कब्जा कर लिया था यहां इस समय पाश में. अंत में, हम कुछ पता लगाने के लिए चाहते हैं collisions जहां अगर गेंद को हिट चप्पू या ईंट या तो हम चाहते हैं कुछ विशेष मामला बातें करते हैं. एक टक्कर हुई थी, तो जो अगर में मामले वस्तुओं, तो, अशक्त नहीं होगा वस्तु चप्पू मारा, तो हम करेंगे बस गेंद बाउंस करने के लिए चाहते हैं. और यहाँ, इसके अलावा, हम का स्थान निर्धारित बस चप्पू से ऊपर के लिए गेंद. हम की एक्स स्थिति ले जा रहे हैं नोटिस गेंद और सिर्फ इतना है कि पुन: उपयोग. लेकिन यहाँ हम y स्थिति हो रही है चप्पू और गेंद हिलाने की चप्पू ऊपर. यह एक विशेष मामला है कि इसलिए गेंद चप्पू मारा और फिर, यह नहीं है यह चप्पू से दूर स्थानांतरित करने में सक्षम होने से पहले, एक और पाश चारों ओर चला जाता है और यह यह पैनल पर अब भी है और सोचता है इतना y वेग को वापस सेट हो जाता है नकारात्मक और फिर गेंद को बस की तरह लाठी के पैडल पर उछल. तो, हम चप्पू नहीं मारा, तो तो हम भी जाँच करना चाहते हैं हम ईंट मारा. और तो यह है कि हम जांच कर सकते हैं कि कैसे है हम एक ईंट हिट देखने के लिए. हम इस बात के लिए जांच की जरूरत है कि हम सकता है क्योंकि वास्तव में लेबल मारा है और हम लेबल निकालने के लिए नहीं करना चाहती. हम एक ईंट हिट, तो हम उस को हटा सकते हैं खिड़की, घटाव से ईंट ईंटों के बारे में हमारी गिनती, वेतन वृद्धि हमारे अंकों की संख्या है, और अब हम करने की आवश्यकता जो वास्तव में है स्कोरबोर्ड अद्यतन हम जब हमने देखा से पहले देखा था उसी के रूप में init स्कोरबोर्ड. लेकिन अब हम सिर्फ अद्यतन कर रहे हैं हम बदल दिया है के बाद से स्कोरबोर्ड अंकों की संख्या. और अब यह प्रदर्शित करना चाहिए कि हम एक और तोड़ने मारा. और अंत में, हम एक ईंट हिट हम भी उछाल करना चाहता हूँ. तो अंत में, हम को थामने सिर्फ इतना है कि गेंद सुपर फास्ट और हम आगे बढ़ नहीं है वास्तव में हमारे चप्पू के साथ मारा जा सकता है. और कहा कि यह बहुत सुंदर है. तो अब हम वापस की चोटी पर पाश होगा इस समय पाश और जब तक जारी हम एक जीवन खो देते हैं या या तो हम ईंटों से बाहर चला. हम एक जीवन खोना तो क्या होगा? तो फिर हम इस जबकि बाहर निकलने के लिए जा रहे हैं पाश, और हम करेंगे पाश का बैक अप देखेंगे बाहरी जबकि पाश की चोटी पर. जो मामले में, हम करने जा रहे हैं यह फिर से स्थापित किया निष्पादित. और यह हमें इंतजार किया जा रहा है की स्थापना एक क्लिक के लिए, हमारी संख्या घटती जीवन की, पुनर्गणना, गेंद recenter एक एक्स और वाई वेग, और तो खेल फिर से शुरू. और हां, कि जारी रहेगा या तो जब तक ईंटों से भी कम समय में किया जा रहा समाप्त होता है या शून्य के बराबर - जो हम खेल जीता मामले में - या जीवन, शून्य से भी कम है जो में मामले में हम खेल को खो दिया है. यह मामला है तो, एक बार, हम बाहर तोड़ उस समय पाश की, और हम यहाँ तक पहुँचने हम क्लिक के लिए प्रतीक्षा करने के लिए जा रहे हैं, जहां खेल बाहर निकलने से पहले इतना है कि खेल अभी तुरंत नहीं करता हम पर बंद हुआ. और अंत में हम बंद करेंगे खिड़की और यह बात है. मेरा नाम रोब है, और इस ब्रेकआउट था.