📚 कक्षा 8 · विज्ञान · अध्याय 20

स्क्रैच पर कोडिंग (Scratch Coding)

इस अध्याय में हम स्क्रैच (Scratch) प्लेटफॉर्म, कंडीशनल्स, वेरिएबल्स, कोडिंग गतिविधियाँ एवं स्क्रैच पर खेल (Game) बनाने के बारे में जानेंगे।

🧩 1 स्क्रैच (Scratch) – परिचय एवं विशेषताएँ

स्क्रैच (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 मीडिया लैब द्वारा विकसित – ब्लॉक-आधारित प्रोग्रामिंग – बच्चों के लिए मज़ेदार कोडिंग।

🤔 2 कंडीशनल्स (Conditionals) – निर्णय लेना

कंडीशनल्स (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" प्रदर्शित होता है।

ब्लॉक्स का क्रम:
  • Eventswhen green flag clicked
  • Sensingask "What is the capital of India?" and wait
  • Controlif then else
  • Operators= (answer = "Delhi")
  • Lookssay "Correct Answer" (if true)
  • Lookssay "Wrong Answer" (else)
❓ प्रश्न
✅ सही
"Correct"
❌ गलत
"Wrong"
if-else कंडीशनल का प्रवाह – सही/गलत उत्तर

🤔 कंडीशनल्स: if (यदि) और if-else (यदि-अन्यथा) ब्लॉक्स – Control श्रेणी में – निर्णय लेने के लिए।

📦 3 वेरिएबल्स (Variables) – मान संग्रहण

वेरिएबल (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 में दिखने लगता है।

🔹 वेरिएबल से संबंधित महत्वपूर्ण ब्लॉक्स

📝 set [variable] to [value]
वेरिएबल में मान सेट करना।
📊 change [variable] by [number]
वेरिएबल के मान को बदलना (बढ़ाना/घटाना)।
❓ ask [question] and wait
उपयोगकर्ता से इनपुट लेना – उत्तर answer ब्लॉक में स्टोर होता है।
💬 say [text]
स्प्राइट को बोलना (Pop-up में संदेश दिखाना)।

🔹 उदाहरण – वेरिएबल का उपयोग (नाम पूछना)

  • उद्देश्य: Cat स्प्राइट हमारा नाम पूछेगी और "Hello" के साथ हमारा नाम प्रदर्शित करेगी।
  • कोडिंग चरण:
    • Eventswhen green flag clicked
    • Sensingask "What is your name?" and wait
    • Variablesset [Name] to [answer]
    • Lookssay [join "Hello " Name]

📦 वेरिएबल: Variables श्रेणी → Make a Variable → नाम दें → set/change/ask/answer – मान संग्रहण।

👩 4 गतिविधि (1) – Dee स्प्राइट से नाम कहलवाना

गतिविधि: Dee स्प्राइट (Sprite) से उसका नाम कहलवाना (Say) – Light बैकड्राप (Backdrop) के साथ।

🔹 चरणबद्ध समाधान (Step-by-step Solution)

स्टेप 1: Dee स्प्राइट और Light बैकड्राप को चुनें (Select) करें।
स्टेप 2: Variables श्रेणी → "Make a Variable" से "My Name" नाम का एक वेरिएबल बनाएँ।
स्टेप 3: कोड ब्लॉक्स को Drag & Drop करें:
  • Eventswhen green flag clicked
  • Sensingask "What is your name?" and wait
  • Variablesset [My Name] to [answer]
  • Lookssay [join "My name is " My Name]
💡 join ब्लॉक Operators श्रेणी में है – दो टेक्स्ट को जोड़ता है।
स्टेप 4: say ब्लॉक में join ब्लॉक को Insert करें – "Hello" की जगह "My name is" लिखें और दायीं ओर My Name वेरिएबल लगाएँ।
स्टेप 5: सभी ब्लॉक्स को क्रमबद्ध (Sequential) तरीके से लगाएँ – जैसा कि चित्र में दिखाया गया है।
स्टेप 6: Green Flag (🟢) पर क्लिक करके कोड को Execute/Run करें – Dee स्प्राइट "My name is Dee" कहेगी।

👩 गतिविधि – नाम: Dee स्प्राइट + Light बैकड्राप – Variable "My Name" – ask → set → say join "My name is " My Name

5 गतिविधि (2) – Cat स्प्राइट से दो संख्याओं का योग कराना

गतिविधि: Cat स्प्राइट (Sprite) से दो संख्याओं का योग (Addition) कराना और परिणाम प्रदर्शित करना।

🔹 चरणबद्ध समाधान (Step-by-step Solution)

स्टेप 1: Cat स्प्राइट को सेलेक्ट (Select) करें।
स्टेप 2: Variables श्रेणी → "Make a Variable" से दो वेरिएबल्स बनाएँ – "Number1" और "Number2" (पहली और दूसरी संख्या के लिए)।
स्टेप 3: कोड ब्लॉक्स को Drag & Drop करें:
  • Eventswhen green flag clicked
  • Sensingask "Enter first number" and wait
  • Variablesset [Number1] to [answer]
  • Sensingask "Enter second number" and wait
  • Variablesset [Number2] to [answer]
  • Lookssay [join "Addition is " (Number1 + Number2)]
💡 योग करने के लिए Operators श्रेणी से + (Addition) ब्लॉक का उपयोग करें – Number1 + Number2 को say ब्लॉक में Insert करें।
स्टेप 4: say ब्लॉक में join ब्लॉक का उपयोग करें – "Addition is" टेक्स्ट और फिर Number1 + Number2 ऑपरेटर Insert करें।
स्टेप 5: सभी ब्लॉक्स को क्रमबद्ध (Sequential) तरीके से लगाएँ।
स्टेप 6: Green Flag (🟢) पर क्लिक करके कोड को Execute/Run करें – Cat स्प्राइट दो संख्याओं का योग बताएगी।

गतिविधि – योग: Cat स्प्राइट – दो वेरिएबल्स (Number1, Number2) – ask → set → say join "Addition is " (Number1 + Number2)

🐔 6 खेल की कोडिंग – चिक एवं एग (Chicken & Egg Game)

खेल (Game): चिक (Chick) स्प्राइट को एग (Egg) स्प्राइट पर कूदाना – हर सफल कूद पर स्कोर (Score) बढ़ता है।

🔹 स्टेप 1 – चिक स्प्राइट को ऊपर-नीचे कूदाना

  • Eventswhen green flag clicked
  • Controlrepeat 10Motionchange y by 10 (ऊपर जाना)
  • Controlrepeat 10Motionchange y by -10 (नीचे आना)
  • Motiongo to x: (X) y: (Y) (शुरुआती स्थान पर वापस)
  • Eventswhen [space] key pressed – स्पेसबार से कूदने को नियंत्रित करना
  • Looksswitch costume to [costume] – मनोरंजन के लिए

🔹 स्टेप 2 – एग स्प्राइट को दायें से बायें सरकाना

  • Egg स्प्राइट को स्क्रीन पर Add करें और आकार (Size) छोटा करें।
  • Motiongo to x: 200 y: (Y) (दायें से शुरू)
  • Motionglide 1 secs to x: -200 y: (Y) (बायें की ओर सरकना)
  • Controlrepeat (अनिश्चित काल तक)
  • X और Y संख्याएँ स्वतः अपडेट होती हैं जब स्प्राइट को ड्रैग करते हैं।

🔹 स्टेप 3 – खेल को रोकना (Game Over)

  • Controlif touching [Chick]?stop all (जब एग चिक को छू लेती है – खेल समाप्त)
  • कोड को Egg स्प्राइट के अन्तर्गत रखना है।

🔹 स्टेप 4 – स्कोर (Score) बढ़ाना

  • Variables"Make a Variable" से "Score" नाम का वेरिएबल बनाएँ।
  • Variablesset [Score] to 0 (शुरू में)
  • Variableschange [Score] by 1 (हर बार Chick के Egg के ऊपर कूदने पर)
  • Lookssay [Score] – स्कोर दिखाने के लिए
✅ हर सफल छलांग (Jump) पर स्कोर 1 अंक बढ़ता है – खेल समाप्त होने पर Green Flag से पुनः शुरू करें।
🐤
चिक (Jump)
🥚
एग (Glide)
स्कोर +1
Game Over
चिक एवं एग खेल का प्रवाह – कूदें, स्कोर करें, समाप्त करें

🐔 खेल की कोडिंग: Chick (Jump) + Egg (Glide) + Score (Variable) + Game Over (if touching) – Green Flag से शुरू करें।

📝 हमने सीखा (अध्याय सारांश)

🧩 स्क्रैच: MIT मीडिया लैब द्वारा विकसित – ब्लॉक-आधारित प्रोग्रामिंग – बच्चों के लिए।
🤔 कंडीशनल्स: if और if-else – Control श्रेणी – निर्णय लेने के लिए।
📦 वेरिएबल्स: Variables → Make a Variable – set/change/ask/answer – मान संग्रहण।
👩 गतिविधि – नाम: Dee स्प्राइट – Variable "My Name" – ask → set → say join "My name is " My Name
गतिविधि – योग: Cat स्प्राइट – Number1, Number2 – ask → set → say join "Addition is " (Number1 + Number2)
🐔 खेल: Chick (Jump) + Egg (Glide) + Score (Variable) + Game Over (if touching) – Green Flag से शुरू।

🧩 मिलान अभ्यास (25 पेयर)

📝 अभ्यास क्विज़

स्कोर: 0/0

✅ एक बार उत्तर चुनने के बाद बदला नहीं जा सकता।

Scroll to Top