ইউজার ইন্টারফেস চ্যালেঞ্জ - পাইথন

ইউজার ইন্টারফেস চ্যালেঞ্জ
ইউজার ইন্টারফেস চ্যালেঞ্জে, আপনি ক্লবটটি এমনভাবে প্রোগ্রাম করবেন যাতে ব্যবহারকারী ব্রেনের স্ক্রিন টিপে বাহু এবং নখর মোটর নিয়ন্ত্রণ করতে পারে। তারপর স্ক্রিনের চারটি বোতাম ব্যবহার করে দশটি বস্তু তুলে প্রতিস্থাপন করা হবে। এই চ্যালেঞ্জের জন্য ক্লবটকে গাড়ি চালানো বা ঘুরতে হবে না। জিনিসপত্রগুলো তুলে নেওয়া হয় এবং তারপর টেবিল বা মেঝেতে একই জায়গায় প্রতিস্থাপন করা হয়।
নিয়ম:
- চারটি বোতামের প্রতিটিকে কেবল চারটি কাজের একটি করতে হবে: নখর খুলুন, নখর বন্ধ করুন, বাহু তুলুন, অথবা বাহু নামিয়ে দিন।
- কন্ট্রোলার ব্যবহার করা অনুমোদিত নয়।
- প্রতিটি ক্লবটকে এক মিনিটের মধ্যে যতটা সম্ভব বস্তু তুলতে হবে এবং প্রতিস্থাপন করতে হবে এবং সেগুলো ফেলে দিতে হবে না। একবারে একটি জিনিস তোলা এবং প্রতিস্থাপন করার পরামর্শ দেওয়া হয়।
- এক মিনিটের রাউন্ডটি ১ মিনিটের চিহ্নঅথবাএ শেষ হয় যদি কোন বস্তু ফেলে দেওয়া হয় - এমনকি যদি রাউন্ডটি মাত্র কয়েক সেকেন্ডের মধ্যে থাকে। কোনও বস্তু ফেলে দিলে দলটি রাউন্ডের পুরো মিনিট থেকে অযোগ্য ঘোষণা করা হবে, তবে বস্তু ফেলে দেওয়ার আগে অর্জিত যেকোনো পয়েন্ট গণনা করা হবে।
- যদি এক মিনিটের রাউন্ড শেষ হওয়ার আগে সমস্ত প্রদত্ত বস্তু তুলে নেওয়া হয়, তাহলে সময় না বলা পর্যন্ত বস্তুগুলি পুনরায় ব্যবহার করা যেতে পারে।
- টেবিলে প্রতিস্থাপন করার আগে বস্তুটিকে বাহুর মোটরের চেয়ে উঁচুতে তুলতে হবে।
- প্রতিটি বস্তু সফলভাবে ধরে উপরে তোলার পর নিচে নামানো এবং প্রতিস্থাপন করার মূল্য এক পয়েন্ট।
- রাউন্ডের মধ্যে, ভূমিকা পরিবর্তন করা যেতে পারে কিন্তু প্রতি Clawbot-এ শুধুমাত্র একজন ব্যবহারকারী প্রতিটি রাউন্ড খেলতে পারবেন।
- সকল রাউন্ড শেষে যে দল সবচেয়ে বেশি পয়েন্ট পাবে, তারাই জিতবে!

