سؤال

أنا أعمل حاليًا على رسم قوس البطولة لأحد مشاريعي. يبدو أنه يعمل في رسم قوسين أصغر ، ولكن بمجرد أن أصل إلى 16 ، يبدأ في التصرف.

تابع الروابط ، وانظر كيف تنطلق من مكانها بعد 8.

http://www.mattdsworld.com/mmaplayer/index.php/tournament/viewbracket/2

http://www.mattdsworld.com/mmaplayer/index.php/tournament/viewbracket/4

http://www.mattdsworld.com/mmaplayer/index.php/tournament/viewbracket/8

http://www.mattdsworld.com/mmaplayer/index.php/tournament/viewbracket/16

http://www.mattdsworld.com/mmaplayer/index.php/tournament/viewbracket/32

http://www.mattdsworld.com/mmaplayer/index.php/tournament/viewbracket/64

http://www.mattdsworld.com/mmaplayer/index.php/tournament/viewbracket/128

بعد ذلك ، أخرج من أخطاء ذاكرة الوصول العشوائي ، وهي ليست مشكلة بالفعل منذ استخدامها المشروع للذاكرة ، ويمكنني تبرير رفع الحد الأقصى لهذا البرنامج النصي (بالطبع ، لن يقوم بتشغيل كل تحميل صفحة في البرنامج النصي النهائي ، سيتم التخزين المؤقت للصورة).

على أي حال ، كما يمكنك أن ترى ما إذا كنت تقدم من خلال الصور ، يبدو أنها تحصل على المزيد والمزيد من المسار.

الكود هنا:http://pastebin.com/f5485b027(هل يجب أن أنشر كود مثل هذا ، أو مضمّن؟ لم أكن متأكدًا)

أنا ضائع تمامًا فيما يتعلق بكيفية إصلاح هذا ، لذا يرجى إدخال الأفكار/الاقتراحات. لا أحتاج إلى حل رمز ، أحتاج فقط إلى إرشادات حول الرياضيات/تحديد المواقع.

شكرا يا مات

هل كانت مفيدة؟

المحلول

يتم رسم الأقواس "بشكل صحيح" بناءً على الخوارزمية.

هل تخطت من خلال الكود لحالات المشكلات وخاصة مقابل $؟

لست متأكدًا من كيفية عمل Algo (لا تفهم حقًا استخدام الوجبات الجاهزة $).

لكن هذا ما أود أن أتوصل إليه:

for ($k = 1; $k < ($rounds + 1); $k++)
{
    // Calculate currLeftDraw and currRightDraw Here...

    $spacing = 60 * pow(2, ($k - 1));
    $firstY = ($spacing / 2) - 30;

    for ($i = 0; $i < ($sizePlayers / (pow(2, $k))); $i++)
    {
        $yPos = $firstY + ($i * $spacing);

        // Rest of code here...
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top