স্ক্রিন#
ভূমিকা#
স্ক্রিন মেথডগুলো নিয়ন্ত্রণ করে যে IQ (২য় প্রজন্ম) ব্রেইন তার অন্তর্নির্মিত স্ক্রিনে কীভাবে টেক্সট, সংখ্যা এবং গ্রাফিক্স প্রদর্শন করবে।
আঁকার জন্য ব্রেইনটির রেজোলিউশন হলো ১৬০ x ১০৮ পিক্সেল।
এই পৃষ্ঠাটি উদাহরণ মস্তিষ্ক নাম হিসেবে brain ব্যবহার করে। প্রয়োজন অনুযায়ী আপনার নিজের কনফিগার করা নাম দিয়ে এটি প্রতিস্থাপন করুন।
নিম্নে সকল পদ্ধতির একটি তালিকা দেওয়া হলো:
কার্সার প্রিন্ট — টেক্সট স্থাপন ও প্রিন্ট করুন।
print— বর্তমান কার্সরের অবস্থানে টেক্সট, সংখ্যা, অথবা ভেরিয়েবলের মান প্রিন্ট করে।set_cursor— কার্সারকে একটি নির্দিষ্ট সারি এবং কলামে নিয়ে যায়।next_row— কার্সারকে পরবর্তী সারির ১ নং কলামে নিয়ে যায়।clear_row— একটি সারির লেখা মুছে ফেলে।row— যে সারিতে লেখাটি প্রিন্ট করা হবে তা ফেরত দেয়।column— যে কলামে লেখাটি প্রিন্ট করা হবে তা ফেরত দেয়।print_at— একটি নির্দিষ্ট x এবং y স্থানাঙ্কে পাঠ্য, সংখ্যা, বা পরিবর্তনশীল মান প্রিন্ট করে।get_string_width— বর্তমান ফন্ট ব্যবহার করে একটি স্ট্রিংয়ের প্রস্থ পিক্সেলে ফেরত দেয়।get_string_height— বর্তমান ফন্ট ব্যবহার করে একটি স্ট্রিং এর উচ্চতা পিক্সেলে ফেরত দেয়।
মিউটেটর — স্ক্রিনের সেটিংস, রং এবং অঙ্কনের আচরণ পরিবর্তন করে।
clear_screen— স্ক্রিন থেকে সমস্ত অঙ্কন এবং লেখা মুছে ফেলে।set_font— মুদ্রিত লেখার জন্য ফন্ট নির্ধারণ করে।set_pen_width— অঙ্কিত রেখা এবং আকৃতির রূপরেখার পুরুত্ব নির্ধারণ করে।set_pen_color— টেক্সট, পিক্সেল, লাইন এবং শেপের আউটলাইনের রঙ সেট করে।set_fill_color— অঙ্কিত আকার এবং মুদ্রিত লেখার পটভূমির জন্য পূরণের রঙ নির্ধারণ করে।set_origin— স্থানাঙ্ক-ভিত্তিক মুদ্রণ এবং অঙ্কনের জন্য ব্যবহৃত মূলবিন্দু নির্ধারণ করে।
অঙ্কন করুন — স্ক্রিনে গ্রাফিক্স যোগ করুন।
draw_pixel— একটি স্থানাঙ্কে একটি পিক্সেল আঁকে।draw_line— দুটি বিন্দুর মধ্যে একটি রেখা আঁকে।draw_rectangle— একটি আয়তক্ষেত্র আঁকে।draw_circle— একটি বৃত্ত আঁকে।set_clip_region— অঙ্কন এবং লেখা কোথায় প্রদর্শিত হতে পারবে তা সীমাবদ্ধ করে।render— শুধুমাত্র কল করা হলে ব্রেইনের স্ক্রিনকে টেক্সট এবং ড্রয়িং দিয়ে আপডেট করে।
কার্সার প্রিন্ট#
print#
print ব্রেইন স্ক্রিনে বর্তমান কার্সরের অবস্থান এবং ফন্ট অনুযায়ী টেক্সট, সংখ্যা, বা ভেরিয়েবলের মান প্রিন্ট করে।
Usage:
brain.screen.print(text, precision, opaque)
প্যারামিটার |
বর্ণনা |
|---|---|
|
স্ক্রিনে প্রিন্ট করার জন্য টেক্সট, সংখ্যা বা ভেরিয়েবলের মান। |
|
ঐচ্ছিক। সংখ্যা প্রদর্শনের সময় দশমিকের পর কত ঘর দেখানো হবে। এটি অবশ্যই একটি কীওয়ার্ড আর্গুমেন্ট হিসেবে লিখতে হবে, যেমন: |
|
ঐচ্ছিক। |
# Display a message at the starting
# cursor position
brain.screen.print("Hello, Robot!")

