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

السؤال

نشر (معدل)

سلام ادا اردت في الحلقات ادا اردت ان اطبع اوجه النرد وهي 6

فمثلا عندما ارمي القطعة يبين لي مايلي

الوجه الدي فيه وعدد المرات الدي ضهر فيه الوجه

ScreenShot_20220304184729.png

تم التعديل في بواسطة Hassan Hedr
توضيح العنوان

Recommended Posts

  • 0
نشر

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

$occurrences = [
  1 => 1,
  2 => 0,
  3 => 1,
  4 => 0,
  5 => 2,
  6 => 1
];

نمر على الأوجه الستة باستخدام حلقة for وطباعة جملة تحوي اسم الوجه الحالي مع مرات ظهوره يتم استخراجها من المصفوفة السابقة كالتالي: 

for($i = 1; $i <= 6; $i++){
 echo $i.' occurred '.$occurrences[$i];                
}

 

  • 1
نشر

لتنفيذ الفكرة تحتاج إلى حلقتين، حلقة لتخزين عدد الظهور و حلقة لعرض النتائج، يُمكنك إستخدام الدالة array_fill لملء مصفوفة بقيمة إبتدائية بهذا الشكل:

$face_of_roll = array_fill(1, 6, 0);
echo "<pre>";
print_r($face_of_roll);
echo "</pre>";

ناتج أعلاه سيكون:

Array
(
    [1] => 0
    [2] => 0
    [3] => 0
    [4] => 0
    [5] => 0
    [6] => 0
)

أي أن عدد ظهور كل وجه هو 0

بعد ذلك قم بتعريف متغير يحمل قيمة عدد الرميات:

$number_of_throws = 5;

ثم عمل حلقة عدد دوراتها هو قيمة متغير عدد الرميات و من أجل كل دورة تستخدم الدالة rand لجلب عدد عشوائي بين 1 و 6 و تستخدم العدد الذي تُرجعه كفهرس لتُضيف واحد إلى عدد مرات الظهور:

$number_of_throws = 5;
for($i = 0; $i < $number_of_throws; $i++) {
    $x = rand(1, 6);
    $face_of_roll[$x]++;
}

ثم تعرض النتائج من خلال الحلقة الثانية:

for($i = 1; $i <= count($face_of_roll); $i++) {
    echo "{$i} occurred {$face_of_roll[$i]}<br>";
}

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...