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

js ‫لوحة‬ ‫الشطرنج‬

Ayman Naser2

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...