স্ক্রিন#

ভূমিকা#

screen ক্লাসটি brain বেস ক্লাস থেকে উদ্ভূত। এটি নিয়ন্ত্রণ করে কিভাবে IQ (1st gen) ব্রেইন তার অন্তর্নির্মিত স্ক্রিনে টেক্সট এবং মান প্রদর্শন করে।

IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনটি সর্বোচ্চ ৫টি সারি এবং ২১টি কলাম পর্যন্ত টেক্সট সমর্থন করে।

VEX IQ (১ম প্রজন্ম) মস্তিষ্ক, যার উপর একটি সংখ্যাযুক্ত গ্রিড ওভারলে রয়েছে (কলাম ১–২১ এবং সারি ১–৫)। লাল ওভারলে লাইনগুলো গ্রিডের কাঠামোকে হাইলাইট করে, এবং তীরচিহ্ন দিয়ে কলাম ১, কলাম ২১, সারি ১, সারি ২, এবং সারি ৫ চিহ্নিত করা হয়েছে। প্রথম সারির উপরে ১ থেকে ২১ পর্যন্ত সংখ্যাগুলো প্রদর্শিত হয়।

অ্যাক্সেস#

screen ক্লাসটি নিম্নলিখিত উপায়ে অ্যাক্সেস করা যাবে:

Brain.Screen

নোট#

  • screen অবজেক্টটি মস্তিষ্ক দ্বারা সরবরাহ করা হয়। এটি সরাসরি নির্মিত হয় না।

  • প্রজেক্টগুলো একটিমাত্র গ্লোবাল Brain ব্যবহার করে, তাই স্ক্রিন ফাংশনগুলো Brain.Screen

উদাহরণ#

/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */

// Create the Brain
brain Brain = brain();

// Print text to the Brain screen
Brain.Screen.print("Hello!");

সদস্যদের কার্যাবলী#

screen ক্লাসে নিম্নলিখিত মেম্বার ফাংশনগুলো অন্তর্ভুক্ত রয়েছে:

  • print — ব্রেইন স্ক্রিনে ফরম্যাট করা টেক্সট, সংখ্যা, অথবা বুলিয়ান মান প্রিন্ট করে।

  • setCursor — টেক্সট কার্সারকে একটি নির্দিষ্ট সারি এবং কলামে নিয়ে যায়।

  • newLine — বর্তমান লাইনের বাকি অংশ মুছে দেয় এবং কার্সারকে পরবর্তী লাইনে নিয়ে যায়।

  • clearLine — বর্তমান লাইনের বাকি অংশ অথবা নির্দিষ্ট লাইন মুছে দেয়।

  • row — যে সারিতে লেখাটি প্রিন্ট করা হবে তা ফেরত দেয়।

  • column — যে কলামে লেখাটি প্রিন্ট করা হবে তা ফেরত দেয়।

  • getStringHeight — বর্তমান ফন্ট ব্যবহার করে একটি স্ট্রিংয়ের উচ্চতা পিক্সেলে ফেরত দেয়।

  • getStringWidth — বর্তমান ফন্ট ব্যবহার করে একটি স্ট্রিংয়ের প্রস্থ পিক্সেলে ফেরত দেয়।

  • printAt — একটি x, y পিক্সেল অবস্থানে ফরম্যাট করা টেক্সট প্রিন্ট করে (ঐচ্ছিকভাবে অস্বচ্ছ)।

  • clearScreen — সম্পূর্ণ স্ক্রিন পরিষ্কার করে (ঐচ্ছিকভাবে একটি নির্দিষ্ট রঙে)।

  • setFont — স্ক্রিনে প্রিন্ট করার জন্য ব্যবহৃত ফন্ট সেট করে।

  • setPenWidth — অঙ্কিত রেখা এবং আকৃতির রূপরেখার পুরুত্ব নির্ধারণ করে।

  • setPenColor — টেক্সট, পিক্সেল, লাইন এবং শেপের আউটলাইনের রঙ সেট করে।

  • setFillColor — অঙ্কিত আকার এবং মুদ্রিত লেখার পটভূমির জন্য পূরণের রঙ নির্ধারণ করে।

  • setOrigin — স্ক্রিন স্থানাঙ্কের জন্য ব্যবহৃত মূলবিন্দু নির্ধারণ করে।

  • setClipRegion — স্ক্রিনের আউটপুট একটি আয়তক্ষেত্রাকার অঞ্চলে সীমাবদ্ধ করে।

  • drawPixel — একটি স্থানাঙ্কে একটি পিক্সেল আঁকে।

  • drawLine — দুটি বিন্দুর মধ্যে একটি রেখা আঁকে।

  • drawRectangle — একটি x, y অবস্থানে নির্দিষ্ট আকারের একটি আয়তক্ষেত্র আঁকে।

  • drawCircle — একটি x, y অবস্থানে নির্দিষ্ট ব্যাসার্ধ সহ একটি বৃত্ত আঁকে।

  • render — ডাবল বাফারিং সক্ষম করে অথবা ব্যাক বাফারকে স্ক্রিনে রেন্ডার করে।