# Display a percentage with 4 decimal
# places and a blue background
brain.screen.set_fill_color(Color.BLUE)
brain.screen.print((42/100), precision = 4, opaque = True)
set_cursor#
set_cursor কার্সারকে ব্রেইন স্ক্রিনের একটি নির্দিষ্ট সারি এবং কলামে নিয়ে যায়। পরবর্তী print কলটি সেই অবস্থান থেকে প্রিন্ট করা শুরু করবে। কতগুলি সারি এবং কলাম স্বাচ্ছন্দ্যে আঁটবে তা নির্বাচিত ফন্টের উপর নির্ভর করে।
মনোস্পেসড ফন্টের অক্ষরগুলোর প্রস্থ সব একই থাকে, ফলে লেখার অবস্থান সামঞ্জস্যপূর্ণ হয়। এর বিপরীতে, প্রপোর্শনাল ফন্টের অক্ষরগুলোর প্রস্থ ভিন্ন ভিন্ন হয়, তাই কিছু অক্ষর অন্যগুলোর চেয়ে বেশি জায়গা নেয়। তবে, কোন ধরনের ফন্ট ব্যবহার করা হচ্ছে তা নির্বিশেষে, set_cursor কার্সারকে সারি এবং কলামের আকারের উপর ভিত্তি করে স্থাপন করে, ফন্ট স্টাইলের উপর ভিত্তি করে নয়। set_font ব্যবহার করে ফন্টের আকার সামঞ্জস্য করা যায়।
Usage:
brain.screen.set_cursor(row, column)
প্যারামিটার |
বর্ণনা |
|---|---|
|
যে সারিতে কার্সারটি সরাতে হবে। |
|
যে কলামে কার্সারটি সরাতে হবে। |
# Repeatedly print the Brain's timer at
# the top left of the screen
while True:
brain.screen.print(brain.timer.time(SECONDS))
brain.screen.next_row()
wait(1, SECONDS)
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)

next_row#
next_row কার্সারকে ব্রেইন স্ক্রিনের পরবর্তী সারির প্রথম কলামে নিয়ে যায়।
Usage:
brain.screen.next_row()
প্যারামিটার |
বর্ণনা |
|---|---|
এই পদ্ধতিতে কোনো প্যারামিটার নেই। |
# Display two lines of text
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

clear_row#
clear_row ব্রেইন স্ক্রিনের একটি সারির লেখা মুছে ফেলে।
Usage:
brain.screen.clear_row(row, color)
প্যারামিটার |
বর্ণনা |
|---|---|
সারি |
ঐচ্ছিক। যে সারিটি খালি করতে চান। ডিফল্ট হলো বর্তমান কার্সার সারি। |
রঙ |
Optional. The color to apply to the cleared row. Options include:
|
# Display text on two rows
brain.screen.print("This text stays")
brain.screen.next_row()
brain.screen.print("This disappears")
# Wait 3 seconds before clearing
# only the second row
wait(3, SECONDS)
brain.screen.clear_row()
# Turn the 5th row green
brain.screen.clear_row(5, Color.GREEN)
row#
row সেই সারিটি ফেরত দেয় যেখানে লেখাটি একটি পূর্ণসংখ্যা হিসাবে প্রিন্ট করা হবে।
Usage:
brain.screen.row()
প্যারামিটার |
বর্ণনা |
|---|---|
এই পদ্ধতিতে কোনো প্যারামিটার নেই। |
# Set cursor to (3,2) and print
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

column#
column সেই কলামটি ফেরত দেয় যেখানে টেক্সটটি একটি পূর্ণসংখ্যা হিসাবে প্রিন্ট করা হবে।
Usage:
brain.screen.column()
প্যারামিটার |
বর্ণনা |
|---|---|
এই পদ্ধতিতে কোনো প্যারামিটার নেই। |
# Set cursor to (3,2) and print
# column number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.column())