চ্যালেঞ্জে ভূমিকা:
- প্রতিটি রাউন্ডের সময় কেবলমাত্র একজন ব্যবহারকারী (লিফটার) বস্তু উত্তোলন করবেন, তবে গোষ্ঠীগুলি ব্যবহারকারীদের রাউন্ডগুলির মধ্যে পরিবর্তন করতে পারে।
- একজন মনোনীতস্কোরকিপারথাকা উচিত যিনি প্রতিটি ক্লবট কতগুলি বস্তু সফলভাবে তুলতে সক্ষম তা গণনা করবেন। প্রতিটি বস্তু সফলভাবে প্রতিস্থাপিত হলে তার মূল্য এক পয়েন্ট। কোনও বস্তু ফেলে দেওয়ার পর, ক্লবটের পালা শেষ। একাধিক রাউন্ড খেলা যাবে। এখানে একটি স্কোরিং টেবিল অন্তর্ভুক্ত করা হয়েছে তবে অতিরিক্ত গ্রুপ এবং রাউন্ডের জন্য সারি যোগ করা যেতে পারে। প্রতিটি দল তাদের নিজস্ব স্কোরিং টেবিল ব্যবহার করতে পারে অথবা সবাই একই টেবিলে রেকর্ড করতে পারে। যদি একাধিক গ্রুপ একই স্কোর টেবিল ব্যবহার করে, তাহলে দ্বিতীয় কলামে প্রতিটি গ্রুপের Clawbot ID বা গ্রুপের নাম লিখুন। এছাড়াও, স্কোরকিপারকে ইউজার ইন্টারফেস চ্যালেঞ্জের শেষে প্রতিটি রাউন্ডের পয়েন্ট একত্রিত করে মোট স্কোরের জন্য প্রস্তুত থাকতে হবে।
- টেবিল থেকে বস্তু পরিবর্তন করার জন্য একজন ব্যক্তিকে নিযুক্ত করা উচিত:সুইচার। যেহেতু ক্লবটটি ঘুরছে না বা গাড়ি চালাচ্ছে না, তাই প্রতিটি প্রচেষ্টার পরে উত্তোলিত বস্তুটি সরিয়ে নতুন বস্তু দিয়ে প্রতিস্থাপন করতে হবে।
- সময়ের হিসাব রাখার জন্য একজন ব্যক্তি নিযুক্ত থাকা উচিত:টাইমকিপার। প্রতিটি রাউন্ড এক মিনিটের।
- শিক্ষককে এই চ্যালেঞ্জ শুরু করার আগে অনুমোদিত বিষয়গুলি সরবরাহ করতে হবে।
শিক্ষকদের টিপস
- শিক্ষার্থীদের মনে করিয়ে দিন যে তারা কেবল ক্লবটের স্ক্রিন স্পর্শ করতে পারবে।
- শুধুমাত্র এমন জিনিসপত্র সরবরাহ করুন যা পড়ে যাওয়ার সম্ভাবনা নিরাপদ: একটি খালি ক্যান বা জলের বোতল, একটি VEX কিউব, VEX কিটের একটি অব্যবহৃত টুকরো, অথবা অন্য কিছু যা পড়ে গেলে বা লাফিয়ে পড়লে স্থায়ীভাবে ক্ষতিগ্রস্ত হবে না।
- পর্যবেক্ষক শিক্ষার্থীদের প্রতিটি ক্লবটের স্ক্রিন কেমন দেখাচ্ছে তা দেখার সুযোগ দিন। আয়তক্ষেত্রগুলি একই রকম হওয়া উচিত, তবে প্রতিটি ক্লবটের রঙ সম্ভবত ভিন্ন হবে।
- চ্যালেঞ্জের সময় বা পরে সেরা রঙের পছন্দ সম্পর্কে শিক্ষার্থীদের মতামত আলোচনা করুন।
শিক্ষক টুলবক্স
নীচে আপনি এই চ্যালেঞ্জের একটি উদাহরণ প্রোগ্রামিং সমাধানের সাথে একটি প্রোগ্রামিং রুব্রিক, একটি পৃথক ইঞ্জিনিয়ারিং নোটবুক রুব্রিক এবং একটি টিম ইঞ্জিনিয়ারিং নোটবুক রুব্রিক পাবেন।
- প্রোগ্রামিং সমাধানের উদাহরণ
# প্রকল্প কোড শুরু করুন
screen_buttons = Event()
def has_screen_buttons():
brain.screen.set_fill_color(Color.GREEN)
brain.screen.draw_rectangle(0, 0, 240, 120)
brain.screen.set_fill_color(Color.PURPLE)
brain.screen.draw_rectangle(240, 0, 480, 120)
brain.screen.set_fill_color(Color.ORANGE)
brain.screen.draw_rectangle(0, 120, 240, 240)
brain.screen.set_fill_color(Color.CYAN)
brain.screen.draw_rectangle(240, 120, 480, 240)
wait(1, SECONDS)
screen_buttons(has_screen_buttons)
while সত্য:
screen_buttons.broadcast()
যদি brain.screen.pressing():
যদি brain.screen.x_position() <
যদি brain.screen.y_position() ১৬টি যদি brain.screen.y_position() <
brain.screen.y_position()
টি যদি
টি যদি claw_motor.spin(FORWARD) ২০টি যখন brain.screen.pressing(): ২১টি অপেক্ষা(5, MSEC)
যদি else:
claw_motor.spin(REVERSE)
যদি brain.screen.y_position() < যদি 120
arm_motor.spin(FORWARD)
যখন brain.screen.pressing():
wait(5, MSEC)
যদি
arm_motor.spin(REVERSE)
যখন brain.screen.pressing():
অপেক্ষা করুন (৫, এমএসইসি)
ক্লো_মোটর.স্টপ()
আর্ম_মোটর.স্টপ()
অপেক্ষা করুন (৫, এমএসইসি)