যেকোনো screen মেম্বার ফাংশন কল করার আগে, নিচে দেখানো অনুযায়ী একটি brain ইনস্ট্যান্স তৈরি করতে হবে:

// Create the Brain
brain Brain = brain();

print#

IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনে টেক্সট, সংখ্যা বা বুলিয়ান মান প্রদর্শন করে।

Available Functions

1 — স্ট্রিং লিটারেল অথবা রিড-অনলি সি-স্টাইল স্ট্রিং ব্যবহার করে ফরম্যাট করা টেক্সট প্রিন্ট করে।

void print(
    const char* format,
    ... );

2 — পরিবর্তনযোগ্য ক্যারেক্টার অ্যারে ব্যবহার করে ফরম্যাট করা টেক্সট প্রিন্ট করে।

void print(
    char* format,
    ... );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

format

const char*

একটি ফরম্যাট স্ট্রিং যা স্ট্রিং লিটারেল অথবা রিড-অনলি সি-স্টাইল স্ট্রিং হিসেবে প্রদান করা হয় (উদাহরণস্বরূপ, “Score: %d”)।

format

char*

একটি ফরম্যাট স্ট্রিং যা একটি পরিবর্তনযোগ্য ক্যারেক্টার অ্যারে হিসাবে প্রদান করা হয়।

…

ফরম্যাট স্ট্রিং-এ কমা দ্বারা পৃথক করে এক বা একাধিক অতিরিক্ত মান যোগ করা হয়।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • Output begins at the current cursor position on the screen.

  • মুদ্রিত টেক্সটে বর্তমান স্ক্রিন ফন্ট ব্যবহৃত হয়

  • মুদ্রিত লেখায় বর্তমান কলমের রঙ এবং ব্যবহৃত হয়।

  • প্রিন্ট print দিয়ে প্রিন্ট করা টেক্সট সর্বদা একটি ব্যাকগ্রাউন্ড সহ প্রিন্ট করা হয়, এবং ব্যাকগ্রাউন্ডের রঙ বর্তমান ফিল কালার দ্বারা নির্ধারিত হয়।

  • ফরম্যাট স্ট্রিং ব্যবহার করার সময়, পাস করা মানগুলির সংখ্যা এবং প্রকার অবশ্যই স্ট্রিং-এর ফরম্যাট স্পেসিফায়ার-এর সাথে মিলতে হবে।

Examples
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

setCursor#

IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনের একটি নির্দিষ্ট সারি এবং কলামে কার্সার নিয়ে যায়। পরবর্তী print কলটি সেই অবস্থান থেকে প্রিন্ট করা শুরু করবে।

Available Functions
void setCursor(
  int32_t row, 
  int32_t col );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

row

int32_t

যে সারিতে কার্সারটি সরাতে হবে।

col

int32_t

যে কলামে কার্সারটি সরাতে হবে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • print ব্যবহার করার সময় পরবর্তী টেক্সট আউটপুট কোথা থেকে শুরু হবে তা প্রভাবিত করে।

  • সারি এবং কলামগুলি বর্তমানে সেট করা স্ক্রিন ফন্ট এর উপর ভিত্তি করে তৈরি করা হয়।

  • setCursor কল করলে তা শুধুমাত্র পরবর্তী টেক্সট আউটপুটের অবস্থানকে প্রভাবিত করে।

Examples
// Print at row 3 column 7
Brain.Screen.setCursor(3, 7);
Brain.Screen.print("VEXcode!");

প্রথম প্রজন্মের আইকিউ (IQ) মস্তিষ্কের স্ক্রিনে মাঝখানে "VEXcode!" লেখাটি দেখা যাচ্ছে।

newLine#

ব্রেইন স্ক্রিনে কার্সারকে পরবর্তী সারির শুরুতে নিয়ে যায়।

Available Functions
void newLine();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • কার্সরটি যদি কোনো বাক্যের মাঝখানে থাকে, তাহলে newLine পরবর্তী সারিতে যাওয়ার আগে কার্সরের পরের সারির বাকি অংশ মুছে ফেলবে।

  • newLineকল করার পর, কার্সরটি পরবর্তী লাইনের প্রথম কলামে অবস্থান করে।

  • setCursor ব্যবহার করে কার্সরের অবস্থান এবং সারির সংখ্যা সেট করা হয়।

Examples
// Display two lines of text
Brain.Screen.print("First message");
Brain.Screen.newLine();
Brain.Screen.print("Second message");

প্রথম প্রজন্মের আইকিউ (IQ) মস্তিষ্কের স্ক্রিনে “প্রথম বার্তা” এবং “দ্বিতীয় বার্তা” আলাদা লাইনে প্রদর্শিত হচ্ছে।

clearLine#

IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনের একটি সারি থেকে লেখা মুছে ফেলে।

Available Functions

1 — কার্সরের অবস্থান থেকে বর্তমান লাইনের বাকি অংশ মুছে দেয়।