print_at#
print_at ব্রেইন স্ক্রিনে নির্দিষ্ট x এবং y স্থানাঙ্কে পিক্সেলে টেক্সট, সংখ্যা, বা ভেরিয়েবলের মান প্রিন্ট করে, বর্তমানে সেট করা ফন্ট এবং অরিজিন ব্যবহার করে। এই পদ্ধতিটি বর্তমান কার্সরের অবস্থানকে উপেক্ষা করে।
Usage:
brain.screen.print_at(text, x, y, precision, opaque)
প্যারামিটার |
বর্ণনা |
|---|---|
|
যে টেক্সট, সংখ্যা বা ভেরিয়েবলের মান প্রিন্ট করতে হবে। |
|
প্রিন্ট করার জন্য x-স্থানাঙ্কটি একটি কীওয়ার্ড আর্গুমেন্ট হিসেবে দিতে হবে, যেমন: |
|
প্রিন্ট করার জন্য y-স্থানাঙ্কটি একটি কীওয়ার্ড আর্গুমেন্ট হিসেবে দিতে হবে, যেমন: |
|
ঐচ্ছিক। সংখ্যা প্রদর্শনের সময় দশমিকের পর কত ঘর দেখানো হবে। এটি অবশ্যই একটি কীওয়ার্ড আর্গুমেন্ট হিসেবে লিখতে হবে, যেমন: |
|
ঐচ্ছিক। |
# Print the number 1 on the Brain's screen at position (100, 40)
brain.screen.print_at(1, x=100, y=40)

# Display 1/3 with 3 decimal places and a blue background
brain.screen.set_fill_color(Color.BLUE)
brain.screen.print_at((1/3), x=100, y=40, precision=3, opaque=True)
get_string_width#
get_string_width একটি স্ট্রিং-এর প্রস্থ পিক্সেলে পূর্ণসংখ্যা হিসাবে ফেরত দেয়, যেমনটি ব্রেইনের স্ক্রিনে প্রদর্শিত হবে। প্রস্থ স্ট্রিং-এর দৈর্ঘ্য এবং বর্তমান ফন্ট এর উপর নির্ভর করে পরিবর্তিত হয়।
Usage:
brain.screen.get_string_width(string)
প্যারামিটার |
বর্ণনা |
|---|---|
|
মাপতে হবে এমন সুতা। |
get_string_height#
get_string_height একটি স্ট্রিং-এর উচ্চতা পিক্সেলে একটি পূর্ণসংখ্যা হিসাবে ফেরত দেয়, যেমনটি ব্রেইন স্ক্রিনে প্রদর্শিত হবে। উচ্চতা স্ট্রিং-এর দৈর্ঘ্য এবং বর্তমান ফন্ট এর উপর নির্ভর করে পরিবর্তিত হয়।
Usage:
brain.screen.get_string_height(string)
প্যারামিটার |
বর্ণনা |
|---|---|
|
মাপতে হবে এমন সুতা। |
মিউটেটর#
clear_screen#
clear_screen ব্রেইনের স্ক্রিন থেকে সমস্ত অঙ্কন এবং লেখা মুছে ফেলে।
Usage:
brain.screen.clear_screen(color)
প্যারামিটার |
বর্ণনা |
|---|---|
|
Optional. Sets the screen color. Options include:
|
# Draw a circle and clear it after
# 2 seconds
brain.screen.draw_circle(80, 50, 20)
wait(2, SECONDS)
brain.screen.clear_screen()
# Turn the screen red
brain.screen.clear_screen(Color.RED)

set_font#
set_font ব্রেইন স্ক্রিনে টেক্সট প্রদর্শনের জন্য ব্যবহৃত ফন্ট সেট করে। এই ফন্টটি print অথবা print_at দিয়ে প্রিন্ট করা সমস্ত টেক্সটে প্রয়োগ করা হবে। একটি প্রজেক্টের শুরুতে ডিফল্ট ফন্ট হল MONO20।
Usage:
brain.screen.set_font(fontname)
প্যারামিটার |
বর্ণনা |
|---|---|
|
ফন্টটি নিম্নলিখিত বিকল্পগুলির মধ্যে একটিতে সেট করে:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
# Display two different fonts on
# two separate lines
brain.screen.set_font(FontType.MONO20)
brain.screen.print("Mono Medium")
brain.screen.next_row()
brain.screen.set_font(FontType.PROP20)
brain.screen.print("Prop Medium")

set_pen_width#
set_pen_width set_pen_width অঙ্কিত রেখা ও আকৃতির রূপরেখার পুরুত্ব নির্ধারণ করে।
Usage:
brain.screen.set_pen_width(width)
প্যারামিটার |
বর্ণনা |
|---|---|
|
কলমের প্রস্থ, পিক্সেলে, ০ থেকে ৩২ পর্যন্ত। |
# Draw two circles with
# different pen widths
brain.screen.draw_circle(40, 70, 20)
brain.screen.set_pen_width(5)
brain.screen.draw_circle(100, 70, 20)

