شاشة#

مقدمة#

تُشتق الفئة screen من الفئة الأساسية brain. وهي تتحكم في كيفية عرض دماغ IQ (الجيل الأول) للنصوص والقيم على شاشته المدمجة.

يدعم اختبار الذكاء (الجيل الأول) ما يصل إلى 5 صفوف و21 عمودًا من النصوص.

دماغ VEX IQ (الجيل الأول) مع شبكة مرقمة (الأعمدة من 1 إلى 21 والصفوف من 1 إلى 5). تُبرز الخطوط الحمراء بنية الشبكة، مع أسهم تُشير إلى العمود 1، والعمود 21، والصف 1، والصف 2، والصف 5. يعرض الصف الأول الأرقام من 1 إلى 21 في الأعلى.

وصول#

The screen class can be accessed by:

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#

يعرض النصوص أو الأرقام أو القيم المنطقية على شاشة اختبار الذكاء (الجيل الأول).

Available Functions

1 — يطبع النص المنسق باستخدام السلاسل النصية الحرفية أو السلاسل النصية للقراءة فقط على نمط لغة C.

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

2 — يطبع نصًا منسقًا باستخدام مصفوفات الأحرف القابلة للتعديل.

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

Parameters

المعلمة

يكتب

وصف

format

const char*