void clearLine();

2 — বর্তমানে কনফিগার করা ফিল কালার ব্যবহার করে নির্দিষ্ট সারিটি মুছে ফেলে।

void clearLine(
    int number );

3 — পূর্বনির্ধারিত অথবা কাস্টম রঙ অবজেক্ট ব্যবহার করে নির্দিষ্ট সারিটি মুছে ফেলে।

void clearLine(
    int          number,
    const color& color );

4 — একটি হেক্সাডেসিমাল রঙের মান ব্যবহার করে নির্দিষ্ট সারিটি মুছে ফেলে।

void clearLine(
    int         number,
    const char* color );

5 — একটি হিউ ভ্যালু ব্যবহার করে নির্দিষ্ট সারিটি মুছে ফেলে।

void clearLine(
    int number,
    int hue );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

number

int

যে সারিটি পরিষ্কার করতে হবে তার নম্বর। সারির ক্রম 1 থেকে শুরু হয়।

color

const color&

একটি color অবজেক্ট ব্যবহার করে সারিটি পরিষ্কার করে। পূর্বনির্ধারিত রঙগুলির মধ্যে রয়েছে:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
এটি একটি কাস্টম রঙের অবজেক্ট ব্যবহার করতে পারে।

color

const char*

হেক্সাডেসিমাল রঙের মান ব্যবহার করে সারিটি পরিষ্কার করে (উদাহরণস্বরূপ, “#000000”)।

hue

int

কালার হুইলের বিভিন্ন ডিগ্রিকে 0–359রেঞ্জের মধ্যে একটি পূর্ণসংখ্যা হিউ ভ্যালু ব্যবহার করে সারিটি পরিষ্কার করে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • লাইন মুছে ফেললে কার্সরের বর্তমান অবস্থানের কোনো পরিবর্তন হয় না।

  • setCursor ব্যবহার করে কার্সরের অবস্থান এবং সারির সংখ্যা সেট করা হয়।

  • IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনটি একটি মনোক্রোম ডিসপ্লে, তাই স্ক্রিনে নির্দিষ্ট কিছু রঙ দেখা যাবে না।

Examples
// Display text on two rows
Brain.Screen.print("This text stays");
Brain.Screen.newLine();
Brain.Screen.print("This disappears");

// Wait 3 seconds before clearing row 2
wait(3, seconds);
Brain.Screen.clearLine(2);

row#

IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনে বর্তমান কার্সার সারির অবস্থান ফেরত দেয়।

Available Functions
int32_t row();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

যে সারিতে লেখাটি প্রিন্ট করা হবে, তা নির্দেশ করে এমন একটি int32_t রিটার্ন করে।

সারির সংখ্যা ১ থেকে শুরু হয়।

Notes
  • কার্সরের অবস্থান বর্তমান স্ক্রিন ফন্ট এর উপর ভিত্তি করে নির্ধারিত হয়

  • প্রত্যাবর্তিত মানটি নির্দেশ করে যে পরবর্তী মুদ্রিত আউটপুট কোথায় প্রদর্শিত হবে।

  • টেক্সট প্রিন্ট করা হলে অথবা setCursor কল করা হলে সারির মান পরিবর্তিত হয়।

Examples
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("row: ", Brain.Screen.row());

column#

IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনে যে কলামে লেখাটি প্রিন্ট করা হবে, তা ফেরত দেয়।

Available Functions
int32_t column();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

যে কলামে টেক্সট প্রিন্ট করা হবে, তা বোঝানোর জন্য একটি int32_t রিটার্ন করে।

কলামের সংখ্যা ১ থেকে শুরু হয়।

Notes
  • কার্সরের অবস্থান বর্তমান স্ক্রিন ফন্ট এর উপর ভিত্তি করে নির্ধারিত হয়

  • প্রত্যাবর্তিত মানটি নির্দেশ করে যে পরবর্তী মুদ্রিত আউটপুট কোথায় প্রদর্শিত হবে।

  • টেক্সট প্রিন্ট করা হলে অথবা setCursor কল করা হলে কলামের মান পরিবর্তিত হয়।

Examples
// Display the cursor's current column
Brain.Screen.print("column: ", Brain.Screen.column());

getStringHeight#

IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনে রেন্ডার করার সময় একটি স্ট্রিং-এর উচ্চতা পিক্সেলে ফেরত দেয়।

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

cstr

const char*

পরিমাপ করার জন্য টেক্সটটি একটি C-স্টাইল স্ট্রিং হিসাবে প্রদান করতে হবে (উদাহরণস্বরূপ, “Hello”)।

Return Values

ব্রেইন স্ক্রিনে রেন্ডার করার সময় স্ট্রিংটির উচ্চতা পিক্সেলে প্রকাশ করার জন্য একটি int32_t রিটার্ন করে।

Notes
  • ফেরত আসা উচ্চতা বর্তমানে নির্বাচিত স্ক্রিন ফন্ট এর উপর নির্ভর করে।

  • এই ফাংশনটি স্ট্রিংটিকে স্ক্রিনে না এঁকেই তার পরিমাপ করে।

  • ফেরত আসা উচ্চতাটি নির্দেশ করে যে স্ট্রিংটি প্রিন্ট করার সময় কেমন দেখাবে।

getStringWidth#

IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনে রেন্ডার করার সময় একটি স্ট্রিং-এর প্রস্থ পিক্সেলে ফেরত দেয়।

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

cstr

const char*

পরিমাপ করার জন্য টেক্সটটি একটি C-স্টাইল স্ট্রিং হিসাবে প্রদান করতে হবে (উদাহরণস্বরূপ, “Hello”)।

Return Values

ব্রেইন স্ক্রিনে রেন্ডার করার সময় স্ট্রিংটির প্রস্থ পিক্সেলে প্রকাশ করার জন্য একটি int32_t রিটার্ন করে।

Notes
  • ফেরত আসা প্রস্থ বর্তমানে নির্বাচিত স্ক্রিন ফন্ট উপর নির্ভর করে।

  • এই ফাংশনটি স্ট্রিংটিকে স্ক্রিনে না এঁকেই তার পরিমাপ করে।

  • ফেরত আসা প্রস্থটি নির্দেশ করে যে স্ট্রিংটি প্রিন্ট করার সময় কেমন দেখাবে।

printAt#

IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনের একটি নির্দিষ্ট স্থানাঙ্কে টেক্সট, সংখ্যা বা বুলিয়ান মান প্রিন্ট করে।

Available Functions

1 — নির্দিষ্ট পিক্সেল অবস্থানে ফরম্যাট করা আউটপুট প্রিন্ট করে।

void printAt(
    int32_t    x,
    int32_t    y,
    const char* format,
    ... );

2 — নির্দিষ্ট পিক্সেল অবস্থানে ফরম্যাট করা আউটপুট প্রিন্ট করে এবং টেক্সটের ব্যাকগ্রাউন্ড অস্বচ্ছ হবে নাকি স্বচ্ছ হবে তা নির্ধারণ করে।

void printAt(
    int32_t    x,
    int32_t    y,
    bool       bOpaque,
    const char* format,
    ... );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

x

int32_t

প্রিন্ট করার জন্য এক্স-অবস্থান, যা স্ক্রিন অরিজিনের সাপেক্ষে নির্ধারিত।

y

int32_t

স্ক্রিন অরিজিনের সাপেক্ষে প্রিন্ট করার y-অবস্থান।

bOpaque

bool

মুদ্রিত লেখাটি অস্বচ্ছভাবে নাকি স্বচ্ছভাবে আঁকা হবে তা নিয়ন্ত্রণ করে:

  • true — মুদ্রিত লেখার পটভূমি বর্তমান ফিল কালার ব্যবহার করে পূরণ করা হয়।
  • false — লেখাটি স্বচ্ছভাবে আঁকা হয় এবং পটভূমি পূরণ করা হয় না।

format

const char*

একটি ফরম্যাট স্ট্রিং যা স্ক্রিনে কী প্রিন্ট করা হবে তা নিয়ন্ত্রণ করে (উদাহরণস্বরূপ, “Score: %d”)।

…

ফরম্যাট স্ট্রিং-এ কমা দ্বারা পৃথক করে এক বা একাধিক অতিরিক্ত মান যোগ করা হয়।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • x এবং y স্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যা setOrigin ব্যবহার করে পরিবর্তন করা যেতে পারে।

  • মুদ্রিত টেক্সটে বর্তমান স্ক্রিন ফন্ট ব্যবহৃত হয়

  • মুদ্রিত লেখায় বর্তমান কলমের রঙ এবং ব্যবহৃত হয়।

  • ফরম্যাট স্ট্রিং ব্যবহার করার সময়, পাস করা মানগুলির সংখ্যা এবং প্রকার অবশ্যই স্ট্রিং-এর ফরম্যাট স্পেসিফায়ার-এর সাথে মিলতে হবে।

Examples
// Print the number 1 at pixel (100, 40)
Brain.Screen.printAt(100, 40, 1);

clearScreen#

ব্রেইনের স্ক্রিন থেকে সমস্ত অঙ্কন ও লেখা মুছে দেয়।

Available Functions

1 — স্ক্রিনকে সম্পূর্ণ কালো করে দেয়।

void clearScreen();

2 — পূর্বনির্ধারিত বা কাস্টম রঙ অবজেক্ট ব্যবহার করে স্ক্রিন পরিষ্কার করে।

void clearScreen(
    const color& color );

3 — হেক্সাডেসিমাল রঙের মান ব্যবহার করে স্ক্রিন পরিষ্কার করে।

void clearScreen(
    const char* color );

4 — একটি হিউ ভ্যালু ব্যবহার করে স্ক্রিন পরিষ্কার করে।

void clearScreen(
    int hue );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

color

const color&

একটি color অবজেক্ট ব্যবহার করে স্ক্রিন পরিষ্কার করে। পূর্বনির্ধারিত রঙগুলির মধ্যে রয়েছে:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
এটি একটি কাস্টম রঙের অবজেক্ট ব্যবহার করতে পারে।

color

const char*

একটি স্ট্রিং হিসাবে উপস্থাপিত হেক্সাডেসিমাল রঙের মান ব্যবহার করে স্ক্রিন পরিষ্কার করে (উদাহরণস্বরূপ, “#000000”)।

hue

int

কালার হুইলের বিভিন্ন ডিগ্রিকে 0–359পরিসরের মধ্যে একটি পূর্ণসংখ্যা হিউ (hue) মান ব্যবহার করে স্ক্রিনটি পরিষ্কার করে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনটি একটি মনোক্রোম ডিসপ্লে, তাই স্ক্রিনে নির্দিষ্ট কিছু রঙ দেখা যাবে না।

Examples
// Clear screen after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen();


// Clear screen to blue after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen(red);

setFont#

IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনে প্রদর্শিত টেক্সটের জন্য ব্যবহৃত ফন্ট নির্ধারণ করে।

এটি print এর মতো স্ক্রিন টেক্সট ফাংশন ব্যবহার করার সময় পরবর্তী টেক্সট আউটপুটে প্রয়োগ করা ফন্ট নিয়ন্ত্রণ করে।

Available Functions
void setFont(
  fontType font );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

font

fontType

ফন্টটি নিম্নলিখিতগুলির মধ্যে একটিতে সেট করে:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
এই বিকল্পগুলি নীচে দেখানো হলো।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Examples
// Display two different fonts on
// two separate lines
Brain.Screen.setFont(mono20);
Brain.Screen.print("Mono Medium");
Brain.Screen.newLine();
Brain.Screen.setFont(prop20);
Brain.Screen.print("Prop Medium");

setPenWidth#

অঙ্কিত রেখা এবং আকৃতির রূপরেখার পুরুত্ব নির্ধারণ করে।

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

width

uint32_t

কলমের প্রস্থ, পিক্সেলে, ০ থেকে ৩২ পর্যন্ত।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • কলমের প্রস্থ drawLine, drawRectangle, এবং drawCircle এর মতো অঙ্কন ফাংশনগুলিতে প্রযোজ্য।

Examples
// Draw a circle with a pen width of 5
Brain.Screen.drawCircle(40, 70, 20);
Brain.Screen.setPenWidth(5);
Brain.Screen.drawCircle(100, 70, 20);

setPenColor#

টেক্সট, পিক্সেল, লাইন এবং শেপের আউটলাইনের রঙ নির্ধারণ করে।

Available Functions

1 — পূর্বনির্ধারিত অথবা কাস্টম রঙ অবজেক্ট ব্যবহার করে কলমের রঙ সেট করে।

void setPenColor(
    const color& color );

2 — হেক্সাডেসিমাল রঙের মান ব্যবহার করে কলমের রঙ নির্ধারণ করে।

void setPenColor(
    const char* color );

3 — হিউ ভ্যালু ব্যবহার করে পেনের রঙ নির্ধারণ করে।

void setPenColor(
    int hue );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

color

const color&

Sets the pen color using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent

color

const char*

একটি স্ট্রিং হিসাবে উপস্থাপিত হেক্সাডেসিমাল রঙের মান ব্যবহার করে কলমের রঙ সেট করে (উদাহরণস্বরূপ, “#FF0000”)।

hue

int

0থেকে0পর্যন্ত পরিসরের একটি পূর্ণসংখ্যা হিউ (hue) মান ব্যবহার করে পেনের রঙ নির্ধারণ করে, যা একটি কালার হুইলের বিভিন্ন পর্যায়কে নির্দেশ করে (উদাহরণস্বরূপ, 359 হলো লাল, 120 হলো সবুজ এবং 240 হলো নীল)।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনটি একটি মনোক্রোম ডিসপ্লে, তাই স্ক্রিনে নির্দিষ্ট কিছু রঙ দেখা যাবে না।

Examples
Brain.Screen.drawRectangle(100, 50, 10, 20);
Brain.Screen.setPenColor(blue);
Brain.Screen.drawRectangle(50, 50, 10, 20);

setFillColor#

আকৃতি আঁকার সময় ব্যবহৃত ফিল কালার নির্ধারণ করে।

Available Functions

1 — পূর্বনির্ধারিত অথবা কাস্টম কালার অবজেক্ট ব্যবহার করে ফিল কালার সেট করে।

void setFillColor(
    const color& color );

2 — হেক্সাডেসিমাল রঙের মান ব্যবহার করে ফিল কালার নির্ধারণ করে।

void setFillColor(
    const char* color );

3 — হিউ ভ্যালু ব্যবহার করে ফিল কালার নির্ধারণ করে।

void setFillColor(
    int hue );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

color

const color&

Sets the fill color using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent

color

const char*

একটি স্ট্রিং হিসাবে উপস্থাপিত হেক্সাডেসিমাল রঙের মান ব্যবহার করে ফিল কালার সেট করে (উদাহরণস্বরূপ, “#00FF00”)।

hue

int

0থেকে0পর্যন্ত পরিসরের একটি পূর্ণসংখ্যা হিউ (hue) মান ব্যবহার করে ফিল কালার সেট করে, যা একটি কালার হুইলের বিভিন্ন ডিগ্রিকে বোঝায় (উদাহরণস্বরূপ, 359 হলো লাল, 120 হলো সবুজ এবং 240 হলো নীল)।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনটি একটি মনোক্রোম ডিসপ্লে, তাই স্ক্রিনে নির্দিষ্ট কিছু রঙ দেখা যাবে না।

Examples
// Draw a circle filled with yellow
Brain.Screen.setFillColor(yellow);
Brain.Screen.drawCircle(50, 50, 20);

setOrigin#

ব্রেইনের স্ক্রিনে গ্রাফিক্স আঁকার জন্য ব্যবহৃত মূলবিন্দু নির্ধারণ করে।

Available Functions
void setOrigin(
  int32_t x,
  int32_t y );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

x

int32_t

মস্তিষ্কের স্ক্রিনের উপরের বাম কোণার সাপেক্ষে মূলবিন্দুর x-অবস্থান ০ থেকে ১৫৯ পর্যন্ত।

y

int32_t

মস্তিষ্কের স্ক্রিনের উপরের বাম কোণার সাপেক্ষে মূলবিন্দুর y-অবস্থান ০ থেকে ১০৭ পর্যন্ত।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • ডিফল্ট মূলবিন্দু হল স্ক্রিনের উপরের-বাম কোণ, স্থানাঙ্ক (0, 0)।

  • drawLine, drawRectangle, drawCircle, এবং printAt এর মতো স্থানাঙ্ক ফাংশনগুলিতে মূলবিন্দু প্রযোজ্য।

  • পুনরায় পরিবর্তন না করা পর্যন্ত বা প্রকল্পটি রিসেট না করা পর্যন্ত মূল মানটি কার্যকর থাকবে।

setClipRegion#

স্ক্রিনে একটি আয়তাকার এলাকা নির্ধারণ করে, যেখানে সমস্ত অঙ্কন এবং লেখা সীমাবদ্ধ থাকবে। এই অঞ্চলের বাইরের কোনো বিষয়বস্তু প্রদর্শিত হবে না।

Available Functions
void setClipRegion(
  int x,
  int y,
  int width,
  int height );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

x

int

ক্লিপ অঞ্চলের উপরের-বাম কোণার x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

y

int

ক্লিপ অঞ্চলের উপরের বাম কোণার y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

width

int

ক্লিপ অঞ্চলের প্রস্থ পিক্সেলে, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

height

int

ক্লিপ অঞ্চলের উচ্চতা পিক্সেলে, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • ড্রয়িং ফাংশনগুলো ক্লিপ অঞ্চলের বাইরে থাকলেও সম্পাদিত হয়, কিন্তু শুধুমাত্র অঞ্চলের ভেতরের অংশটুকুই দৃশ্যমান থাকে।

  • x এবং y স্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যা setOrigin ব্যবহার করে পরিবর্তন করা যেতে পারে।

  • ক্লিপ অঞ্চলটি শুধুমাত্র বর্তমান থ্রেডের জন্য প্রযোজ্য।

  • একটি নতুন ক্লিপ অঞ্চল সেট করলে তা বর্তমান থ্রেডের জন্য পূর্বে সেট করা যেকোনো ক্লিপ অঞ্চলকে প্রতিস্থাপন করে।

Examples
// Restrict text and drawings to a specific region
Brain.Screen.setClipRegion(0, 0, 120, 120);
Brain.Screen.drawRectangle(60, 60, 100, 100, red);
Brain.Screen.printAt(60, 60, "Cut off!");

drawPixel#

IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনের নির্দিষ্ট x এবং y পিক্সেল অবস্থানে একটি একক পিক্সেল অঙ্কন করে।

Available Functions
void drawPixel(
  int x,
  int y );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

x

int

যে x-স্থানাঙ্কে পিক্সেলটি আঁকা হবে, তা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে।

y

int

যে y-স্থানাঙ্কে পিক্সেলটি আঁকা হবে, তা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনটি একটি মনোক্রোম ডিসপ্লে, তাই স্ক্রিনে নির্দিষ্ট কিছু রঙ দেখা যাবে না।

  • x এবং y স্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যা setOrigin ব্যবহার করে সেট করা যেতে পারে।

  • নির্দিষ্ট পিক্সেল অবস্থানটি স্ক্রিনের সীমার বাইরে হলে, পিক্সেলটি আঁকা হয় না।

Examples
// Draw one pixel at the center 
// of the screen
Brain.Screen.drawPixel(80, 50);

drawLine#

আইকিউ (১ম প্রজন্ম) ব্রেইন স্ক্রিনে দুটি বিন্দুকে সংযুক্ত করে একটি সরলরেখা আঁকে।

Available Functions
void drawLine(
  int x1,
  int y1,
  int x2,
  int y2 );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

x1

int

রেখাটির শুরুর x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে।

y1

int

রেখাটির শুরুর y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

x2

int

রেখাটির শেষ x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

y2

int

রেখাটির শেষ y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনটি একটি মনোক্রোম ডিসপ্লে, তাই স্ক্রিনে নির্দিষ্ট কিছু রঙ দেখা যাবে না।

  • লাইনের প্রস্থ setPenWidth দিয়ে সেট করা বর্তমান পেনের প্রস্থ দ্বারা নির্ধারিত হয়।

  • x এবং y স্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যা setOrigin ব্যবহার করে সেট করা যেতে পারে।

  • রেখার কোনো অংশ যদি স্ক্রিনের সীমার বাইরে থাকে, তবে কেবল দৃশ্যমান অংশটিই আঁকা হয়।

Examples
// Draw a line from the top left to 
// bottom right of the screen
Brain.Screen.drawLine(0, 0, 159, 107);

drawRectangle#

IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনে নির্দিষ্ট অবস্থান ও আকারে একটি আয়তক্ষেত্র অঙ্কন করে।

Available Functions

1 — বর্তমানে কনফিগার করা ফিল কালার ব্যবহার করে একটি আয়তক্ষেত্র আঁকে এবং পূরণ করে।

void drawRectangle(
    int x,
    int y,
    int width,
    int height );

2 — পূর্বনির্ধারিত অথবা কাস্টম রঙ অবজেক্ট ব্যবহার করে একটি আয়তক্ষেত্র অঙ্কন ও পূরণ করে।

void drawRectangle(
    int           x,
    int           y,
    int           width,
    int           height,
    const color&  color );

3 — হেক্সাডেসিমাল রঙের মান ব্যবহার করে একটি আয়তক্ষেত্র আঁকে এবং পূরণ করে।

void drawRectangle(
    int           x,
    int           y,
    int           width,
    int           height,
    const char*   color );

4 — একটি হিউ ভ্যালু ব্যবহার করে একটি আয়তক্ষেত্র অঙ্কন ও পূরণ করে।

void drawRectangle(
    int x,
    int y,
    int width,
    int height,
    int hue );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

x

int

আয়তক্ষেত্রটির উপরের-বাম কোণার x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

y

int

আয়তক্ষেত্রটির উপরের-বাম কোণার y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

width

int

আয়তক্ষেত্রটির প্রস্থ, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

height

int

আয়তক্ষেত্রটির উচ্চতা, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হবে।

color

const color&

একটি color অবজেক্ট ব্যবহার করে আয়তক্ষেত্রটি পূরণ করে। পূর্বনির্ধারিত রঙগুলির মধ্যে রয়েছে:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
এটি একটি কাস্টম রঙের অবজেক্ট ব্যবহার করতে পারে।

color

const char*

একটি হেক্সাডেসিমাল রঙের মান ব্যবহার করে আয়তক্ষেত্রটি পূরণ করে (উদাহরণস্বরূপ, “#FF0000”)।

hue

int

0–359 পরিসরের একটি হিউ মান ব্যবহার করে আয়তক্ষেত্রটি পূরণ করে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনটি একটি মনোক্রোম ডিসপ্লে, তাই স্ক্রিনে নির্দিষ্ট কিছু রঙ দেখা যাবে না।

  • setPenWidth দিয়ে সেট করা বর্তমান পেনের প্রস্থ দ্বারা আউটলাইনের পুরুত্ব নির্ধারণ করা হয়।

  • x এবং y স্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যা setOrigin ব্যবহার করে পরিবর্তন করা যেতে পারে।

  • যদি আয়তক্ষেত্রটির কোনো অংশ স্ক্রিনের সীমার বাইরে থাকে, তবে কেবল দৃশ্যমান অংশটিই আঁকা হয়।

Examples
// Draw a red rectangle on the screen
Brain.Screen.drawRectangle(25, 25, 100, 50, red);

drawCircle#

IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনে নির্দিষ্ট অবস্থান ও ব্যাসার্ধে একটি বৃত্ত অঙ্কন করে।

Available Functions

1 — বর্তমানে কনফিগার করা ফিল কালার ব্যবহার করে একটি বৃত্ত আঁকে এবং পূরণ করে।

void drawCircle(
    int x,
    int y,
    int radius );

2 — পূর্বনির্ধারিত বা কাস্টম রঙ অবজেক্ট ব্যবহার করে একটি বৃত্ত আঁকে এবং পূরণ করে।

void drawCircle(
    int           x,
    int           y,
    int           radius,
    const color&  color );

3 — হেক্সাডেসিমাল রঙের মান ব্যবহার করে একটি বৃত্ত আঁকে এবং পূরণ করে।

void drawCircle(
    int           x,
    int           y,
    int           radius,
    const char*   color );

4 — একটি হিউ ভ্যালু ব্যবহার করে একটি বৃত্ত আঁকে এবং পূরণ করে।

void drawCircle(
    int x,
    int y,
    int radius,
    int hue );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

x

int

বৃত্তের কেন্দ্রের x-স্থানাঙ্ক, যা ০ থেকে ১৫৯ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

y

int

বৃত্তের কেন্দ্রের y-স্থানাঙ্ক, যা ০ থেকে ১০৭ পর্যন্ত একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

radius

int

বৃত্তটির ব্যাসার্ধ, যা ০ থেকে ১০৭ পিক্সেলের মধ্যে একটি পূর্ণসংখ্যা হিসেবে দেওয়া হয়।

color

const color&

একটি color অবজেক্ট ব্যবহার করে বৃত্তটি পূরণ করে। পূর্বনির্ধারিত রঙগুলির মধ্যে রয়েছে:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
এটি একটি কাস্টম রঙের অবজেক্ট ব্যবহার করতে পারে।

color

const char*

হেক্সাডেসিমাল রঙের মান ব্যবহার করে বৃত্তটি পূরণ করে (উদাহরণস্বরূপ, “#FF0000”)।

hue

int

0–359 পরিসরের একটি হিউ মান ব্যবহার করে বৃত্তটি পূরণ করে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • IQ (১ম প্রজন্ম) ব্রেইন স্ক্রিনটি একটি মনোক্রোম ডিসপ্লে, তাই স্ক্রিনে নির্দিষ্ট কিছু রঙ দেখা যাবে না।

  • setPenWidth দিয়ে সেট করা বর্তমান পেনের প্রস্থ দ্বারা আউটলাইনের পুরুত্ব নির্ধারণ করা হয়।

  • x এবং y স্থানাঙ্কগুলি বর্তমান স্ক্রিন মূলবিন্দুর সাপেক্ষে, যা setOrigin ব্যবহার করে পরিবর্তন করা যেতে পারে।

Examples
// Draw a green circle on the screen
Brain.Screen.drawCircle(80, 50, 20, green);

render#

ব্রেইনের স্ক্রিনের জন্য ডাবল বাফারিং সক্ষম করে। একবার কল করা হলে, যেকোনো ড্রয়িং ফাংশন (যেমন টেক্সট বা শেপ) প্রোজেক্টের বাকি অংশের জন্য আর সঙ্গে সঙ্গে দেখা যাবে না। পরিবর্তে, আপডেটগুলো কেবল তখনই দেখানো হবে যখন render আবার ব্যবহার করা হবে। এটি আরও মসৃণ এবং নিয়ন্ত্রিত স্ক্রিন আপডেটের সুযোগ করে দেয়, কিন্তু এর মানে হলো render ব্যবহার না করা পর্যন্ত কিছুই দেখা যাবে না।

Available Functions

1 — ডাবল বাফারিং সক্ষম করে অথবা ব্যাক বাফারকে স্ক্রিনে রেন্ডার করে।

bool render();

2 — ভার্টিকাল সিঙ্ক আচরণ নিয়ন্ত্রণ এবং ঐচ্ছিক শিডিউলার নির্বাহের সুবিধা সহ ব্যাক বাফারকে স্ক্রিনে রেন্ডার করে।

bool render(
    bool bVsyncWait,
    bool bRunScheduler = true );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

bVsyncWait

bool

​

  • true — ভিজ্যুয়াল টিয়ারিং কমাতে রেন্ডারিং করার আগে স্ক্রিনের ভার্টিকাল রিফ্রেশের জন্য অপেক্ষা করুন।
  • false — রেন্ডারিং করার আগে স্ক্রিনের ভার্টিকাল রিফ্রেশের জন্য অপেক্ষা করবেন না।

bRunScheduler

bool

ঐচ্ছিক।

  • true (ডিফল্ট) — রেন্ডার করার জন্য অপেক্ষা করার সময় ব্যাকগ্রাউন্ড টাস্ক চলার অনুমতি দিন।
  • false — রেন্ডার করার জন্য অপেক্ষা করার সময় ব্যাকগ্রাউন্ড টাস্ক চলার অনুমতি দেবেন না।

Return Values

বাফারে সংরক্ষিত ড্রয়িংগুলো স্ক্রিনে সফলভাবে রেন্ডার করা হয়েছে কিনা তা নির্দেশ করে একটি বুলিয়ান মান রিটার্ন করে:

  • true — ড্রয়িংগুলো স্ক্রিনে সফলভাবে রেন্ডার করা হয়েছে।
  • false — ড্রয়িংগুলো স্ক্রিনে রেন্ডার করা যায়নি।
  • Notes
    • render কল করলে, প্রোজেক্টের বাকি অংশের জন্য render ব্যবহার করতে হবে।

    Examples
    Brain.Screen.render();
    
    // Draw text to the back buffer
    Brain.Screen.print("Render later...");
    
    // Wait for a screen press to render drawings
    while (!Brain.Screen.pressing()) {
      wait(20, msec);
    }
    Brain.Screen.render();