Microsoft Small Basic প্রোগ্রামিং [পর্ব-০৬] :: Shapes Object Part 1

প্রথমেই সবার কাছে আমি ক্ষমা চেয়ে নিচ্ছি এতোদিন দেরি করার জন্য। আসলে ব্যাক্তিগত কাজের জন্য খুবই ব্যাস্ত ছিলাম। আজ থেকে আমি ফ্রি। আর তাই সবাইকে Microsoft Small Basic প্রোগ্রামিং এর ৬ষ্ঠ পর্বে স্বাগতম। আজ আমরা Shape Object এর বিভিন্ন অপারেশন শিখবো। তবে তার আগে  Subroutine (সাবরুটিন) নামক গুরুত্বপূর্ণ একটি বিষয় নিয়ে লিখব যা গত পর্বে দিতে ভুলে গিয়েছিলাম।

সাবরুটিন

আমরা আমাদের প্রোগ্রামের যে কোন অংশবিশেষ আলাদা একটি নাম দিয়ে প্রোগ্রামের শেষে বা যে কোন যায়গায় লিখতে পারি। পরবর্তীতে আমরা ঐ কোডের নামকে কল করে আমরা কোডগুলো কাজে লাগাতে পারি। এই কাজটিকে বলা হয় সাবরুটিন। সাবরুটিন লেখার Syntax হলোঃ

Sub label
            'some codes here
Endsub

যখন আমার সাবরুটিনের কোডটুকু কাজে লাগাতে হবে তখন আমাকে লেবেলকে ঠিক এভাবে কল করতে হবেঃ

label()

যেমন উদাহরনস্বরূপ আপনার একটি প্রোগ্রামে বারবার Please enter a disk. লেখার প্রয়োজন হলো তাহলে বারবার এই লাইনটি লিখতে অনেক সময় লাগবে না ? এক্ষেত্রে আমরা একবার সাবরুটিন লিখে বার বার কল করতে পারি।

যেমনঃ

Sub enterdisk
    TextWindow.WriteLine(“Please Eneter a disk!”)
EndSub

এবার আমার যতোবার প্রয়োজন ততোবার enterdisk() কে কল করলে Please Enter a disk! লেখা পর্দায় প্রদর্শিত হবে।

আরেকটু পরিষ্কার করা যাক নিচের উদাহরনটির সাহায্যে।

TextWindow.WriteLine("Please Enter a number: ")
num1 = TextWindow.ReadNumber()
TextWindow.WriteLine("Enter another number: ")
num2 = TextWindow.ReadNumber()
If (num2 = 0) Then
    Error()
Else
    Divide()
    TextWindow.WriteLine("The answer of division is: " + ans)
EndIf
Sub Divide
    ans = num1 / num2
EndSub
Sub Error
    TextWindow.ForegroundColor = "Red"
    TextWindow.WriteLine("ERROR: Can Not divide by Zero")
EndSub

আশাকরি বুঝতে পেরেছেন। যদি বুঝতে কোন সমস্যা হয় তাহলে প্লিজ মন্তব্য করবেন।

এবার আমরা আমাদের আজকের মূল আলোচনায় চলে যাই।

Shapes Object (শেপ অবজেক্ট)

MS Small Programming এ শেপ অবজেক্ট একটি অন্যতম মজার অবজেক্ট। এই অবজেক্ট দিয়ে আপনি কি করতে পারবেন? এই অবজেক্ট দিয়ে আপনি বিভিন্ন প্রকার শেপ আঁকতে পারবেন, রোটেট করতে পারবেন, অ্যানিমেশন করতে পারবেন।

Shape Object এর কিছু অপারেশন হলোঃ

  • AddImage
  • AddRectangle
  • HideShape
  • ShowShape
  • SetOpacity
  • GetOpacity
  • Move
  • Animate
  • Zoom

এই অপারেশনগুলোর নামই কাজ বলে দিচ্ছে তাই আর বিস্তারিত ব্যাখ্যায় না যাই। আমরা প্রোগ্রামিং এর মাধ্যমে এগুলোর কাজ শিখে ফেলুন চলি।

GraphicsWindow.BrushColor = "green"
rectangle = Shapes.AddRectangle(300,300)
Shapes.Move(rectangle,150,50)
For i = 1 To 10
   Shapes.ShowShape(rectangle)
   Program.Delay(1000)
   Shapes.HideShape(rectangle)
   Shapes.SetOpacity(rectangle, 100-i*10)
   Program.Delay(800)
EndFor

এবার প্রোগ্রামটি রান করে ফেলুন। এবার ১৮ সেকেন্ড পর্যন্ত দেখতে থাকুন কি ঘটে।  কিছু বূঝলেন কি ??