سلسلة تنسيق يتم توفيرها كسلسلة حرفية أو سلسلة للقراءة فقط على نمط لغة C (على سبيل المثال، “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#

يمسح النص من صف في اختبار الذكاء (الجيل الأول) للدماغ.

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&

Clears the row using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
This can also use a custom color object.

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#

يُعيد موضع صف المؤشر الحالي على شاشة اختبار الذكاء (الجيل الأول).

Available Functions
int32_t row();

Parameters

لا تقبل هذه الدالة أي معلمات.

Return Values

Returns an int32_t representing the row where text will be printed.

يبدأ ترقيم الصفوف من 1.

Notes
  • يعتمد موضع المؤشر على خط الشاشة الحالي .

  • تشير القيمة المُعادة إلى مكان ظهور الناتج المطبوع التالي.

  • تتغير قيمة الصف عند طباعة النص أو عند استدعاء setCursor.

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

column#

يُعيد هذا العمود الذي سيتم فيه طباعة النص على شاشة اختبار الذكاء (الجيل الأول).

Available Functions
int32_t column();

Parameters

لا تقبل هذه الدالة أي معلمات.

Return Values

Returns an int32_t representing the column where text will be printed.

يبدأ ترقيم الأعمدة من 1.

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*

The text to be measured, provided as a C-style string (for example, “Hello”).

Return Values

تُرجع هذه الدالة قيمة int32_t تمثل ارتفاع السلسلة بالبكسل عند عرضها على شاشة Brain.

Notes
  • يعتمد الارتفاع المُعاد على خط الشاشة المحدد حاليًا .

  • تقوم هذه الدالة بقياس السلسلة النصية دون رسمها على الشاشة.

  • يعكس الارتفاع المُعاد كيفية ظهور السلسلة عند طباعتها.

getStringWidth#

تُرجع هذه الدالة عرض السلسلة النصية بالبكسل عند عرضها على شاشة الدماغ IQ (الجيل الأول).

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

المعلمة

يكتب

وصف

cstr

const char*

The text to be measured, provided as a C-style string (for example, “Hello”).

Return Values

تُرجع هذه الدالة قيمة int32_t تمثل عرض السلسلة بالبكسل عند عرضها على شاشة Brain.

Notes
  • يعتمد العرض المُعاد على خط الشاشة المحدد حاليًا .

  • تقوم هذه الدالة بقياس السلسلة النصية دون رسمها على الشاشة.

  • يعكس العرض المُعاد كيفية ظهور السلسلة عند طباعتها.

printAt#

يطبع النصوص أو الأرقام أو القيم المنطقية عند إحداثيات محددة على شاشة اختبار الذكاء (الجيل الأول).

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

موضع الطباعة على المحور الصادي، نسبةً إلى نقطة الأصل على الشاشة.

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&

Clears the screen using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
This can also use a custom color object.

color

const char*

يقوم بمسح الشاشة باستخدام قيمة لون سداسية عشرية ممثلة كسلسلة نصية (على سبيل المثال، “#000000”).

hue

int

يقوم بمسح الشاشة باستخدام قيمة لونية صحيحة في النطاق 0–359، والتي تمثل درجات حول عجلة الألوان.

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
  • prop40prop40
  • prop60prop60
  • هذه الخيارات موضحة أدناه.

    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

    عرض القلم، بالبكسل، من 0 إلى 32.

    Return Values

    هذه الدالة لا تُرجع قيمة.

    Notes 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–359، والتي تمثل درجات حول عجلة الألوان (على سبيل المثال، 0 هو أحمر، 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–359، والتي تمثل درجات حول عجلة الألوان (على سبيل المثال، 0 هو أحمر، 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

    موضع نقطة الأصل على المحور السيني بالنسبة للزاوية العلوية اليسرى من شاشة الدماغ من 0 إلى 159.

    y

    int32_t

    موضع الأصل على المحور الصادي بالنسبة للزاوية العلوية اليسرى من شاشة الدماغ من 0 إلى 107.

    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 للزاوية العلوية اليسرى لمنطقة القص، معطاة كعدد صحيح من 0 إلى 159.

    y

    int

    إحداثيات y للزاوية العلوية اليسرى لمنطقة القص، معطاة كعدد صحيح من 0 إلى 107.

    width

    int

    عرض منطقة القص بالبكسل، معطاة كعدد صحيح من 0 إلى 159.

    height

    int

    ارتفاع منطقة القص بالبكسل، معطاة كعدد صحيح من 0 إلى 107.

    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 حيث سيتم رسم البكسل، معطاة كعدد صحيح من 0 إلى 159.

    y

    int

    إحداثي y حيث سيتم رسم البكسل، معطاة كعدد صحيح من 0 إلى 107.

    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

    إحداثي البداية للخط على المحور السيني، معطاة كعدد صحيح من 0 إلى 159.

    y1

    int

    إحداثي y الابتدائي للخط، معطاة كعدد صحيح من 0 إلى 107.

    x2

    int

    إحداثي س النهائي للخط، معطاة كعدد صحيح من 0 إلى 159.

    y2

    int

    إحداثي y النهائي للخط، معطاة كعدد صحيح من 0 إلى 107.

    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#

    يرسم مستطيلاً على شاشة الدماغ (الجيل الأول) في الموضع والحجم المحددين.

    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

    الإحداثي السيني للزاوية العلوية اليسرى للمستطيل، معطاة كعدد صحيح من 0 إلى 159.

    y

    int

    إحداثي y للزاوية العلوية اليسرى للمستطيل، معطاة كعدد صحيح من 0 إلى 107.

    width

    int

    عرض المستطيل، معبر عنه كعدد صحيح من 0 إلى 159.

    height

    int

    ارتفاع المستطيل، معبراً عنه كعدد صحيح من 0 إلى 107.

    color

    const color&

    Fills the rectangle using a color object. Predefined colors include:

    • black
    • white
    • red
    • green
    • blue
    • yellow
    • orange
    • purple
    • cyan
    • transparent
    This can also use a custom color object.

    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#

    يرسم دائرة على شاشة اختبار الذكاء (الجيل الأول) في الموضع ونصف القطر المحددين.

    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

    الإحداثي السيني لمركز الدائرة، معطاة كعدد صحيح من 0 إلى 159.

    y

    int

    إحداثي y لمركز الدائرة، معطاة كعدد صحيح من 0 إلى 107.

    radius

    int

    نصف قطر الدائرة، معطاة كعدد صحيح من 0 إلى 107 بكسل.

    color

    const color&

    Fills the circle using a color object. Predefined colors include:

    • black
    • white
    • red
    • green
    • blue
    • yellow
    • orange
    • purple
    • cyan
    • transparent
    This can also use a custom color object.

    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();