set_pen_color#
set_pen_color টেক্সট, পিক্সেল, লাইন এবং শেপের আউটলাইনের রঙ নির্ধারণ করে।
Usage:
brain.screen.set_pen_color(color)
প্যারামিটার |
বর্ণনা |
|---|---|
|
Optional. The pen and font color to use. Options include:
|
# Draw two rectangles with
# different colors
brain.screen.draw_rectangle(100, 50, 10, 20)
brain.screen.set_pen_color(Color.BLUE)
brain.screen.draw_rectangle(50, 50, 10, 20)

set_fill_color#
set_fill_color আকৃতি আঁকার সময় ব্যবহৃত ফিল কালার নির্ধারণ করে।
Usage:
brain.screen.set_fill_color(color)
প্যারামিটার |
বর্ণনা |
|---|---|
|
Optional. The fill color to use. Options include:
|
# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

set_origin#
set_origin ব্রেইন স্ক্রিনে অঙ্কন এবং স্থানাঙ্ক-ভিত্তিক মুদ্রণের জন্য ব্যবহৃত মূলবিন্দু নির্ধারণ করে। ডিফল্টরূপে, মূলবিন্দুটি হলো স্ক্রিনের উপরের-বাম কোণ।
Usage:
brain.screen.set_origin(x, y)
প্যারামিটার |
বর্ণনা |
|---|---|
|
মূলবিন্দু হিসেবে নির্ধারণ করার জন্য নতুন x-স্থানাঙ্কটি ০ থেকে ১৫৯-এর মধ্যে একটি পূর্ণসংখ্যা হিসেবে দিতে হবে। |
|
মূলবিন্দু হিসেবে নির্ধারণ করার জন্য নতুন y-স্থানাঙ্কটি ০ থেকে ১০৭-এর মধ্যে একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে। |
# Draw a line with the origin set to (50, 50)
brain.screen.set_origin(50, 50)
brain.screen.draw_line(1, 1, 159, 107)

ড্র#
draw_pixel#
draw_pixel বর্তমান পেনের রঙ ব্যবহার করে নির্বাচিত x এবং y স্থানাঙ্কে একটি পিক্সেল আঁকে।
Usage:
brain.screen.draw_pixel(x, y)
প্যারামিটার |
বর্ণনা |
|---|---|
|
যে x-স্থানাঙ্কে পিক্সেলটি আঁকা হবে, তা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে। |
|
যে y-স্থানাঙ্কে পিক্সেলটি আঁকা হবে, তা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে। |
# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)
![]()
draw_line#
draw_line বর্তমান পেনের প্রস্থ এবং পেনের রঙ ব্যবহার করে প্রথম স্ক্রিন স্থানাঙ্ক (x1, y1) থেকে দ্বিতীয় স্ক্রিন স্থানাঙ্ক (x2, y2) পর্যন্ত একটি রেখা আঁকে।
set_origin ব্যবহার করে ভিন্ন কোনো মূলবিন্দু সেট করা না থাকলে, x এবং y-স্থানাঙ্কগুলি (0, 0) এর ডিফল্ট মূলবিন্দু ব্যবহার করে।
Usage:
brain.screen.draw_line(x1, y1, x2, y2)
প্যারামিটার |
বর্ণনা |
|---|---|
|
রেখাটির শুরুর x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে। |
|
রেখাটির শুরুর y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
রেখাটির শেষ x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
রেখাটির শেষ y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
# Draw a line from the top left to
# bottom right of the screen
brain.screen.draw_line(0, 0, 159, 107)

