स्क्रैच पर कोडिंग (Scratch Coding)
इस अध्याय में हम स्क्रैच (Scratch) प्लेटफॉर्म, कंडीशनल्स, वेरिएबल्स, कोडिंग गतिविधियाँ एवं स्क्रैच पर खेल (Game) बनाने के बारे में जानेंगे।
📋 Chapter Overview – एक नज़र में
स्क्रैच (Scratch): एक ब्लॉक-आधारित दृश्य प्रोग्रामिंग भाषा (Block-based Visual Programming Language) है, जिसे MIT मीडिया लैब द्वारा विकसित किया गया है।
- उद्देश्य: बच्चों और नवाचारकर्ताओं (Innovators) को प्रोग्रामिंग सिखाना – इंटरएक्टिव कहानियाँ, गेम, एनीमेशन बनाना।
- विशेषताएँ:
- कोडिंग ब्लॉक्स (Blocks) के रूप में – कोई टाइपिंग नहीं।
- ब्लॉक्स अलग-अलग रंगों में (Events – पीला, Motion – नीला, Looks – बैंगनी, Control – गहरा पीला, Sensing – हल्का नीला, Operators – हरा, Variables – नारंगी)।
- स्प्राइट (Sprite): पात्र/वस्तु जिसे हम कोड करते हैं (जैसे – Cat, Dee, Chick)।
- बैकड्राप (Backdrop): पृष्ठभूमि (जैसे – Stripes, Wall 1, Blue Sky, Light)।
- स्टेज एरिया (Stage Area): वह स्थान जहाँ प्रोग्राम चलता/दिखता है।
- कोडिंग एरिया (Coding Area): वह स्थान जहाँ ब्लॉक्स को ड्रैग-ड्रॉप करके कोड बनाते हैं।
- डिफ़ॉल्ट स्प्राइट: Cat (बिल्ली) – स्क्रैच खोलने पर स्टेज एरिया पर दिखाई देती है।
- स्क्रैच सीखने और सिखाने की प्रक्रिया को मजेदार बना देता है।
🧩 स्क्रैच: MIT मीडिया लैब द्वारा विकसित – ब्लॉक-आधारित प्रोग्रामिंग – बच्चों के लिए मज़ेदार कोडिंग।
कंडीशनल्स (Conditionals): जब किसी कार्य का पूरा होना, किसी विकल्प (Condition) को चुनने पर निर्भर करता है, तो उसे कंडीशनल्स कहते हैं।
🔹 उदाहरण – कंडीशनल को समझना
- स्थिति: शिवानी ने कहा – "अगर कोमल भी विद्यालय साथ चलेगी तो मैं भी जाऊँगी।"
- विकल्प 1 (Condition True): अगर कोमल चलेगी → शिवानी जाएगी।
- विकल्प 2 (Condition False): यदि कोमल नहीं जाएगी → शिवानी नहीं जाएगी।
🔹 स्क्रैच में कंडीशनल ब्लॉक्स
- Control श्रेणी में if और if-else ब्लॉक्स होते हैं।
- if ब्लॉक: यदि शर्त (Condition) सत्य (True) है तो कोड निष्पादित (Execute) होता है।
- if-else ब्लॉक: यदि शर्त सत्य है तो एक कार्य, अन्यथा (Else) दूसरा कार्य।
🔹 गतिविधि – सही/गलत उत्तर (Capital of India)
Cat स्प्राइट प्रश्न पूछता है – "What is the capital of India?" – सही उत्तर (Delhi) पर "Correct Answer" और गलत उत्तर पर "Wrong Answer" प्रदर्शित होता है।
- Events → when green flag clicked
- Sensing → ask "What is the capital of India?" and wait
- Control → if then else
- Operators → = (answer = "Delhi")
- Looks → say "Correct Answer" (if true)
- Looks → say "Wrong Answer" (else)
🤔 कंडीशनल्स: if (यदि) और if-else (यदि-अन्यथा) ब्लॉक्स – Control श्रेणी में – निर्णय लेने के लिए।
वेरिएबल (Variable): एक डिब्बा (Container) जिसमें हम मान (Value) को संग्रहित (Store) कर सकते हैं – जैसे नाम, संख्या, स्कोर आदि।
🔹 स्क्रैच में वेरिएबल बनाने के चरण
- Step 1: Variables श्रेणी (Block Palette) पर क्लिक करें।
- Step 2: "Make a Variable" बटन पर क्लिक करें।
- Step 3: एक बॉक्स खुलेगा – अपने वेरिएबल का नाम (जैसे – Name, Score, Number1, Number2) लिखें।
- Step 4: OK करें – वेरिएबल बन जाता है और Block Palette में दिखने लगता है।
🔹 वेरिएबल से संबंधित महत्वपूर्ण ब्लॉक्स
🔹 उदाहरण – वेरिएबल का उपयोग (नाम पूछना)
- उद्देश्य: Cat स्प्राइट हमारा नाम पूछेगी और "Hello" के साथ हमारा नाम प्रदर्शित करेगी।
- कोडिंग चरण:
- Events → when green flag clicked
- Sensing → ask "What is your name?" and wait
- Variables → set [Name] to [answer]
- Looks → say [join "Hello " Name]
📦 वेरिएबल: Variables श्रेणी → Make a Variable → नाम दें → set/change/ask/answer – मान संग्रहण।
गतिविधि: Dee स्प्राइट (Sprite) से उसका नाम कहलवाना (Say) – Light बैकड्राप (Backdrop) के साथ।
🔹 चरणबद्ध समाधान (Step-by-step Solution)
- Events → when green flag clicked
- Sensing → ask "What is your name?" and wait
- Variables → set [My Name] to [answer]
- Looks → say [join "My name is " My Name]
👩 गतिविधि – नाम: Dee स्प्राइट + Light बैकड्राप – Variable "My Name" – ask → set → say join "My name is " My Name
गतिविधि: Cat स्प्राइट (Sprite) से दो संख्याओं का योग (Addition) कराना और परिणाम प्रदर्शित करना।
🔹 चरणबद्ध समाधान (Step-by-step Solution)
- Events → when green flag clicked
- Sensing → ask "Enter first number" and wait
- Variables → set [Number1] to [answer]
- Sensing → ask "Enter second number" and wait
- Variables → set [Number2] to [answer]
- Looks → say [join "Addition is " (Number1 + Number2)]
➕ गतिविधि – योग: Cat स्प्राइट – दो वेरिएबल्स (Number1, Number2) – ask → set → say join "Addition is " (Number1 + Number2)
खेल (Game): चिक (Chick) स्प्राइट को एग (Egg) स्प्राइट पर कूदाना – हर सफल कूद पर स्कोर (Score) बढ़ता है।
🔹 स्टेप 1 – चिक स्प्राइट को ऊपर-नीचे कूदाना
- Events → when green flag clicked
- Control → repeat 10 → Motion → change y by 10 (ऊपर जाना)
- Control → repeat 10 → Motion → change y by -10 (नीचे आना)
- Motion → go to x: (X) y: (Y) (शुरुआती स्थान पर वापस)
- Events → when [space] key pressed – स्पेसबार से कूदने को नियंत्रित करना
- Looks → switch costume to [costume] – मनोरंजन के लिए
🔹 स्टेप 2 – एग स्प्राइट को दायें से बायें सरकाना
- Egg स्प्राइट को स्क्रीन पर Add करें और आकार (Size) छोटा करें।
- Motion → go to x: 200 y: (Y) (दायें से शुरू)
- Motion → glide 1 secs to x: -200 y: (Y) (बायें की ओर सरकना)
- Control → repeat (अनिश्चित काल तक)
- X और Y संख्याएँ स्वतः अपडेट होती हैं जब स्प्राइट को ड्रैग करते हैं।
🔹 स्टेप 3 – खेल को रोकना (Game Over)
- Control → if touching [Chick]? → stop all (जब एग चिक को छू लेती है – खेल समाप्त)
- कोड को Egg स्प्राइट के अन्तर्गत रखना है।
🔹 स्टेप 4 – स्कोर (Score) बढ़ाना
- Variables → "Make a Variable" से "Score" नाम का वेरिएबल बनाएँ।
- Variables → set [Score] to 0 (शुरू में)
- Variables → change [Score] by 1 (हर बार Chick के Egg के ऊपर कूदने पर)
- Looks → say [Score] – स्कोर दिखाने के लिए
🐔 खेल की कोडिंग: Chick (Jump) + Egg (Glide) + Score (Variable) + Game Over (if touching) – Green Flag से शुरू करें।
📝 हमने सीखा (अध्याय सारांश)
🧩 मिलान अभ्यास (25 पेयर)
📝 अभ्यास क्विज़
✅ एक बार उत्तर चुनने के बाद बदला नहीं जा सकता।