অধ্যায় 08 যুক্তি সঙ্গে মজা
জেসন তার বিদ্যালয়ের খেলাধুলার ক্যাপ্টেন। তিনি খেলাধুলায় উত্তোলনশীল কর্মকাণ্ডের জন্য চেয়ারম্যানের বিশেষ সাহায্যের অনুদান পেয়ে অত্যন্ত উত্সাহী হন। তবে তার বিশেষ সাহায্যের অনুদানের পরিমাণ তার ব্যাংক হিসাবে জমা হতে হবে এবং জেসনের কোনও সঞ্চয় ব্যাংক হিসাব নেই। তিনি ব্যাংক হিসাব খোলার কীভাবে করবেন তা জানেন না। তাই তিনি তার এলাকার একটি ব্যাংকে যায় এবং সাহায্যের ডেস্কে ব্যাংক কর্মী তাকে নিম্নলিখিত কাজ সম্পন্ন করার নির্দেশনা দেয়।
1. কাউন্টার থেকে হিসাব খোলার ফর্ম নিন।
2. ফর্মে সাবধানে বিস্তারিত তথ্য পূরণ করুন।
3. ফর্মের নির্দিষ্ট জায়গায় আপনার স্বাক্ষর দিন।
4. ছবির পরিচয়পত্রের কপি সংযুক্ত করুন।
5. সর্বনিম্ন জমা দিয়ে ফর্মটি কাউন্টারে জমা দিন।
ব্যাংক হিসাব খোলার প্রক্রিয়া বুঝে গেলে, জেসন কাজের উপর নিয়োগ পান। যখন তিনি শেষ ধাপ সম্পন্ন করেন, যা ফর্মটি জমা দেওয়া ছিল, তখন ক্লার্ক তাকে জানান যে তার হিসাব খোলা যায়নি। কী ঘটেছে? আপনি কী কারণ মনে করতে পারেন?
$\begin{array}{c} \\ \hline \qquad \qquad \qquad \qquad \qquad \qquad \\ \hline \\ \hline \end{array}$
আবার জেসন ব্যাংক হিসাব খোলার ধাপগুলি পরীক্ষা করেন। তখনই তিনি মনে করেন যে তিনি ধাপ নং 3 এ ভুল করেছেন, যা ফর্মের নির্দিষ্ট জায়গায় স্বাক্ষর দেওয়া ছিল এবং এই কারণে ব্যাংক হিসাব খোলার কাজ সম্পন্ন হয়নি। এরপর তিনি তার স্বাক্ষর দেয় এবং ফর্মটি আবার জমা দেয়। অবশেষে তার হিসাব চূড়ান্তভাবে সফলভাবে খোলা হয়।
আপনি কখনো কোনও নির্দিষ্ট কাজ সম্পন্ন করার সময় এমন একটি সমস্যা সম্মুখীন হয়েছেন? আপনি যদি সঠিক ধাপের ক্রম অনুসরণ না করেন তবে কী ঘটে? আপনি কর্তৃপক্ষের প্রত্যাশিত ফলাফল পাবেন?
কার্যক্রম 1
স্বাধীনতা দিবসের পূর্বে, আপনি রেডিওতে প্রধানমন্ত্রীর বক্তব্য শোনতে চান। কাজ সম্পন্ন করার ধাপগুলি লিখুন।
$\begin{array}{c} \\ \hline \qquad \qquad \qquad \qquad \qquad \qquad \\ \hline \\ \hline \\ \hline \\ \hline \\ \hline \\ \end{array}$
এরপর আপনার বন্ধুকে আপনার দ্বারা লেখা ধাপগুলি অনুসরণ করতে বলুন। আপনি কি প্রধানমন্ত্রীর বক্তব্য শোনার জন্য টিউন করতে পারছেন? আপনি যদি ধাপগুলির ক্রম বদলে দেন তবে কী ঘটে? আপনি এখনও কর্তৃপক্ষের প্রত্যাশিত ফলাফল পাবেন?
এখন পর্যন্ত, আপনি নির্দেশনার গুরুত্ব এবং নির্দিষ্ট কাজ সম্পন্ন করার জন্য নির্দেশনার ক্রমের গুরুত্ব বুঝে যাবেন। কোনও কাজ সম্পন্ন করতে এবং প্রত্যাশিত আউটপুট পাওয়ার জন্য, আপনাকে প্রতিটি নির্দেশনা প্রমাণিত ভাবে, ক্রমানুসারে এবং যুক্তিসঙ্গতভাবে দিতে হবে, যেমন আঙ্গিক 8.1-এ দেখানো হয়েছে। তাই কোনও কাজ সম্পন্ন করতে, নিম্নলিখিত ধাপগুলি তালিকাভুক্ত করা হয়েছে।
1. আপনি যে আউটপুট চান তা প্রকাশ্যে চিহ্নিত করুন।
2. প্রত্যাশিত আউটপুট পাওয়ার জন্য প্রয়োজনীয় নির্দেশনা বিশ্লেষণ করুন।
3. নির্দেশনা সঠিক ক্রমে দিন এবং চূড়ান্ত করুন।
4. আপনি ধাপ 1-এ যে আউটপুট চিহ্নিত করেছেন তা হিসাবে উৎপাদিত আউটপুট যাচাই করুন।
| আউটপুট চিহ্নিত করুন | $\bullet$ আপনি কি প্রকাশ্যে জানেন যে কোনও আউটপুট উৎপাদন করা উচিত? |
| বিশ্লেষণ | $\bullet$ আপনার কয়েকগুলি সমাধান আছে? $\bullet$ কোনটি সবচেয়ে ভালো বিকল্প? $\bullet$ আপনি কি নির্দেশনার সঠিক ক্রম সন্নিবেশ করেছেন? |
| নির্দেশনা চূড়ান্ত করুন | $\bullet$ যুক্তিসঙ্গত ক্রমে নির্দেশনা দিন। |
| আউটপুট যাচাই করুন | $\bullet$ আউটপুট কি আপনি ধাপ 1-এ যে আউটপুট চিহ্নিত করেছেন তা হিসাবে? |
আঙ্গিক 8.1: কোনও কাজ সম্পন্ন করার ধাপ
একটি পরিস্থিতি বিবেচনা করুন যেখানে টুইর্লি বিড়াল তার বাড়ির দিকে যাওয়ার পথ হারিয়েছে যেমন আঙ্গিক 8.2-এ দেখানো হয়েছে।