draw_rectangle#
draw_rectangle একটি আয়তক্ষেত্র আঁকে যার উপরের-বাম কোণটি নির্বাচিত (x, y) স্থানাঙ্কে থাকে এবং আকারটি প্রদত্ত প্রস্থ এবং উচ্চতা দ্বারা নির্ধারিত হয়, যা সবই পিক্সেলে পরিমাপ করা হয়। আয়তক্ষেত্রটির রূপরেখা বর্তমান পেন প্রস্থ এবং পেন রঙ ব্যবহার করে আঁকা হয়। এর অভ্যন্তরটি বর্তমান ফিল রঙ দিয়ে পূরণ করা হয়, যদি না ঐচ্ছিক color প্যারামিটারটি ব্যবহার করা হয়।
set_origin ব্যবহার করে ভিন্ন কোনো মূলবিন্দু সেট করা না থাকলে, x এবং y-স্থানাঙ্কগুলি (0,0) এর ডিফল্ট মূলবিন্দু ব্যবহার করে।
Usage:
brain.screen.draw_rectangle(x, y, width, height, color)
প্যারামিটার |
বর্ণনা |
|---|---|
|
আয়তক্ষেত্রটির উপরের-বাম কোণার x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
আয়তক্ষেত্রটির উপরের-বাম কোণার y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
আয়তক্ষেত্রটির প্রস্থ, পিক্সেলে। |
|
আয়তক্ষেত্রটির উচ্চতা, পিক্সেলে। |
|
Optional. The fill color of the rectangle. Options include:
|
# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

draw_circle#
draw_circle নির্বাচিত (x, y) স্থানাঙ্কে কেন্দ্র করে এবং প্রদত্ত ব্যাসার্ধ দ্বারা নির্ধারিত আকারের একটি বৃত্ত আঁকে, যার সব পরিমাপ পিক্সেলে করা হয়। বৃত্তের রূপরেখা বর্তমান পেন প্রস্থ এবং পেন রঙ ব্যবহার করে আঁকা হয়। ঐচ্ছিক color প্যারামিটার ব্যবহার না করা হলে, এর অভ্যন্তর বর্তমান ফিল রঙ দিয়ে পূরণ করা হয়।
set_origin ব্যবহার করে ভিন্ন কোনো মূলবিন্দু সেট করা না থাকলে, x এবং y-স্থানাঙ্কগুলি (0,0) এর ডিফল্ট মূলবিন্দু ব্যবহার করে।
Usage:
brain.screen.draw_circle(x, y, radius, color)
প্যারামিটার |
বর্ণনা |
|---|---|
|
বৃত্তের কেন্দ্রের x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
বৃত্তের কেন্দ্রের y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়। |
|
বৃত্তটির ব্যাসার্ধ, পিক্সেল এককে। |
|
Optional. The fill color of the circle. Options include:
|
# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

set_clip_region#
set_clip_region স্ক্রিনে একটি আয়তক্ষেত্রাকার এলাকা নির্ধারণ করে, যেখানে সমস্ত অঙ্কন এবং লেখা সীমাবদ্ধ থাকবে। এই অঞ্চলের বাইরের কোনো বিষয়বস্তু প্রদর্শিত হবে না।
Usage:
brain.screen.set_clip_region(x, y, width, height)
প্যারামিটার |
বর্ণনা |
|---|---|
|
ক্লিপ অঞ্চলের উপরের-বাম কোণার x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা বা ফ্লোট হিসাবে দেওয়া হয়। |
|
ক্লিপ অঞ্চলের উপরের-বাম কোণার y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা বা ফ্লোট হিসাবে দেওয়া হয়। |
|
ক্লিপ অঞ্চলের প্রস্থ, পিক্সেল এককে। |
|
ক্লিপ অঞ্চলের উচ্চতা, পিক্সেল এককে। |
# Restrict text and drawings to a specific region
brain.screen.set_clip_region(0, 0, 120, 120)
brain.screen.draw_rectangle(60, 60, 100, 100, Color.RED)
brain.screen.print_at("Cut off!", x=60, y=60)

render#
render ব্রেইনের স্ক্রিনের জন্য ডাবল বাফারিং সক্রিয় করে। একবার কল করা হলে, যেকোনো ড্রয়িং কমান্ড (যেমন টেক্সট, শেপ বা ইমেজ) প্রোজেক্টের বাকি অংশের জন্য আর সঙ্গে সঙ্গে দেখা যাবে না। পরিবর্তে, আপডেটগুলো কেবল তখনই দেখানো হবে যখন render আবার ব্যবহার করা হবে। এটি আরও মসৃণ এবং নিয়ন্ত্রিত স্ক্রিন আপডেটের সুযোগ করে দেয়, কিন্তু এর মানে হলো render ব্যবহার না করা পর্যন্ত কিছুই দেখা যাবে না।
Usage:
brain.screen.render()
প্যারামিটার |
বর্ণনা |
|---|---|
এই পদ্ধতিতে কোনো প্যারামিটার নেই। |
# Render text after moving
brain.screen.render()
brain.screen.print("Render later...")
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
brain.screen.render()









