নিয়ন্ত্রণ#
ভূমিকা#
VEXcode AIR-এর কন্ট্রোল ব্লকগুলো লুপ ও কন্ডিশন পরিচালনা করে এবং ব্লকগুলোর রান হওয়া বিলম্বিত করার মাধ্যমে একটি প্রোজেক্টের প্রবাহ নিয়ন্ত্রণ করে।
লুপ হলো এমন একটি প্রক্রিয়া যেখানে একটি কম্পিউটার একই ধাপ বা একাধিক ধাপ বারবার পুনরাবৃত্তি করতে থাকে যতক্ষণ না তাকে থামতে বলা হয়। কন্ডিশন হলো একটি নিয়ম যা কম্পিউটার পরবর্তী পদক্ষেপ কী হবে তা নির্ধারণ করার জন্য যাচাই করে। উদাহরণস্বরূপ, কন্ট্রোলারের কোনো বোতাম চাপলে ড্রোনটি সামনের দিকে উড়তে পারে।
নিচে উপলব্ধ ব্লকগুলোর একটি তালিকা দেওয়া হলো:
অপেক্ষা — একটি নির্দিষ্ট সময়ের জন্য ব্লকগুলির চলা থামিয়ে দেয়।
অপেক্ষা করুন — একটি নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত ব্লকগুলির চলা থামিয়ে রাখে।
পুনরাবৃত্তি — এক সেট ব্লককে নির্দিষ্ট সংখ্যক বার পুনরাবৃত্তি করে।
চিরকাল — এক সেট ব্লক অনির্দিষ্টকালের জন্য পুনরাবৃত্তি করে।
repeat until — একটি শর্ত পূরণ না হওয়া পর্যন্ত ব্লকগুলির একটি সেট পুনরাবৃত্তি করে।
while — যতক্ষণ একটি শর্ত সত্য থাকে, ততক্ষণ একগুচ্ছ ব্লকের পুনরাবৃত্তি করে।
if — কোনো শর্ত সত্য হলে একগুচ্ছ ব্লক চালায়।
if / else — শর্ত সত্য হলে এক সেট ব্লক চলে, অন্যথায় অন্য সেট চলে।
if / else if / else — একাধিক শর্তের উপর নির্ভর করে বিভিন্ন ব্লক সেট চালায়।
break — লুপ থেকে অবিলম্বে বেরিয়ে যায়।
প্রকল্প বন্ধ করুন — প্রকল্পটি শেষ করে।
অপেক্ষা করুন#
wait স্ট্যাক ব্লকটি পরবর্তী ব্লকে যাওয়ার আগে একটি নির্দিষ্ট সময়ের জন্য ব্লকগুলোর চলমান গতি থামিয়ে দেয়।
(1) সেকেন্ড অপেক্ষা করো
প্যারামিটার |
বর্ণনা |
|---|---|
সময় |
অপেক্ষা করার সময়, যা সেকেন্ডে একটি ধনাত্মক পূর্ণ সংখ্যা বা দশমিক সংখ্যা হিসাবে প্রকাশ করতে হবে। |
উদাহরণ
শুরু হলে
[Fly for 1 second.]
(500) [mm v] উচ্চতায় উড্ডয়ন করো ▶
[1] সেকেন্ড অপেক্ষা করো
অবতরণ করো ▶
অপেক্ষা করুন যতক্ষণ না#
wait until স্ট্যাক ব্লকটি একটি নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত ব্লকগুলোর চলমান প্রক্রিয়াকে থামিয়ে রাখে এবং এরপর পরবর্তী ব্লকে যায়।
<> না হওয়া পর্যন্ত অপেক্ষা করো
প্যারামিটার |
বর্ণনা |
|---|---|
অবস্থা |
পরবর্তী ব্লকে যাওয়ার আগে যে শর্তটি অবশ্যই পূরণ করতে হবে। যদি এর মান হয়:
|
উদাহরণ
শুরু হলে
[Hover at 200 mm.]
[500] [mm v] উচ্চতায় উড্ডয়ন করো ▶
[নিচে v] দিকে উঠো
<(distance [downward v] range in [mm v]) [math_less_than v] [200]> না হওয়া পর্যন্ত অপেক্ষা করো
ভাসমান থাকো
(3) সেকেন্ড অপেক্ষা করো
অবতরণ করো ▶
পুনরাবৃত্তি#
রিপিট সি ব্লকটি এর ভেতরের ব্লকগুলোকে একটি নির্দিষ্ট সংখ্যক বার চালায়।
[10] বার পুনরাবৃত্তি করো
अंत
প্যারামিটার |
বর্ণনা |
|---|---|
সময় |
একটি পূর্ণ সংখ্যা যা নির্ধারণ করে রিপিট ব্লকটি কতবার চলবে। |
উদাহরণ
শুরু হলে
[Move back and forth four times then land.]
[500] [mm v] উচ্চতায় উড্ডয়ন করো ▶
(4) বার পুনরাবৃত্তি করো
[সামনে v] দিকে (500) [mm v] চলো ▶
(1) সেকেন্ড অপেক্ষা করো
[backward v] দিকে (500) [mm v] চলো ▶
(1) সেকেন্ড অপেক্ষা করো
अंत
অবতরণ করো ▶
চিরকাল#
ফরেভার সি ব্লকটি তার ভেতরের ব্লকগুলোকে অবিরাম বারবার চালাতে থাকে।
চিরকাল
अंत
প্যারামিটার |
বর্ণনা |
|---|---|
এই ব্লকটির কোনো প্যারামিটার নেই। |
উদাহরণ
শুরু হলে
[Move with controller.]
[500] [mm v] উচ্চতায় উড্ডয়ন করো ▶
চিরকাল
কন্ট্রোলার দিয়ে চলো
अंत
পুনরাবৃত্তি করুন যতক্ষণ না#
repeat until C ব্লকটি নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত এর ভেতরের ব্লকগুলোকে বারবার চালায়।
<> না হওয়া পর্যন্ত পুনরাবৃত্তি করো
अंत
প্যারামিটার |
বর্ণনা |
|---|---|
অবস্থা |
একটি এক্সপ্রেশন বা ভেরিয়েবল যা প্রতিটি লুপের আগে যাচাই করা হয়। যদি এটি False হয়, তাহলে ব্লকগুলো পুনরাবৃত্তি হতে থাকে। যদি এটি True হয়, তাহলে লুপটি থেমে যাবে। |
উদাহরণ
শুরু হলে
[Move with controller until button 7 is pressed.]
[500] [mm v] উচ্চতায় উড্ডয়ন করো ▶
<কন্ট্রোলার বোতাম [7 v] চাপা হয়েছে?> না হওয়া পর্যন্ত পুনরাবৃত্তি করো
কন্ট্রোলার দিয়ে চলো
अंत
অবতরণ করো ▶
যখন#
while C ব্লকটি নির্দিষ্ট শর্ত পূরণ হওয়া পর্যন্ত এর ভেতরের ব্লকগুলোকে বারবার চালায়।
যখন <>
अंत
প্যারামিটার |
বর্ণনা |
|---|---|
অবস্থা |
একটি এক্সপ্রেশন বা ভেরিয়েবল যা প্রতিটি লুপের আগে যাচাই করা হয়। যদি এটি True হয়, তাহলে ব্লকগুলো পুনরাবৃত্তি হতে থাকে। যদি এটি False হয়, তাহলে লুপটি থেমে যাবে। |
উদাহরণ
শুরু হলে
[Hover at 200 mm.]
[500] [mm v] উচ্চতায় উড্ডয়ন করো ▶
যখন <(distance [downward v] range in [mm v]) [math_greater_than v] [200]>
[নিচে v] দিকে উঠো
अंत
ভাসমান থাকো
(3) সেকেন্ড অপেক্ষা করো
অবতরণ করো ▶
যদি#
C-এর if ব্লকটি শর্তটি সত্য হলে ভেতরের ব্লকগুলোকে চালায়।
যদি <> তাহলে
अंत
প্যারামিটার |
বর্ণনা |
|---|---|
অবস্থা |
একটি এক্সপ্রেশন বা ভেরিয়েবল যা স্টেটমেন্টটি চলার সময় যাচাই করা হয়। যদি এটি True হয়, তাহলে if ব্লকের ভেতরের ব্লকগুলো চলবে। যদি এটি False হয়, তাহলে ব্লকগুলো এড়িয়ে যাওয়া হয়। |
উদাহরণ
শুরু হলে
[Take a picture when button 5 is pressed.]
[500] [mm v] উচ্চতায় উড্ডয়ন করো ▶
চিরকাল
কন্ট্রোলার দিয়ে চলো
যদি <কন্ট্রোলার বোতাম [5 v] চাপা হয়েছে?> তাহলে
[সামনে v] ক্যামেরায় ছবি তোলো
अंत
अंत
যদি / অন্যথায়#
C-এর if / else ব্লকটি শর্তটি True বা False হওয়ার উপর ভিত্তি করে কোন ব্লক সেটটি চলবে তা নির্ধারণ করে।
যদি <> তাহলে
অন্যথায়
अंत
প্যারামিটার |
বর্ণনা |
|---|---|
অবস্থা |
একটি এক্সপ্রেশন বা ভেরিয়েবল যা স্টেটমেন্টটি চলার সময় যাচাই করা হয়। যদি এটি True হয়, তাহলে if ব্লকের ভেতরের অংশগুলো চলবে। আর যদি এটি False হয়, তাহলে else ব্লকের ভেতরের অংশগুলো চলবে। |
উদাহরণ
শুরু হলে
[Climb when the left joystick is moved up.]
[500] [mm v] উচ্চতায় উড্ডয়ন করো ▶
চিরকাল
যদি <(কন্ট্রোলার অক্ষ [1 v] অবস্থান) [math_greater_than v] [0]> তাহলে
[উপরে v] দিকে উঠো
অন্যথায়
ভাসমান থাকো
अंत
যদি / অন্যথায় যদি / অন্যথায়#
if / else if / else এক্সপ্যান্ডেবল C ব্লকটি শর্তের উপর ভিত্তি করে কোন ব্লক সেটটি চলবে তা নির্বাচন করে:
শর্তটি সত্য প্রমাণিত হলে if তার কোড ব্লকটি চালায়।
else if শুধুমাত্র তখনই অতিরিক্ত শর্তগুলো যাচাই করে, যখন পূর্ববর্তী সমস্ত শর্ত False হিসেবে প্রমাণিত হয়। একাধিক else if স্টেটমেন্ট ব্যবহার করা যেতে পারে।
পূর্ববর্তী কোনো শর্তই সত্য না হলে, else তার কোড ব্লকটি কেবল তখনই চালায়।
যদি <> তাহলে
অন্যথায় যদি <> তাহলে
অন্যথায়
अंत
প্যারামিটার |
বর্ণনা |
|---|---|
অবস্থা |
একটি এক্সপ্রেশন বা ভেরিয়েবল যা স্টেটমেন্টটি চলার সময় যাচাই করা হয়। প্রথম যে শর্তটি সত্য হয়, সেটি ওই ব্লক সেটটি চালায়। যদি সমস্ত শর্ত মিথ্যা প্রমাণিত হয়, তবে else ব্লকের ভেতরের ব্লকগুলো চলবে। |
উদাহরণ
শুরু হলে
[Move the drone up or down based on the position of the joystick.]
[500] [mm v] উচ্চতায় উড্ডয়ন করো ▶
চিরকাল
যদি <(কন্ট্রোলার অক্ষ [1 v] অবস্থান) [math_greater_than v] [0]> তাহলে
[সামনে v] দিকে চলো
অন্যথায় যদি <(কন্ট্রোলার অক্ষ [1 v] অবস্থান) [math_less_than v] [0]> তাহলে
[বিপরীত v] দিকে চলো
অন্যথায়
ভাসমান থাকো
अंत
अंत
বিরতি#
break স্ট্যাক ব্লক একটি লুপ থেকে অবিলম্বে বেরিয়ে যায়। এই ব্লকটি repeat, repeat until, while, এবং forever ব্লকের ভিতরে ব্যবহার করা যেতে পারে। যখন প্রোজেক্ট চলাকালীন কোনো ঘটনার কারণে, যেমন একটি বোতাম চাপা হলে বা একটি সেন্সর কোনো বস্তু শনাক্ত করলে, লুপটিকে সময়ের আগেই থামাতে হয়, তখন Break কার্যকর।
বিরতি দাও
প্যারামিটার |
বর্ণনা |
|---|---|
এই ব্লকটির কোনো প্যারামিটার নেই। |
উদাহরণ
শুরু হলে
[Land when button 5 is pressed.]
[500] [mm v] উচ্চতায় উড্ডয়ন করো ▶
চিরকাল
কন্ট্রোলার দিয়ে চলো
যদি <কন্ট্রোলার বোতাম [5 v] চাপা হয়েছে?> তাহলে
বিরতি দাও
अंत
अंत
অবতরণ করো ▶
প্রকল্পটি বন্ধ করুন#
stop project স্ট্যাক ব্লকটি একটি চলমান প্রজেক্ট বন্ধ করে দেয়।
প্রকল্প বন্ধ করো :: control cap
প্যারামিটার |
বর্ণনা |
|---|---|
এই ব্লকটির কোনো প্যারামিটার নেই। |
উদাহরণ
শুরু হলে
[Stop motors after landing.]
[500] [mm v] উচ্চতায় উড্ডয়ন করো ▶
[1] সেকেন্ড অপেক্ষা করো
অবতরণ করো ▶
প্রকল্প বন্ধ করো