اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر
بتاريخ 52 دقائق مضت قال Ayman Naser2:
let size = 8;

let board = "";

for (let y = 0; y < size; y++) {
  for (let x = 0; x < size; x++) {
    if ((x + y) % 2 == 0) {
      board += " ";
    } else {
      board += "*";
    }
  }
  board += "\n";
}

console.log(board); 

عايز افمها بالتفصيل وشكرا 

لماذا لا يوجد رد

???

 

  • 0
نشر

وظيفة هذا الكود هي طباعة رقعة الشطرنج, كما نعلم أن رقعة الشطرنج مكونة من لونين هما الأبيض و الأسود و سيتم التعبير عنهما هنا برمزين
الرمز الأول هو الفراغ و الرمزالثاني هو النجمة, وكما نعلم أن الألوان على الرقعة تكون متناوبة أي أبيض و بعده أسود ثم أبيض و بعده أسود و هكذا في كل صف و عمود, لذا علينا أن نجد طريقة لجعل هذين الرمزين متناوبين أيضاً , وهذه الطريقة هي بالاعتماد على إحداثيات المربع, أي إذا كان مجموع الإحداثيات فردي فهذا يعني أننا سنضع هنا الرمز الأول و إذا كان زوجي فهذا يعني أننا سنضع الرمز الثاني, وهكذا ستكون الرموز متناوبة على الرقعة.

let size = 8;
let board = "";

size  هي بعد الرقعة و هي تتكون من 8 أسطر و 8 أعمدة
board هو المتحول الذي سنخزن فيه الرقعة

for (let y = 0; y < size; y++) {

هذه الحلقة للمرور على الأسطر

for (let x = 0; x < size; x++) {

و هذه الحلقة للمرور على الأعمدة

if ((x + y) % 2 == 0) {
  board += " ";
} else {
  board += "*";
}

الشرط يستخدم لتحديد إذا كان مجموع إحداثيات العمود والصف زوجيًا أم فرديًا.

إذا كان زوجيًا، تضاف مسافة إلى board.

إذا كان فرديًا، تضاف نجمة (*) إلى board.

board += "\n";

هذه التعليمة تقوم بإضافة سطر للسلسلة النصية بعد انتهاء كل صف

console.log(board);

و هنا نقوم بطباعة الرقعة

و في النهاية ستظهر هذه النتيجة
 

* * * * 
* * * * *
 * * * * 
* * * * *
 * * * * 
* * * * *
 * * * * 
* * * * *

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...