ZAMYLA चान: हैलो, और आपका स्वागत है स्क्रैच walkthrough करने के लिए. मेरा नाम Zamyla है और मैं अग्रणी हो जाएगा इस वर्ष आपके लिए walkthroughs. CS50 में, सेट हर समस्या है एक walkthrough के साथ. इन walkthroughs के दौरान मैं जाऊँगा हफ्ते की समस्या सेट, की व्याख्या अवधारणाओं की आवश्यकता है और टूटने समस्या प्रबंधनीय काटने में निर्धारित किया है. CS50 में पहले पी सेट के लिए, हम वास्तव में टाइपिंग में मिलता है और नहीं होगा मशीन कोड सामान काफी अभी तक. बल्कि, हम खरोंच, एक का उपयोग करने के लिए जा रहे हैं हमें पता लगाने के लिए अनुमति देता है कि कार्यक्रम एक में प्रोग्रामिंग अवधारणाओं दृश्य और रचनात्मक तरीका है. इस walkthrough पता लगाएंगे हम इस्तेमाल करेंगे कि मूलभूत अवधारणाओं CS50, साथ ही सेवारत भर में एक स्क्रैच ट्यूटोरियल के रूप में. हर walkthrough में मैं एक सेट सूचीबद्ध करेंगे आप के लिए उपयोग कर सकते हैं कि उपकरणों की समस्या निर्धारित किया है. बड़ा कोर्स अवधारणाओं से वास्तविक को काम करता है, यह करने के लिए अच्छे और उपयोगी है आप पहले से लैस कर रहे हैं पता समस्या सेट से निपटने. पहले, चलो sprites के बारे में बात करते हैं. Sprites बनाने के लिए केंद्रीय हैं स्क्रैच में परियोजनाओं. प्रत्येक वस्तु या प्रत्येक अक्षर, यह एक बिल्ली, एक कुत्ता या एक हो गेंद, एक प्रेत भी कहा जाता है. मैं चाहते हैं, कहते हैं, मेरी परियोजना में दो बिल्लियों, मैं दो बनाने की आवश्यकता होगी स्क्रैच में अलग sprites, भी वे बिल्कुल समान हो. प्रत्येक प्रेत जुड़े लिपियों है कि विशिष्ट स्प्राइट के साथ. लिपियों आप क्या जा रहे हैं खींचकर निर्माण होने और ब्लॉक छोड़ने. लिपियों निर्देश दिए गए हैं कि निर्धारित और परिभाषित स्क्रिप्ट कैसे बर्ताव. अब, sprites सिर्फ छवियों नहीं हैं. एक sprites पोशाक निर्धारित करता है प्रेत की तरह दिखता है. किसी भी प्रेत हो सकता है एक पोशाक से अधिक है. थोड़ा बाद में इस walkthrough दौरान मैं हूँ हो सकता है आप बताएंगे कि कैसे अपने प्रेत परिवर्तन वेशभूषा अपने कार्यक्रम के दौरान. स्क्रैच में एक प्रेत बनाने के लिए, आप कर सकते हैं के लिए अपने प्रारंभिक पोशाक चुन या तो स्क्रैच के पुस्तकालय में अपनी खुद आकर्षित स्क्रैच में निर्मित रंग संपादक, अपनी खुद की छवि अपलोड करें, या एक तस्वीर ले आपके कंप्यूटर के कैमरे के साथ. Sprites के सभी रखा जाता है हम मंच क्या कॉल पर. चरण हमारे कैनवास की तरह है, जहां sprites चारों ओर स्थानांतरित कर सकते हैं. हम कई गुना sprites हो सकता है हालांकि, केवल एक मंच हो सकता है. अन्यथा, चरणों और sprites काफी हैं मंच कि में इसी तरह कर सकते हैं भी स्क्रिप्ट है. मंच पर स्क्रिप्ट बहुत उपयोगी होते हैं आप एक स्क्रिप्ट नहीं है जब कि जरूरी संबंधित नहीं है एक विशिष्ट प्रेत को. हो सकता है कि यह कई से संबंधित है पट्टियों, या बिल्कुल भी नहीं. यह जगह आम तौर पर अच्छा डिजाइन है आपकी अगर वे मंच पर स्क्रिप्ट काफी सामान्य और संबंधित नहीं है विशिष्ट sprites के लिए. और बस की तरह sprites, वेशभूषा है चरणों को बदल सकते हैं कि पृष्ठभूमि है अपने कार्यक्रम के पाठ्यक्रम पर. और तुम अपने ही आकर्षित कर सकते हैं, एक अपलोड छवि, एक तस्वीर लेने के लिए, या उपयोग पृष्ठभूमि के स्क्रैच पुस्तकालय. मंच और sprites दोनों भी खेल सकते हैं स्क्रैच के पुस्तकालय से लगता है, या आप अपने खुद के अपलोड और रिकॉर्ड कर सकते हैं. तुम हूँ अपने खरोंच कार्यक्रम शुरू करने के लिए पर हरा झंडा क्लिक करने की आवश्यकता मंच खिड़की के ठीक ऊपर कोने. लेकिन आप के लिए कुछ भी कनेक्ट नहीं है यहीं इस ब्लॉक, तो कुछ भी नहीं है वास्तव में क्या होने जा रहा है क्योंकि आपके sprites और मंच से कहा जा करने की जरूरत है की घटना पर प्रतिक्रिया के लिए हरे ध्वज क्लिक किया जा रहा है. तो आप को ब्लॉक संलग्न करने की आवश्यकता होगी हरे रंग के तल पर नाली झंडा, और फिर कार्यक्रम पर अमल करेंगे जब आप शुरू उन कार्यों अपने कार्यक्रम. खैर, उसके बाद क्या आता है? खैर, स्क्रैच ब्लॉक के बहुत है आप का उपयोग करने के लिए, और आप कर सकते हैं के लिए यहां तक ​​कि अपने खुद बनाते हैं. आप तीन टैब, लिपियों देखेंगे, पोशाक और ध्वनि. लिपियों टैग के तहत श्रेणियां हैं बयान की. वक्तव्य सुविधाजनक हैं रंग द्वारा आयोजित. आप आंदोलन से संबंधित कार्यों के लिए है, ध्वनि, इतने पर लग रहा है, और. आप निर्मित अन्य ब्लाकों होगा हालांकि अपने बयानों के आसपास, यह है sprites या मदद करेगा कि बयान जबकि, कुछ करने के लिए मंच अन्य ब्लाकों के निर्धारण में मदद मिलेगी जब उन्हें ऐसा करने के लिए. मान लीजिए कि आप अपने बहुत बना रहे हैं हम कहते हैं पहली परियोजना है और आप केवल चाहते हैं कुछ तहत म्याऊ के लिए बिल्ली हालात. इस लागू करने के लिए, हम ले जा सकते हैं Booleans का लाभ. ये मूल्यांकन कि अभिव्यक्ति कर रहे हैं सही है या गलत या तो. खरोंच में इन से पहचाने जाते हैं ब्लॉक के अंत में कोण. आप विभिन्न प्रकार की एक किस्म होगा जैसे Booleans का माउस है नीचे दबाया जा रहा है, 2 प्लस 2 समानता है 5 के लिए, या उपयोगकर्ता दबाव डाल रहा है कीबोर्ड पर एक निश्चित कुंजी नीचे? अब, आप बस का उपयोग नहीं कर सकते अकेले इन Booleans. उन्हें आप के साथ गठबंधन करने की आवश्यकता होगी हम स्थितियों क्या कहते हैं. हालत ब्लॉकों में पाया जा सकता है नारंगी नियंत्रण बयान. स्थितियां सुविधा कम है प्लेसहोल्डर कि के आकार से पता चलता है आप की जरूरत है कि ब्लॉक इसे में डाल दिया. तो के संदर्भ पर निर्भर करता है स्थिति है, तो आप एक बूलियन चुन सकते हैं और अपनी हालत के अंदर जगह है. और एक साथ रखा, आपके पास एक सशर्त बयान. आपको लगता है कि अंदर बयान डाल एक बार आप स्थापित करने के लिए एक संरचना है ब्लॉक जिससे एक बार एक निश्चित शर्त पूरा किया जाता है, फिर आप उन पर अमल बयान. कंप्यूटर के लाभ में से एक है विशाल शक्ति और गति, जिस पर वे दोहराए प्रक्रियाओं पर अमल कर सकते हैं. इसके बजाय एक दोहरा, कहते हैं, शिक्षा और अधिक से अधिक और अधिक फिर और वास्तव में है कि बाहर टाइपिंग, या इस मामले में, खींचने और छोड़ने और, खींचने और छोड़ने क्या हम क्या कर सकते हैं एक पाश में encapsulate है. छोरों पर अमल करने के लिए भी इस्तेमाल किया जा सकता है असीम रूप से एक हमेशा के लिए लूप के साथ बातें, या समय की एक निर्धारित संख्या के लिए. उदाहरण के लिए, कहते हैं, बयान दोहराने हाय, 10 बार, या शायद एक निश्चित जब तक शर्त सही है. और यह दोहराने के साथ आप ब्लॉक तक कि स्क्रैच इशारा कर रहा है देखते हैं कि आप में एक बूलियन जगह की आवश्यकता होगी एक बनाने के लिए ब्लॉक दोहराएँ जब तक सशर्त बयान. अब, हम हम encapsulate कर सकते हैं कि पता छोरों के अंदर दोहराए प्रक्रियाओं, तो आप क्यों कुछ की तरह देख सकते हैं यह आदर्श नहीं हो सकता है. यह सिर्फ करता है, सुपर लंबा है और अधिक से अधिक एक ही बात फिर, 10 बार वास्तव में. यह 10 कदम चलता रहता है,, हैलो कहते हैं 10 कदम के लिए कदम, हैलो कहते हैं. लेकिन छोरों की मदद से हम यह थोड़ा साफ कर सकते हैं. इतना बेहतर है कि कैसे देखें. यह छोटा है, यह छोटा है और यह एक ही बात से पूरा करती है. चर के लिए आगे बढ़ते. चर अनिवार्य रूप से कर रहे हैं मूल्यों के लिए कंटेनर. खरोंच में, मूल्यों के उन प्रकार के कर सकते हैं शब्द हो या वे हो सकता है या तो संख्या, मूल्यों है कि हम नियंत्रण खत्म हो गया है. इस प्रथम खंड में हम एक है युक्त पाठ चर मूल्य, नमस्कार, विश्व. दूसरे उदाहरण में, यह मान लिया है कि हम पहले से ही एक चर नाम है काउंटर और हम incrementing रहे यह तीन से. और फिर, पिछले उदाहरण में, हम देखते हैं इस्तेमाल किया जा रहा है चर का एक उदाहरण शर्तों के अंदर. इस ब्लॉक में, हम पूछना अगर चर काउंटर शून्य से भी कम है. आप एक चर बना अब, जब आपके पास आप कर तय करना होगा कि sprites के सभी के लिए उपलब्ध चर अपने खरोंच कार्यक्रम में, या अभी चयनित विशिष्ट sprites के लिए आप चर बनाते हैं. और यह एक बहुत ही महत्वपूर्ण है बनाने के लिए निर्णय. वह नीचे आता है क्या गुंजाइश आप चर है चाहता हूँ. स्थानीय गुंजाइश का एक उदाहरण होगा चर सिर्फ एक विशिष्ट प्रेत के लिए, जिसका मतलब है कि केवल उस प्रेत होगा इसे देखने या संशोधित करने में सक्षम हो. आप वैश्विक साथ एक चर निर्धारित हैं सभी के लिए चयन करके गुंजाइश sprites, तो वह, चरण का मतलब है कि साथ ही sprites के सभी के रूप में, देखने में सक्षम हो जाएगा, संशोधित करने, और पहुँच कि आपके द्वारा बनाया गया है कि चर. और डिजाइन के मामले में, यह सबसे अच्छा है जब भी आप कर सकते हैं स्थानीय गुंजाइश का चयन सिर्फ इतना है कि sprites के बाकी और मंच के बारे में चिंता करने की ज़रूरत नहीं है कि चर का ट्रैक रखने. आप वास्तव में दो चरों के हो सकते हैं के रूप में विभिन्न sprites के लिए एक ही नाम उन के रूप में लंबे समय से स्थानीय चर रहे हैं. स्प्राइट एक, एक बिल्ली, एक चर हो सकता है काउंटर नाम, और स्प्राइट दो, एक कुत्ता, यह भी एक चर नाम हो सकता है इन के रूप में काउंटर के रूप में लंबे समय तक दोनों स्थानीय चर रहे हैं. क्योंकि चर का दायरा के आराम करने के लिए विस्तार नहीं करता अन्य sprites के कार्यक्रम, और कोई नहीं या चरण भ्रमित हो जाएगी. इससे पहले, मैं प्रवेश बिंदु का उल्लेख किया, जब हरी झंडा ब्लॉक क्लिक किया. कि ब्लॉक और साथ बयान अनिवार्य रूप से कह रहे हैं अपने sprites या मंच, ठीक है, जब हरे ध्वज क्लिक किया जाता है, यह है आपको क्या करना चाहिए. लेकिन यह है कि केवल घटना नहीं है कि sprites और मंच का जवाब कर सकते हैं. हम, उदाहरण के लिए, के लिए एक घटना है एक कुंजीपटल कुंजी दबाया जाता है जब. आप वास्तव में पत्र एक चुन सकते हैं जेड के माध्यम से, शून्य नौ या के माध्यम से तीर कुंजी. अन्य घटनाओं, भी कर रहे हैं, इस तरह के अपने प्रेत क्लिक किए जाने के रूप में. आप की तरह घटना ब्लॉक के साथ शुरू करते हैं इन, आप एक प्रवृत्ति पर ध्यान देंगे. वे सभी पर एक ही समूह है नीचे और एक चिकनी शीर्ष, जो इंगित करता है कि ऊपर कुछ नहीं कि ब्लॉक के लिए देता है. आप उन घटनाओं के तहत निर्माण ब्लॉक और नीचे की ओर का निर्माण. हम किसी घटना चाहते हैं, तो अब, क्या होता है एक बिल्ली है जब, कहते हैं, ऐसा करने के लिए एक निश्चित भाग को छू मंच का? हम वास्तव में किसी भी अंतर्निहित नहीं है दर्शाता है कि घटना है, तो क्या हम हूँ क्या करना है हमारे अपने घटना बनाने है. और कहा कि प्रसारण का आह्वान किया है. तो आप एक संकेत है कि जब चाहते हैं निश्चित घटना तुम तो हुआ है, प्रसारण नामक एक काले, जो प्रयोग नियंत्रण टैब में पाया जाता है. वहाँ आप का नाम टाइप करेंगे आप प्रसारित करना चाहते हैं कि घटना है, और तब जो भी प्रेत या मंच है कि करने के लिए प्रतिक्रिया कर सकते हैं अगर आप चाहें तो प्रसारित. मैं प्राप्त कर लेते ब्लॉक बताता है वे कर रहे हैं क्या करना है जब sprites अधिसूचित कि अपने कस्टम घटना हुआ है. तो याद है कि जब भी आप प्रसारण एक घटना, इसके साथ है समझ है कि एक या तो sprites या चरण के लिए जा रहा है उस घटना प्राप्त करते हैं और यह जवाब. अब, हम इससे पहले पिछले अवधारणा एक खरोंच के एक वास्तविक उदाहरण के लिए कार्यक्रम, धागे की अवधारणा है. आपके कंप्यूटर है कि जब एक साथ क्रियान्वित करने एक ही समय में प्रक्रियाओं. और मुझे लगता है कि हम सब ले लिया है यकीन इस का लाभ. वेब जबकि सर्फिंग की तरह संगीत सुनने. कंप्यूटर कई निष्पादित कर सकते हैं एक ही समय में बातें. इस उदाहरण में, इन दो लिपियों के लिए इस्तेमाल किया जा सकता है ठीक उसी प्रेत. प्रवेश बिंदु ब्लॉक, जब हरा झंडा क्लिक किया है, कई बार इस्तेमाल किया है, लेकिन वे दो अलग लिपियों हैं. दरअसल, हरा झंडा ब्लॉक क्लिक किया शायद सबसे में से एक होगा अपने कार्यक्रम में लोकप्रिय ब्लॉकों. यहाँ हम जब हरा झंडा देखना है कि क्लिक किया जा रहा है, एक प्रक्रिया है पर, साथ ही एक और. तो स्क्रैच वास्तव में इन चलेंगे सटीक एक ही समय में दो. और अगर आप वास्तव में हो सकता है, यह जानकर कि एक से अधिक प्रवेश बिंदु, भले ही यह एक ही प्रवेश बिंदु है, जा रहा है यदि आप चाहते हैं वास्तव में उपयोगी हो सकता है अलग अलग कार्य एक दूसरे से. ठीक है. तो अब हम आपको इन सब बता चुका हूँ कि अवधारणाओं, चलो एक उदाहरण देखो. मैं शुरू कार्यक्रमों की एक श्रृंखला बना दिया है, इसलिए हम साथ पालन करने की कोशिश एक छोटे से खेल रही है. के उद्घाटन के द्वारा शुरू करते हैं भूख डिनो शून्य. के शुरू करने के लिए हरी ध्वज क्लिक करते हैं यह क्या करता है यह और देखते हैं. हम एक के लिए ले जाता है कि एक बग प्रेत है कुछ कदम, कुछ ऊंचाई पर रीसेट करता है, और फिर वापस कदम. और फिर हम एक डिनो प्रेत है. तीर कुंजी दबाने से, मैं जा रहा हूँ चारों ओर डिनो प्रेत, यह मोड़ बना और बारी बारी से. उस आनन्द की तरह हो सकता है, लेकिन बहुत सारे वहाँ नहीं कर रहे हैं इस कार्यक्रम में स्क्रिप्ट. हम निश्चित रूप से इस के लिए जोड़ सकते हैं. डिनो यह बढ़ रहा है उदाहरण के लिए, जब वास्तव में स्क्रीन बंद हो जाते हैं और कर सकते हैं लगभग साइट से गायब हो जाते हैं. हम बदलना चाहते हैं क्योंकि हम डिनो से बचने के लिए नहीं करना चाहती. तो चलो लाल के साथ हमारी स्क्रिप्ट रोक झंडा और फिर डिनो स्क्रिप्ट को संपादित. इस विशेष स्क्रिप्ट है कि नोटिस साथ समाप्त होता है, जो एक हमेशा के लिए लूप, एक सीधे धार. यह किसी भी नाली नहीं है तल पर. और इस से समझ में आता है , एक हमेशा के पाश नाम है. यह असीम कुछ को क्रियान्वित कर रहा है और कभी खत्म नहीं होगा. तो यह एक महान अवसर है एक धागा शुरू करने की. ठीक है. तो चलो एक और स्क्रिप्ट जोड़ दें. मैं इस प्रविष्टि के साथ शुरू करने जा रहा हूँ हरा झंडा जब क्लिक बिंदु,. और मैं लगातार जाँच करना चाहते हैं डिनो होने जा रहा है कि क्या बढ़त छू. मोशन के अंतर्गत एक स्वच्छ छोटी ब्लॉक नहीं है यदि पर बढ़त उछाल, कहते हैं कि. और इसलिए हम लगातार करना चाहते हैं इस पर अमल. क्या इस बयान करता चेक, अगर है प्रेत के किनारे पर है अगर ऐसा है मंच, और वापस bounces. और उपयोगकर्ता हमेशा स्थानांतरित कर सकते हैं, क्योंकि डिनो, हम किसी तरह का पता लगाना चाहते हैं हमारे लिए लगातार अनुमति देता है कि पाश इस बयान पर अमल. हम नियंत्रण में लेंगे खोज रहे हैं हमेशा के लिए लूप का चयन करें. तो चलो में उस खींचें फिर डिनो लिपियों, और यदि पर बढ़त उछाल जोड़ें. और फिर हमारे कार्यक्रम का परीक्षण करते हैं. तो बग हमेशा की प्रति के रूप में चलती है, और है तो हम अपने नए स्क्रिप्ट से बाहर का परीक्षण अगर किनारे करने के लिए हमारे डिनो चलती है, हम चाहते हैं कि यह नहीं देख सकते हैं अब और मंच से बचने. यह सही वापस बाउंस. अब आप सोच सकते हैं कि क्यों डिनो बाउंस लेकिन नहीं बग. हम हमारे नए लिखा था क्योंकि खैर, कि डिनो लिपियों के अंदर स्क्रिप्ट और नहीं कीड़े. तो बग नहीं सुनेंगे निर्देश हम डिनो दिया. ठीक है. तो चलो अब कुछ नया जोड़ दें. आप वेशभूषा टैब पर जाएं, तो आप देखेंगे कि विभिन्न वेशभूषा कि आपके चयनित स्प्राइट के साथ प्रीलोडेड आते हैं आप से एक को चुनना अगर स्क्रैच पुस्तकालय. यह प्यारा सा डिनो Chomp नहीं है पोशाक, तो चलो डिनो को लागू करते हैं हम प्रेस जब chomping, , अंतरिक्ष कुंजी कहना. वापस डिनो लिपियों के लिए. यहाँ इस स्क्रिप्ट में, मैं पहले से ही कर रहा हूँ हमेशा के पाश कि क्या में जाँच कुछ तीर कुंजी को दबाया जा रहा है और तदनुसार डिनो घूम रहा है. वे तीर छोड़ा तो दबाया जाता है, डिनो वामावर्त घूमता है. सही तीर दबाया जाता है, डिनो दक्षिणावर्त घूमता है. तो ऊपर तीर दबाया जाता है, तो डिनो आगे प्रगति. हम सिर्फ स्क्रिप्ट को जोड़ने के बजाय कर सकते हैं एक अलग से एक जोड़ने इस वजह पहले से ही के विषय में जाँच कर रहा है कुंजी को दबाया जा रहा है जो. के लिए जाँच करता है कि एक जोड़ दें अंतरिक्ष कुंजी दबाया जा रहा है. यहाँ इन ब्लॉक्स की जांच कर रहे हैं कुंजी को दबाया जा रहा है. वे तो, उज्जवल नीले रंग में सब कर रहे हैं उज्ज्वल नीले संवेदन के लिए चलते हैं बयानों और चारों ओर देखिए. यहां एक मुख्य स्थान से प्रेस ब्लॉक है. तो क्या हम करना चाहते हैं डिनो है इसके नीचे काट पोशाक के लिए स्विच अगर, तभी तो, अंतरिक्ष कुंजी दबाया जा रहा है. तो चलो यहाँ संरचना की नकल करते हैं. अब, पोशाक बदलने के साथ क्या करना है डिनो कैसे दिखता है तो हम करने के लिए जाना होगा बयान देखो. और यकीन है कि पर्याप्त, हम एक स्विच है डिनो Chomp करने कॉस्टयूम. अब, हम नीचे chomp जब हम नहीं चाहते डिनो, हमेशा के लिए नीचे chomping किया जाना है तो चलो कह रही एक बयान जोड़ दें इसे वापस स्विच करने के लिए. यह एक तरह से जल्दी वेशभूषा स्विच करेंगे हालांकि, क्योंकि स्क्रैच बयानों में वास्तव में वापस करने के लिए वापस अमल करेंगे जल्दी से, लगभग तुरंत. तो चलो नियंत्रण करने के लिए चलते हैं और फिर बनाना इंतज़ार कर रही द्वारा एक छोटी सी के लिए डिनो ठहराव एक दूसरा यह नीचे chomps के बाद. अब बग प्रेत को संपादित करते हैं. बग प्रेत आगे पांच कदम के बाद एक कुल पांच बार कदम पल के ठहराव. यहाँ शीर्ष ब्लॉक बग में एक निश्चित स्थानों पर ही मूल्य x-निर्देशांक. आप वास्तव में कर सकते हैं निर्देशांक खोजने के लिए स्क्रीन पर माउस और तो मंच के नीचे कोने में खिड़की निर्देशांक तो अद्यतन करेगा आप इस काम का लाभ ले सकते हैं निर्देशांक को लागू करने की सुविधा आप चाहते हैं कि. और, यहाँ इस बयान में, हम हिदायत उसी में शुरू करने के लिए बग एक्स मूल्य हर बार, लेकिन एक यादृच्छिक लेने के लिए कि अभी भी बग के लिए ऊंचाई बाधाओं के भीतर रहता है मंच की. मैं का लाभ ले जा रहा हूँ कि यहाँ देखें स्क्रैच में घटना प्रसारण. इस ईवेंट हैंडलर नई Bug1 कहा जाता है. बग प्राप्त करता है तो जब भी नई Bug1 घटना, यह कथन पर अमल करेंगे. यह आगे अपने सेट ले जाता है तो बाद समय की राशि है, यह वास्तव में घटना नई Bug1 प्रसारण करता है. लेकिन यह कैसे हम परिवर्तन के बारे में यह कहानी एक छोटे से? अभी हम बग पांच चरणों में घूम रहा है. यह एक कुल एक बहुत नहीं है पांच बार की. हम वास्तव में कितनी बार होगा पता नहीं है बग जब तक आवश्यक हो, स्क्रीन के अंत का कहना है, तो चलो लेकिन बनाने के अंत तक पहुँचने स्क्रीन, लेकिन किसी तरह का उपयोग अन्य निर्माण की. मैं इस वजह से अलग करने के लिए जा रहा हूँ हम कुछ चीजों को बदलने के लिए जा रहे हैं. स्क्रैच से ब्लॉक को हटाने के लिए आप करने के लिए ब्लॉक खींचें छोड़ दिया और फिर रिहाई. और यह नष्ट हो जाता है. क्या आप नहीं था कि निर्णय लेते हैं यह आप कर सकते हैं तो नष्ट करना चाहते हैं संपादित करें और हटाना करने के लिए जाना. लेकिन हम प्राप्त करना चाहते थे उस ब्लॉक से छुटकारा. क्या हम अब क्या करना चाहते हैं, कहते हैं, इस कदम है 50 कदम और एक दूसरे को थामने, और हम स्पर्श जब तक यह दोहराना स्क्रीन के अंत. तो चलो हमें करने की अनुमति देता है कि एक पाश का उपयोग करते हैं एक निश्चित जब तक एक प्रक्रिया को दोहराने हालत जिसे उपयुक्त, पूरा किया जाता है दोहराएँ जब तक नाम दिया है. हालत अंदर चला जाता है क्या एक दोहराएँ जब तक? चाहे हमें बताता है कि कुछ बग के किनारे छू रहा है के तहत होने जा रहा है जो स्क्रीन, सेंसिंग विवरण. यहाँ इस बूलियन, छू रहा है. और तुम यहाँ का चयन कर सकते हैं क्या आप के लिए जाँच करना चाहते हैं. इसलिए हम मार्मिक एज चयन और जोड़ देंगे वापस अंदर इस सशर्त बयान हम अपने बग देखो तो अगर अब, यह हूँ इसे छू एक बार फिर वापस ले जाने के मंच के किनारे. ग्रेट. हम भूख डिनो शून्य के साथ खत्म हो रहे हैं तो चलो भूख डिनो एक खोलते हैं. एक तरह से एक खाना पकाने शो की तरह, मैं जोड़ दिया है थोड़ा और अधिक सुविधाओं. उदाहरण के लिए, आप देखेंगे कि बग वास्तव में अब काफी बस ग्लाइडिंग है इससे पहले विरोध के रूप में. प्रस्ताव के तहत इस वहाँ बयान सरकना. अब, बग को 70 इकाइयों glides अपने मौजूदा प्रदर्शनी का अधिकार है, लेकिन यहां एक ही y स्थिति में रहता है. और हम अब chomping एक डिनो हो सकता है हम पहले लागू के रूप में. लेकिन, इस कार्यक्रम भूखा नहीं कहा जाता है कुछ नहीं के लिए डायोन तो चलो करते हैं डिनो बग खाते हैं. हम कैसे बग बताओ, या बता सकता है डिनो, यह नीचे कटा हुआ है कि? हम इस घटना से संवाद कर सकता है? ठीक है, हम जानते हैं कि हम जब स्विच डिनो Chomp करने डिनो के लिए पोशाक हम नीचे chomped गया है. और हम बग गायब करना चाहते हैं यह खाया है एक बार. खैर, हम जाँच करें कि क्या करना होगा बग पर chomped और कर दिया गया है यह होगा कि बग के लिए बातचीत छिपाने या स्क्रीन से गायब यह नीचे chomped गया है एक बार. इसलिए अवधारणा किस तरह का, किस तरह की उपकरण हम डिनो है करने के लिए उपयोग कर सकते हैं बग के लिए संवाद है कि यह नीचे chomped गया है? प्रसारण. तो चलो घटनाओं के लिए जाने जाने और जोड़ प्रसारण करने के लिए एक घटना. Chomp. ठीक है. लेकिन याद रखना कि हम प्रसारित एक बार हम भी करना है कुछ इस घटना प्राप्त करते हैं. तो जो प्रेत Chomp प्रसारण किया जाएगा? ठीक है, चलो डिनो करना है कि चलो अंतरिक्ष कुंजी दबाया जाता है जब. के Chomp प्राप्त करने के लिए एक ब्लॉक जोड़ दें. अब, डिनो बस पर नीचे आता है एक खाली जगह हम बग नहीं करना चाहती सब पर है कि करने के लिए प्रतिक्रिया करने के लिए केवल अगर डिनो समय में लेकिन छू गया था Chomp के हम वास्तव में है कुछ करो. क्योंकि यदि ऐसा है तो हम शर्त का उपयोग करेंगे हम कुछ है कि क्या जाँच कर रहे हैं सच है या नहीं. अब हम तो वापस सेंसिंग के लिए जाना अगर हम इस मार्मिक उपयोग कर सकते हैं ब्लॉक और डिनो का चयन करें. तो, लगता है के तहत, हम इस छिपाएँ लगता है कि मूल रूप से बग कर दूँगा ब्लॉक मंच से गायब हो जाते हैं. हम इसे छिपाने बना देंगे, लेकिन हम करते हैं ठीक है, एक और बग चाहते हैं? हमारे डिनो भूख लगी है. इसलिए हम इसे एक और देना चाहता हूँ पीछा करने के लिए बग. तो चलो भी प्रसारित करते हैं घटना नई Bug1. हम इसे कुछ समय के लिए इंतजार करना चाहते हैं सिवाय एक और बग प्रतीत होता है पहले, तो चलो यह भी एक सेकंड रुको. ठीक है. तो चलो इस बाहर की जाँच करें. हम नीचे chomped, एक लेकिन, गायब हो जाता है एक दूसरे से प्रकट होता है, और हम नीचे chomp इस पर फिर से. यह एक बहुत की तरह लग रही है मजेदार खेल है, लेकिन सभी खेल सही, स्कोर करने की जरूरत है? तो क्या हम ट्रैक के रखने के लिए उपयोग कर सकते हैं डिनो कितने कीड़े खाया है? एक चर. तो चलो स्कोर नामक एक चर जोड़ दें. और अब हम निर्णय लेना होगा क्या गुंजाइश यह चर है. तो चलो लगता है. हम पर बढ़ाने के लिए चाहते हो सकता है, जबकि यह हो गया है कि अगर स्कोर सफलतापूर्वक खाया, और चरण हो सकता है साथ क्या कुछ हो के रूप में अच्छी तरह से स्कोर है, तो आवंटित सभी sprites के लिए इस चर. हम स्कोर अगर बढ़ाना चाहते हैं, और केवल, अगर एक बग खाया गया है. और हम पहले से ही एक स्क्रिप्ट लिखा है कि एक बग के साथ सौदों इसलिए खाया जा रहा है इस एक बयान जोड़ दें एक से बदल स्कोर में. इसका मतलब है कि आप खाने में एक बार एक बग स्कोर बढ़ जाती है. चलो एक बिट के लिए खेलते हैं और खाने के लिए, मैं तीन कीड़े पता नहीं है. तो आप खेल के थक गए हो, अच्छी तरह से, आप लाल बंद प्रेस हूँ खेल को रोकने के लिए साइन इन करें. और तुम तुम हूँ वापस आना चाहते जब फिर हरा झंडा दबाएँ. लेकिन स्कोर अभी भी तीन और भी है मैं एक नया खेल खेल रहा हूँ, हालांकि. हम उपयोगकर्ताओं को एक सिर देने के लिए नहीं करना चाहती शुरू, तो हम फिर से कायम करने की आवश्यकता होगी हर समय स्कोर वे एक नया खेल शुरू करते हैं. तो चलो चरण के लिए एक बयान जोड़ दें सेट करने के लिए प्रवेश बिंदु स्क्रिप्ट शून्य करने के लिए चर स्कोर. तो अब, आप एक खेल शुरू जब भी, स्कोर शून्य से शुरू होगी. अब भूख डिनो 2 खुले जाने कहाँ मैं कुछ और बातें जोड़ दिया है. मैं सही करने के लिए बग प्रेत पर क्लिक किया एक दिया है जो प्रेत नकल मेरे पिछले एक के समान स्प्राइट. जहर बग को अनिवार्य रूप से समान है Bug1 लेकिन मैं एक नई पोशाक चुना है क्योंकि मैं अच्छी तरह से, यह देखा सोचा जहरीला की तरह. इसके बजाय स्कोर को बढ़ाने की जब जहर बग खाया जाता है, मैं वास्तव में बदलकर स्कोर कमी नकारात्मक एक से स्कोर. और फिर मैं के लिए एक और पोशाक बनाया हमारे डिनो रंग संपादक के लिए उपयोग कर एक बीमार लग रही डिनो बनाने और यह बीमार डिनो नाम दिया है. लेकिन हम में इस पोशाक का उपयोग नहीं करते हमारे कार्यक्रम अभी तक है, तो हम कुछ जोड़ दें बयानों और बदल जाएगा कि ब्लॉक हरी बीमार करने के लिए डिनो पोशाक पोशाक जब भी यह खाता एक जहर बग. अब, जब से हम बग प्रेत दोहराया जहर बग सब की है लिपियों कि मूल बग करता है. आप से स्क्रिप्ट पर कॉपी करना चाहता था अन्य sprites, आप को खींच कर सकते हैं प्रेत के शीर्ष पर स्क्रिप्ट आप को कॉपी करने के लिए चाहते हैं. लेकिन हम यहां ऐसा करने की जरूरत नहीं होगी जहर बग पहले से ही एक है क्योंकि जाँच करता है कि उस स्क्रिप्ट बग पर नीचे chomped किया गया है. और हम को इस का लाभ ले सकते हैं यह एक खाया कि डिनो करने के लिए बातचीत जहरीला बग. और हम दोनों के बीच संवाद प्रसारण द्वारा sprites. तो चलो एक नया प्रसारित करते हैं डिनो बीमार कहा जाता है घटना. और हम के लिए एक पोशाक है कि पता डिनो को बदल सकते हैं, लेकिन हम यह भी करने के लिए यह है कि पहले से जानते हैं एक ठहराव में जोड़ने के लिए सबसे अच्छा पोशाक परिवर्तन के बीच. मैं डिनो बीमार प्राप्त होता है तो, मैं जा रहा हूँ बीमार डिनो को पोशाक बदलने के लिए, इंतजार एक दूसरा, और तब स्विच भूख डिनो के लिए वापस. ठीक है. चलो हमारे खेल खेलते हैं और खाते हैं एक बग और बीटल. और स्कोर एक एक करके कम हो जाती है. अब, कभी कभी तुम नोटिस सकता है कि चर पर प्रकट नहीं हो सकता स्क्रीन के कोने छोड़ दिया है. आप नीचे डेटा अनुभाग में नेविगेट हैं लिपियों, आप इस चेकमार्क देखेंगे आपके द्वारा बनाए गए चर के बगल में. और इस छुपाता या unhides स्क्रीन से चर. लेकिन आप भी एक बयान का उपयोग कर सकते हैं शो या बुलाया एक विशिष्ट चर छुपाएं. तो चलो इस शो चर स्कोर का उपयोग करते हैं सुनिश्चित करें कि हम शुरू हर बार खेल, चर दिखाया गया है. ग्रेट. तो चलो खेल चलाते हैं और खाने के लिए अभी एक जहर बग. अब, यह एक खेल के लिए एक छोटे से अजीब है ठीक है, नकारात्मक अंक है करने के लिए? तो चलो एक और विशेषता परिचय. डिनो भी कई जहरीला खाती है कीड़े तो यह भी बीमार हो जाता है और खेल खत्म हो गया है. तो इस को लागू करने के लिए, हम प्रसारित करेंगे एक अन्य घटना, खेल खत्म. निष्पादित करने के लिए जब हमें कैसे पता चलेगा प्रसारण के दौरान इस खेल? खैर, हम यह कई तरीकों से कर सकते हैं. हम चरण में एक स्क्रिप्ट है कि कर सकते हैं लगातार जाँच करता है कि क्या स्कोर नकारात्मक या नहीं, और प्रसारण है खेल खत्म जब स्कोर नकारात्मक हो जाता है. या हम इस तथ्य का लाभ ले सकता है स्कोर कि कभी एक ही रास्ता नकारात्मक हो, जब एक जहरीला बग खाया जाता है. आप अन्य खाने क्योंकि जब बग, स्कोर बढ़ जाती है. जाँच में कोई फायदा नहीं है यह है कि क्या खेल खत्म या नहीं जब आप होना चाहिए एक खाद्य बग खाते हैं. इसलिए हम वास्तव में अभी तक जोड़ सकते हैं डिनो बीमार प्राप्त करता है कि स्क्रिप्ट घटना प्रसारण. हम हिदायत करना चाहते हैं इस प्रकार के रूप डिनो. स्कोर, कम से कम शून्य है खेल खत्म प्रसारण. तो हम शून्य से स्कोर कम निर्माण करेंगे से एक ब्लॉक का उपयोग हालत ऑपरेटर अनुभाग, और खींच कि ब्लॉक करने के लिए हमारे स्कोर में. और यहाँ देख आप सिर्फ खींच सकते हैं चर स्कोर और शून्य से भी कम समय में डाल दिया. और हम प्रसारित करने जा रहे हैं एक नई घटना, खेल खत्म. लेकिन स्कोर से नीचे नहीं गया है अगर शून्य, हम करने के लिए डिनो चाहते हैं खेल जारी है. तो बजाय एक यहाँ है, तो चलो का उपयोग करने का एक अगर और निर्माण का उपयोग करें. एक किसी और का निर्माण करने के लिए हमारे डिनो बताता है शर्त सही है, तो एक काम करो और एक और बात अगर हालत झूठी है. अगर हमारी पहली के शरीर में जा सकते हैं और अगर है, तो चलो खींचें कि अंदर लेकिन स्कोर शून्य से भी कम नहीं है, तो हम वापस स्विच भूख डिनो पोशाक. हम preemptively कि ऐसा करने के लिए नहीं करना चाहती. ग्रेट. लेकिन जब से हम खेल खत्म प्रसारण हम अभी भी एक बनाने की जरूरत घटना रिसीवर ब्लॉक. एक बंद करो सभी बयान वास्तव में नहीं है नियंत्रण में है, तो हम करने के लिए इस कनेक्ट मैं खेल खत्म प्राप्त होता है. लेकिन हम यह भी बग बंद करना चाहते हैं, तो के के सभी पर इस स्क्रिप्ट खींचें बग sprites के रूप में अच्छी तरह से मंच के रूप में. चलो यह बाहर की कोशिश करते हैं. अभी, एक जहरीला बग भोजन उम्मीद के रूप में कार्यक्रम बंद हो जाता है. अन्य कीड़े से कोई भी ले जाते हैं और न तो यदि आप प्रेस डिनो करता है तीर कुंजी नीचे. लेकिन हम याद दिलाना नहीं करना चाहते हैं, हम कहते हैं उनके नकारात्मक स्कोर के उपयोगकर्ता, तो से चर स्कोर छिपाने जाने मंच जब भी गेम ओवर घटना प्राप्त होता है. ठीक है. तो यह एक बहुत अच्छा खेल है. अधिक समय के साथ आप अधिक जोड़ सकते हैं sprites और अधिक लिपियों. शायद कीड़े स्थानांतरित कर सकते हैं अलग स्पीड पर. आप एक नया पृष्ठभूमि जोड़ सकते हैं चरण के लिए - पृष्ठभूमि पर एक खेल - ऐसी अवस्था प्राप्त करता है, कि घटना खेल खत्म, उसमें स्विच कर सकते हैं पृष्ठभूमि खेल खत्म और सब sprites छिपाने की. छोटे tweaks के बहुत सारे बनाने के लिए किया जा सकता है अपने खेल में थोड़ा और अधिक पॉलिश. और यह एक की सिर्फ एक उदाहरण है आप स्क्रैच में कर सकते हैं कि परियोजना सभी उपकरण का उपयोग कर कि हम पहले भी चर्चा की - sprites, वेशभूषा, चरणों, पृष्ठभूमि, स्थितियां, छोरों, चर, घटनाओं और धागे का प्रसारण. भूख डिनो किसी भी ध्वनि का प्रयोग नहीं करता प्रभाव, लेकिन आप आसानी से जोड़ सकते हैं अपने ध्वनि टैब पर नेविगेट और से ही ध्वनि बयान की खोज. स्क्रैच करने के लिए एक महान परिचय है प्रोग्रामिंग अवधारणाओं, तो रचनात्मक होना और, सबसे महत्वपूर्ण बात है, मजेदार है. मेरा नाम Zamyla है, और इस CS50 है.