আঙ্গিক 8.2: টুইর্লি বিড়াল তার পথ খুঁজছে
আপনি তাকে বাড়ি পৌঁছাতে সাহায্য করার জন্য কী নির্দেশনা দেবেন? নিম্নলিখিত স্থানে তাদের লিখুন:
ধাপ 1: 10 পদক্ষেপ এগিয়ে যান।
ধাপ 2: ডান দিকে 90 ডিগ্রি ঘুরুন।
আপনি কি সঠিক নির্দেশনা দিয়েছেন? টুইর্লি বিড়াল কি তার বাড়ি পৌঁছাবে? আপনি কোনও সফ্টওয়্যার অ্যাপ্লিকেশন বা টুল ব্যবহার করে দেওয়া নির্দেশনা যাচাই করতে পারেন? হ্যাঁ, আপনি এটি করতে পারেন স্ক্র্যাচ অ্যাপ্লিকেশন ব্যবহার করে। এই অ্যাপ্লিকেশন ব্যবহার করে আপনি সহজ টেনে তুলুন নির্দেশনা ব্যবহার করে নিজের গল্প, গেম এবং বিভিন্ন অ্যানিমেশন তৈরি করতে পারেন।
স্ক্র্যাচ মইট দ্বারা 2005 সালে তৈরি একটি বিনামূল্যের প্রোগ্রামিং ভাষা।
স্ক্র্যাচে অ্যানিমেশনগুলি অফলাইন এবং অনলাইন মোড উভয়ে তৈরি করা যায়। এটি একটি ওপেন সোর্স সফ্টওয়্যার তাই আপনি $\text{https://scratch.mit.edu}$ থেকে এটি ডাউনলোড করে আপনার কম্পিউটারে ইনস্টল করে তারপর এটি ব্যবহার করতে পারেন। আপনি উপরের ইউআরএল ব্যবহার করে অনলাইনে আপনার অ্যানিমেশনগুলি তৈরি এবং শেয়ার করতে পারেন।
স্ক্র্যাচ খুলে আপনি ইন্টারফেসটি দেখবেন যেমন আঙ্গিক 8.3-এ দেখানো হয়েছে। স্ক্র্যাচ উইন্ডোতে প্রতিটি বস্তুকে একটি স্প্রাইট বলা হয়। এই বস্তুটি কোনও ব্যক্তি, প্রাণী, যানবাহন, ভবন বা এমনকি পাঠ্য হতে পারে।

আঙ্গিক 8.3: স্ক্র্যাচ ইন্টারফেস
স্ক্র্যাচ ইন্টারফেস সম্পর্কে জানার পর আমরা এখন টুইর্লি বিড়ালকে তার বাড়ি পৌঁছানোর জন্য যে ধাপগুলি নেওয়া হয়েছে তা যাচাই করা শুরু করা যাক। স্ক্র্যাচ উইন্ডোতে, আমাদের টুইর্লি বিড়ালকে একটি বিড়াল স্প্রাইট বলা হবে। স্প্রাইটটি নির্দিষ্ট পথে চলার জন্য, আপনাকে যথাযথ নির্দেশনা ব্লক চয়ন করে স্ক্রিপ্ট এলাকায় টেনে তুলতে হবে। যুক্তিসঙ্গত ক্রমে নির্দেশনা চয়ন করতে নিশ্চিত হন। স্ক্রিপ্ট সম্পন্ন হলে, আপনাকে এটি কার্যকর করতে হবে স্টেজে আউটপুট দেখতে (আঙ্গিক 8.4 দেখুন)।

আঙ্গিক 8.4: বিড়াল স্প্রাইট যে পথ অতিক্রম করেছে
কার্যক্রম 2
নিম্নলিখিত পথগুলি অনুসরণ করে বিড়াল স্প্রাইট অনুসরণ করার জন্য একটি স্ক্রিপ্ট তৈরি করুন।
স্ক্র্যাচ শুধুমাত্র স্থিতিশীল আকৃতির বিষয়বস্তু নয়। আপনি বিভিন্ন চরিত্র (স্প্রাইট), নির্দেশনা এবং টুল ব্যবহার করে স্ক্র্যাচ ব্যবহার করে একটি অ্যানিমেটেড গল্প তৈরি করতে পারেন।
আপনি কখনো ভাবেন নিজের ধারণাগুলি কমিউনিকেশন করতে যুক্তিসঙ্গত ক্রমে নির্দেশনা দিতে হয়? পূর্বের অধ্যায়গুলিতে, আপনি বিভিন্ন টুল এবং অ্যাপ্লিকেশন ব্যবহার করে পাঠ্য, চিত্র, ভিডিও এবং অডিও মাধ্যমে নিজের ধারণা কমিউনিকেশন করার শিখেছেন। অডিও এবং ভিডিও টুল আপনাকে বাস্তবসঙ্গত চিত্র এবং ভিডিও সঙ্গে কমিউনিকেশন করতে সাহায্য করেছে। কিন্তু আপনার কোনও কল্পনাপূর্ণ ধারণা বা গল্প আপনার বন্ধুদের সাথে কমিউনিকেশন করতে হলে কী ঘটে? এই ধরনের গল্পে কোনও বাস্তবসঙ্গত চরিত্র থাকতে পারে না। উদাহরণস্বরূপ, একটি ফেয়ারি গল্প বা দুটি প্রাণী যা মহাকাশে ভ্রমণ করছে বা পানিতে দুটি মাছ যোগাযোগ করছে। এটি কোনও পাঠ্য সম্পাদন, চিত্র সম্পাদন বা উপস্থাপনা টুল ব্যবহার করে করা যেতে পারে?
আমরা একটি গল্প তৈরি করব যেখানে পানির নিচের প্রাণীগুলি পানির দূষণ সম্পর্কে কথা বলছে। আমাদের কল্পনাপূর্ণ চরিত্রগুলি হবে একটি তারা প্রাণী নামক টুইঙ্কল, একটি শূন্যপতি নামক অক্টি, একটি ঝাউ নামক ব্লু এবং একটি মাছ নামক লালি। আমাদের গল্পে আমাদের প্রয়োজন হবে নিম্নলিখিত বস্তুগুলি:
- পানির নিচের পটভূমি
- অক্টি, একটি শূন্যপতি
- টুইঙ্কল, একটি তারা প্রাণী
- ব্লু, একটি ঝাউ
- লালি, একটি মাছ
- ডায়ালগ বা বার্তার আকারে পাঠ্য
- কাচ শব্দ
- পানির ড্রপ এবং ঝাপসা পানির শব্দ
গল্প তৈরি করার স্ক্রিপ্ট
(পানির নিচের পটভূমি সহ পানি, পানির গাছ এবং পানির প্রাণী)
(ডান দিক থেকে একটি লাল মাছ সরে এসে কেন্দ্রে আসে এবং ধীরে ধীরে বাম দিক থেকে বেরিয়ে যায়)
(মুভির সমগ্র সময় ধীরে ধীরে পানির ড্রপ এবং ঝাপসা পানির শব্দ শোনা যাবে)
টুইঙ্কল: কাচ… কাচ (পুরুষের কাচের শব্দ)
অক্টি (বাম দিক থেকে সরে এসে): হে অক্টি… আপনি ঠিক আছেন? কী ঘটেছে? (একটু সরে এসে)
টুইঙ্কল: ওহ অক্টি… কাচ কাচ… এই ধোঁয়া পানি আমাকে মারতে পারে। (পুরুষের কাচের শব্দ)
অক্টি: ওহ!!
ব্লু: (ডান দিক থেকে সরে এসে) ওহ গড!! আমার চোখ জ্বালাচ্ছে।
অক্টি: এই মানুষ, তারা আমাদের পানি দূষণ করে এবং আমরা ক্ষতি হয়। (পুরুষের কাচের শব্দ)
ব্লু: আজ পানিতে কী সমস্যা?
ব্লু: আমরা একদিন মারা যাব। (ব্লু ঝাউ নিচে সরে যায়)
অক্টি: আমরা সবাই তাদের অনুরোধ করি। (টুইঙ্কল এবং অক্টি তাদের বাম দিকে সরে যায়)
স্ক্রিনে বার্তা পড়া যাবে
“পানির দূষণ বন্ধ করুন”
অতএব, আপনার গল্পে, আপনাকে স্ক্র্যাচ দ্বারা প্রদত্ত বিভিন্ন স্প্রাইট থেকে চারটি স্প্রাইট যোগ করতে হবে। যখন আপনি স্ক্র্যাচ খুলেন, ডিফল্ট বিড়াল স্প্রাইট স্টেজের কেন্দ্রে থাকবে। আপনি যে স্প্রাইটগুলি আরও যোগ করবেন তা স্টেজে দেখাবে, যেমন আঙ্গিক 8.5-এ দেখানো হয়েছে।

আঙ্গিক 8.5: একটি স্প্রাইট যোগ করা
আপনি শিফট কী চাপ রাখলে স্প্রাইট লাইব্রেরি থেকে একাধিক স্প্রাইট চয়ন করতে পারেন।
ডিফল্টভাবে, বিড়াল স্প্রাইট সব স্ক্র্যাচ প্রকল্পে থাকে কিন্তু আপনার গল্পে এটি দরকার নেই। তাই এটি মুছে ফেলতে হবে, যেমন আঙ্গিক 8.6-এ দেখানো হয়েছে।

আঙ্গিক 8.6: একটি স্প্রাইট মুছে ফেলা
আপনি শেষে একটি বার্তা দিতে চান। এই উদ্দেশ্যে আপনার প্রয়োজন হবে একটি পাঠ্য স্প্রাইটও যোগ করা (আঙ্গিক 8.7 দেখুন)।

আঙ্গিক 8.7: একটি পাঠ্য স্প্রাইট যোগ করা
আপনি একটি স্প্রাইটকে এক অবস্থান থেকে অন্য অবস্থানে সরাতে পারেন। স্ক্র্যাচ আপনাকে নির্দিষ্ট চরিত্রের অবস্থান নির্দেশ করতে সাহায্য করে যাতে আপনি করতে পারেন কোনও চরিত্রের অবস্থান নির্দেশ করা। চরিত্রগুলি স্থাপন করা স্টেজটি শুধুমাত্র একটি কোয়ার্ডিনেট প্লেন যেখানে $\mathrm{x}$ এবং $\mathrm{y}$ কোয়ার্ডিনেট যেমন আঙ্গিক 8.8-এ দেখানো হয়েছে।

আঙ্গিক 8.8: $X$-Y প্লেন (স্টেজ) এর কোয়ার্ডিনেট
এই প্লেন অনুযায়ী স্টেজের কেন্দ্রে স্থাপিত কোনও চরিত্রের $\mathrm{X}$ কোয়ার্ডিনেট $\mathrm{Y}$ হয় $(0,0)$। কোনও কোয়ার্ডিনেটের জন্য সর্বোচ্চ এবং সর্বনিম্ন মান হতে পারে 240 এবং -180 যথাক্রমে। আপনি আপনার মাউস পয়েন্টারকে স্টেজে সরালে, স্টেজের ডান নিচে প্রদর্শিত $\mathrm{x}$ এবং $\mathrm{y}$ কোয়ার্ডিনেট অবিরাম পরিবর্তন হবে।

আঙ্গিক 8.9: মাউস পয়েন্টারের কোয়ার্ডিনেট
আপনি নির্দিষ্ট স্প্রাইটকে এক অবস্থান থেকে অন্য অবস্থানে সরানোর নির্দেশনা দেওয়ার সময় এই কোয়ার্ডিনেটগুলি নির্দেশ করতে পারেন।
আপনার গল্প অনুযায়ী প্রকল্পে ছয়টি স্প্রাইট (4 চরিত্র যোগ করে 1 পাঠ্য স্প্রাইট) যোগ করা হয়েছে। কিন্তু স্টেজে একটি সাদা পটভূমি আছে যদিও আপনার স্ক্রিপ্টের জন্য একটি পানির নিচের দৃশ্যমান পটভূমির প্রয়োজন হয়। (আঙ্গিক 8.10 দেখুন)।

আঙ্গিক 8.10: অ্যানিমেশনে একটি পটভূমি যোগ করা
অতএব এখন আপনি পানির জগতে পড়েছেন। এরপর আপনার যোগ করা স্প্রাইটগুলির বিভিন্ন আকার চয়ন করা প্রয়োজন হতে পারে। প্রতিটি আকারকে একটি কসটিউম বলা হয়। আপনি গল্পের জন্য আপনার প্রয়োজন অনুযায়ী যতগুলি কসটিউম যোগ করতে পারেন (আঙ্গিক 8.11 দেখুন)।

আঙ্গিক 8.11: একটি স্প্রাইটে কসটিউম যোগ করা
প্রতিটি স্প্রাইটের জন্য কসটিউম যোগ করার পর, আপনার প্রকল্পের জন্য প্রয়োজনীয় শব্দগুলি যোগ করুন, যেমন আঙ্গিক 8.12-এ দেখানো হয়েছে।

আঙ্গিক 8.12: শব্দ যোগ করা
স্প্রাইট, কসটিউম এবং শব্দগুলি যোগ করার পর, আমাদের পরবর্তী ধাপ হল এই স্প্রাইট, তাদের কসটিউম এবং শব্দ প্রভাব ব্যবহার করে একটি অ্যানিমেটেড গল্প তৈরি করা। এই প্রক্রিয়ায় যুক্তিসঙ্গত ক্রমে নির্দেশনা দেওয়া হয় এবং প্রতিটি স্প্রাইটের জন্য নির্দেশনার সেটকে একটি স্ক্রিপ্ট বলা হয়। স্ক্রিপ্টটি প্রতিটি নির্দেশনার জন্য প্রতিটি ক্রিয়ার জন্য নির্দেশনা ধারণ করবে। এই ক্রিয়াগুলি চলাচল, শব্দ, কসটিউমের পরিবর্তন ইত্যাদি হতে পারে, যেমন টেবিল 8.1-এ দেখানো হয়েছে। প্রতিটি নির্দেশনা স্ক্রিপ্ট ট্যাব থেকে স্ক্রিপ্ট এলাকায় টেনে তুলা হয়। আপনি আপনার চাওয়া যতগুলি নির্দেশনা টেনে তুলতে পারেন এবং স্ক্রিপ্ট উইন্ডোর ডান দিকে স্ক্রিপ্ট এলাকায় স্ক্রিপ্ট স্ট্যাকে যোগ করতে পারেন। যোগ করা নির্দেশনাগুলি আপনি যেমন স্ট্যাক করেছেন সেই একই ক্রমে কার্যকর করা হবে। নিম্নলিখিত কিছু সাধারণভাবে ব্যবহৃত নির্দেশনা বিভাগ এবং নির্দেশনাগুলি তাদের ব্যাখ্যার সাথে তালিকাভুক্ত করা হয়েছে।
টেবিল 8.1: নির্দেশনার ধরন
কিছু সাধারণভাবে ব্যবহৃত স্ক্রিপ্ট বিভাগ এবং নির্দেশনা | | | |
| বিভাগ | নির্দেশনা | ব্যাখ্যা |
|---|---|---|
| চলাচল | স্টেপস < n > এগিয়ে যান ডিগ্রি < $<\mathrm{n}>$ > ঘুরুন সেকেন্ডস | স্প্রাইটকে $n$ সংখ্যক স্টেপস এগিয়ে নিয়ে যান ডান দিকে $n$ ডিগ্রি ঘুরুন $n 1$ সেকেন্ডে $x n$ এবং $y n$ কোয়ার্ডিনেটে স্লাইড করে যান |
| দেখার | লুকান দেখান টেক্সট < টেক্সট > টেক্সট <টেক্সট> সেকেন্ডস < n > কসটিউম টু < cst > পরিবর্তন করুন | স্প্রাইট লুকান স্প্রাইট দেখান স্পিচ বালতিতে পাঠ্য প্রদর্শন করুন স্পিচ বালতিতে পাঠ্য প্রদর্শন করুন $n$ সেকেন্ড স্প্রাইটের কসটিউম যে কোনও যোগ করা কসটিউমে (সিএসটি) পরিবর্তন করুন |
| শব্দ | প্লে সাউন্ড < অডিও > প্লে সাউন্ড < অডিও > ডু টু ডোন স্টপ অল সাউন্ডস | অডিও চালান এবং পরবর্তী নির্দেশনা ব্লকে যান অডিও পুরোটা সম্পন্ন হওয়া পর্যন্ত চালান এবং তারপর পরবর্তী ব্লকে যান সব শব্দ বন্ধ করুন |
| ঘটনা | ওয়েন 🏴ক্লিকড | স্ক্রিপ্ট চালান যখন সবুজ ফ্ল্যাগ ক্লিক করা হয় |
| নিয়ন্ত্রণ | ওয়েট | $n$ সেকেন্ড অপেক্ষা করুন, তারপর পরবর্তী নির্দেশনা ব্লকে যান |
স্প্রাইটগুলিকে দেওয়া কিছু নির্দেশনা সম্পর্কে জানার পর, আপনি এখন প্রতিটি স্প্রাইটের জন্য স্ক্রিপ্ট গঠন শুরু করতে পারেন, যেমন আঙ্গিক 8.13 এবং আঙ্গিক 8.14-এ দেখানো হয়েছে। আপনার স্প্রাইটের জন্য স্ক্রিপ্ট গঠন করার পর, আপনি আউটপুট দেখতে চাবেন (আঙ্গিক 8.15 দেখুন)।

আঙ্গিক 8.13: স্টারফিশ স্প্রাইটের জন্য একটি স্ক্রিপ্ট গঠন করা

আঙ্গিক 8.14: গল্পের সব চরিত্রের জন্য স্ক্রিপ্ট

আঙ্গিক 8.15: অ্যানিমেশন চালানো
কার্যক্রম 4
একটি অ্যানিমেশন তৈরি করুন যেখানে আপনার নাম একটি অ্যানিমেটেড ভাবে দেখায়। (ইঙ্গিত: অক্ষর স্প্রাইট ব্যবহার করুন)
কার্যক্রম সম্পন্ন করার পর, নিম্নলিখিত প্রশ্নগুলির উত্তর দিন:
1. আপনি কয়টি স্প্রাইট যোগ করেছেন? $\begin{array}{|l|} \hline \quad \\ \hline \end{array}$
2. আপনি কোনও স্প্রাইটের জন্য কসটিউম যোগ করেছে�
