البرمجة

تحسين لعبة الشرب بجافا سكريبت: نصائح وتقنيات

في هذا الكود البسيط الخاص بلعبة الشرب بلغة الجافا سكريبت، يظهر أن هناك بعض الأخطاء في ترتيب وكتابة الشيفرة. سأقوم بتوضيح بعض النقاط التي يمكن تحسينها:

  1. الصياغة العامة للكود:

    • يجب عليك وضع الكود داخل وسم script في الجزء السفلي من الصفحة للتأكد من أن جميع العناصر في الصفحة قد تم تحميلها بشكل صحيح قبل تنفيذ الكود.
    • يُفضل أيضاً استخدام addEventListener للتفاعل مع الضغط على العنصر بدلاً من وضع الكود مباشرة في العنصر.
  2. أخطاء في الكود:

    • يوجد خطأ في السطر: document.getElementById("ppp".innerHTML = "have a shot each"; حيث أنه يجب إغلاق القوس الزائد بعد “ppp”.
    • في السطر: selector = 0; يفضل استبدال القيمة بـ selector = 3; لضمان عمل التبديل بشكل صحيح.
    • افتقدت وسم الفتح < في السطر: في نهاية الصفحة.
  3. التسميات والتعليقات:

    • يفضل إضافة تعليقات توضيحية للكود لجعله أكثر فهمًا للآخرين ولنفسك في المستقبل.
  4. تحسينات إضافية:

    • يمكنك اختصار الكود وتجنب تكرار النصوص بتعريف متغير لنص "have a shot" واستخدامه في كلتا القائمتين.
  5. الأمان:

    • يفضل استخدام "use strict" في بداية السكريبت لتحسين أمان الكود.

اليك الكود المعدل:

html
html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Hometitle> head> <body> <script> "use strict"; var boy = ["have a shot", "item 2", "item 3"]; var girl = ["have a shot", "item 2", "item 3"]; var selector = 1; function rbg() { var outcomeElement = document.getElementById("ppp"); if (selector === 1) { outcomeElement.innerHTML = boy[Math.floor(Math.random() * boy.length)]; selector = 3; } else if (selector === 2) { outcomeElement.innerHTML = girl[Math.floor(Math.random() * girl.length)]; selector = 3; } else { outcomeElement.innerHTML = "have a shot each"; selector = 1; } } // Add event listener for better practice document.getElementById("random").addEventListener("click", rbg); script> <div id="random">Randomdiv> <p id="ppp">outcomep> body> html>

يمكنك تجربة هذا الكود المعدل ويمكنك تكييفه بما يناسب احتياجات لعبتك.

المزيد من المعلومات

بالطبع، دعونا نوسع الموضوع بالحديث عن بعض النقاط الإضافية التي قد تساعدك في تحسين وتطوير لعبتك بلغة الجافا سكريبت:

تنظيف الشيفرة:

  • استخدام الدوال والتعليقات:
    يمكنك تنظيم الشيفرة أكثر باستخدام الدوال لتجميع الكود ذي الصلة معًا. أيضا، قم بإضافة تعليقات لشرح ما يقوم به كل قسم من الكود.
javascript
function getRandomOutcome() { // تحديد مصدر النصوص var source = (selector === 1) ? boy : girl; // اختيار نص عشوائي return source[Math.floor(Math.random() * source.length)]; }
  • التعامل مع الأخطاء:
    يمكنك إضافة تفتيش للتحقق من وجود عناصر في المصفوفات boy و girl قبل تشغيل اللعبة.
javascript
function startGame() { if (boy.length === 0 || girl.length === 0) { console.error("Empty arrays. Please fill the arrays with items."); return; } // بدء اللعبة // ... }

تحسين تجربة المستخدم:

  • تغيير لون النص:
    يمكنك جعل تجربة اللعبة أكثر تفاعلًا بتغيير لون النص عند ظهور النتيجة.
javascript
function updateOutcomeText(text) { var outcomeElement = document.getElementById("ppp"); outcomeElement.innerHTML = text; outcomeElement.style.color = getRandomColor(); } function getRandomColor() { // توليد لون عشوائي var letters = "0123456789ABCDEF"; var color = "#"; for (var i = 0; i < 6; i++) { color += letters[Math.floor(Math.random() * 16)]; } return color; }
  • إضافة صور أو رسومات:
    يمكنك تعزيز تجربة اللعبة بإضافة صور أو رسومات توضح النتيجة بشكل أفضل.
html
<img id="resultImage" src="placeholder.jpg" alt="Game Result" style="display: none;"> function updateOutcomeImage(source) { var imageElement = document.getElementById("resultImage"); imageElement.src = source; imageElement.style.display = "block"; }

التحسينات التقنية:

  • استخدام let و const:
    استخدم let للمتغيرات التي يمكن تغيير قيمتها واستخدم const لتعريف الثوابت.
javascript
const boy = ["have a shot", "item 2", "item 3"]; const girl = ["have a shot", "item 2", "item 3"]; let selector = 1;
  • استخدام مصفوفة واحدة:
    يمكنك تحسين هيكلة البيانات باستخدام مصفوفة واحدة تحتوي على كائنات تحتوي على معلومات اللاعبين.
javascript
const players = [ { gender: "boy", items: ["have a shot", "item 2", "item 3"] }, { gender: "girl", items: ["have a shot", "item 2", "item 3"] } ]; // للوصول إلى مصفوفة الفتى: players[0].items // للوصول إلى مصفوفة الفتاة: players[1].items

تلك هي بعض الأفكار التي يمكن تطبيقها لتحسين كود لعبتك وجعله أكثر تفاعلية وسهولة في الصيانة.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر