freeCodeCamp/guide/arabic/certifications/javascript-algorithms-and-d.../basic-javascript/golf-code/index.md

6.4 KiB

title localeTitle
Golf Code كود الجولف

:triangular_flag_on_post: تذكر استخدام Read-Search-Ask إذا واجهتك مشكلة. حاول إقران البرنامج :busts_in_silhouette: واكتب الكود الخاص بك :pencil:

:checkered_flag: شرح المشكلة:

في لعبة الجولف كل حفرة لها قيمة اسمية تعني متوسط ​​عدد ضربات لاعب الجولف من المتوقع أن تغرق الكرة في حفرة لاستكمال اللعب. اعتمادا على مدى أعلى أو أقل من السعر الأصلي السكتات الدماغية الخاصة بك، وهناك لقب آخر.

سيتم تمرير الدالة قدم المساواة والسكتات الدماغية الحجج. يجب عليك إرجاع السلسلة الصحيحة وفقًا لهذا الجدول الذي يسرد الحدود بترتيب الأولوية؛ أعلى (أعلى) إلى أسفل (أدنى):

السكتات الدماغية إرجاع
--------- | : -------------
1 | "حفرة واحدة!"
<= par - 2 | "نسر"
par - 1 | "بيردي"
par | "الاسمية"
par + 1 | "شبح"
par + 2 | "بوجيه مزدوج" > = par + 3 | "اذهب للمنزل!"

سوف يكون الاسمية والسكتات الدماغية دومًا رقمية وإيجابية.

  • تغيير الرمز أدناه // Only change code below this line وما فوق // Only change code above this line .
  • تأكد من أنك تقوم بتحرير داخل وظيفة golfScore .
  • سيكون عليك جعل الدالة تقوم بإرجاع نفس السلسلة بالضبط كما هو موضح في الجدول ، بناءً على قيمة المعلمات par والحدود التي يتم تمريرها إلى وظيفتك.

:speech_balloon: تلميح: 1

+number -number يمكن استخدامه لزيادة أو تقليل معلمة في حالتك.

حاول أن تحل المشكلة الآن

:speech_balloon: تلميح: 2

يمكنك استخدام if / else if سلاسل لإرجاع قيم مختلفة في سيناريوهات مختلفة.

حاول أن تحل المشكلة الآن

:speech_balloon: تلميح: 3

تحكم في تدفق الدالة بناءً على ترتيب الجداول للأولوية - أعلى (أعلى) إلى أسفل (أدنى) لإرجاع قيم السلسلة المطابقة.

حاول أن تحل المشكلة الآن

تنبيه المفسد!

علامة تحذير

الحل في المستقبل!

:beginner: الحل الأساسي للكود:

function golfScore(par, strokes) { // Only change code below this line if (strokes == 1){ return "Hole-in-one!"; } else if (strokes <= par -2){ return "Eagle"; } else if (strokes == par -1) { return "Birdie"; } else if (strokes == par) { return "Par"; } else if (strokes == par +1) { return "Bogey"; } else if (strokes == par +2) { return "Double Bogey"; } else { return "Go Home!"; } // Only change code above this line } // Change these values to test golfScore(5, 4);

شرح الشفرة:

  • مقارنة قدم المساواة المعلمات والسكتات الدماغية لإرجاع القيم السلسلة المناسبة.
  • if / else if تم استخدام سلسلة للتحكم في التدفق.
  • السلسلة "Go Home!" يتم إرجاعها لكل حالة تكون فيها الحدود أكبر من أو تساوي par + 3 .

حل رمز بديل:

`var names = ["Hole-in-one!", "Eagle", "Birdie", "Par", "Bogey", "Double Bogey", "Go Home!"]; function golfScore(par, strokes) { // Only change code below this line if (strokes == 1){ return names[0]; } else if (strokes <= par-2){ return names[1]; } else if (strokes == par -1){ return names[2]; } else if (strokes == par){ return names[3]; } else if (strokes == par +1){ return names[4]; } else if (strokes == par +2){ return names[5]; } else {return names[6];} // Only change code above this line }

// Change these values to test golfScore(5, 4); `

· تشغيل في repl.it

## شرح الكود نظرًا لأن لدينا بالفعل صفيفًا محددًا في names المتغيرات ، فيمكننا الاستفادة منه واستخدامه في عبارات الإرجاع باستخدام الفهارس (على سبيل المثال: names[0] is the first one ). بهذه الطريقة ، إذا احتجت في أي وقت إلى تغيير نتيجة معينة فلن تحتاج إلى البحث عنها داخل الوظيفة ، فستكون في البداية ، في الصفيف الخاص بك.

مصادر