না বুঝলেও কোন ক্ষতি নেই। আমি এই প্রোগ্রামটিতে কি ঘটলো তা নিচে বোঝানের  চেষ্টা করছি।

  • প্রথমেই আমরা ব্রাশ কালার সবুজ করে নিলাম। যা আমরা গত পর্বে শিখেছিলাম।
  • এর পরের স্টেটমেন্টে আমরা rectangle নামে একটি নতুন আয়ত তৈরী করলাম Shapes.AddRectangle(x, y) অপারেশনের মাধ্যমে। এখানে x ও y হলো যথাক্রমে আয়তটির প্রস্থ ও উচ্চতা। তাই আমাদের rectangle নামক আয়তক্ষেত্রটির প্রস্থ ও উচ্চতা হলো ৩০০ ও ৩০০ পিক্সেল।
  • এরপর আমরা Shapes.Move(shapeName, x, y) অপারেশনটি চালালাম। Move অপারেশনের মাধ্যমে আমরা যে কোন শেপকে মুভ করতে পারি। এজন্য আমাদের প্রথমে শেপটির নাম লিখতে হবে। এরপর কমা দিয়ে x অক্ষ থেকে কত দূরে এবং y অক্ষ থেকে কতো দূরে তা উল্লেখ করতে হবে। এক্ষেত্রে আমাদের শেপের নাম rectangle এবং x ও y অক্ষ থেকে দূরত্ব যথাক্রমে 150 ও 50 দিলাম।
  • এরপরেই আমরা একটি For লুপ শুরু করলাম। লুপের বিষয়টা শেষের দিকে ব্যাখ্যা করছি।
  • এরপরের স্টটমেন্ট হলো Shapes.ShowShape(rectangle) এতোক্ষন কিন্তু আমাদের তৈরী করা আয়তটি পর্দায় দেখাচ্ছিলোনা। কিন্তু এবার ShowShape অপারেশনের মাধ্যমে আমরা তা পর্দায় দেখালাম। এখানে উল্লেখ্য ShowShape(name) হলো ইহার Syntax.
  • এরপরের স্টেটমেন্ট হলো Program.Delay(1000) এখানে Delay হলো Program নামক অবজেক্টের একটি অপারেশন। এই অবজেক্ট সম্পর্কে আমরা সামনের পর্বে বিস্তারিত জানবো। তবে এখন Delay অপারেশনের মাধ্যমে আমরা আমাদের প্রোগ্রাম এক্সিকিউশনকে ১০০০ মিলিসেকেন্ড বা ১ সেকেন্ড ডিলে করালাম বা দেরি করলাম। অর্থাৎ ১ সেকেন্ড পূর্ণ না হওয়া পর্যন্ত আবার প্রোগ্রাম পরবর্তী স্টেটমেন্ট রান করবে না।
  • এর পরের স্টেটমেন্টটি হলো Shapes.HideShape(rectangle) এর মাধ্যমে আমরা আমাদের তৈরী আয়তটি লুকিয়ে ফেললাম।
  • এরপরের স্টেটমন্টেটির মাধ্যমে আমাদের শেপটির আমরা Opacity কমাচ্ছি। মূলত এখানেই আমরা আমাদের লুপ কাজে লাগাচ্ছি। Shapes.SetOpacity(shapeName, opacity) এই অপারেশনের মাধ্যমে আমরা যে কোন শেপ অবজেক্টের অপাসিটি সেট করতে পারি। Opacity এর মান 0 থেকে 100 পর্যন্ত সীমাব্ধ।
  • এর পরের স্টেটমেন্টটির মাধ্যমে আমরা আবার 800 মিলিসেকেন্ড অপেক্ষা করবো।
  • লুপের ভিতরের কাজগুলো 10 বার ঘটবে। আর প্রতিবার i এর মান পরিবর্তন হওয়ার সাথে সাথে Opacity ও পরিবর্তিত হবে। এভাবে আমরা একটি Blink ইফেক্ট তৈরী করলাম।

আগামীকাল Shapes অবজেক্টের বাকি অপারেশনগুলো আমরা জানবো। আর হ্যাঁ আগামীকাল থেকে নিয়মিত এই ধারাবাহিক টিউন পাবেন।

Level New

আমি সাকিব। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 11 বছর যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 21 টি টিউন ও 155 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 1 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

প্রথম সেমিস্টার, প্রথম বর্ষ, কম্পিউটার বিজ্ঞান ও প্রকৌশল বিভাগ, বেগম রোকেয়া বিশ্ববিদ্যালয়, রংপুর।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

সাকিব ভাই সত্যি কথা বলতে কী আপনার টিউন গুলো অসাধারণ হচ্ছে ।

@Black Dragon: Thanks Black Dragon 🙂