Domanda

Al momento sto lavorando su disegno di una staffa torneo per uno dei miei progetti. Sembra funzionare disegno parentesi più piccoli, ma una volta che ottengo a 16 si torna a farsi.

seguire attraverso i link, e vedere come si cade fuori luogo dopo 8.

http://www.mattdsworld.com/mmaplayer/index .php / torneo / viewBracket / 2

http://www.mattdsworld.com/mmaplayer/index .php / torneo / viewBracket / 4

http://www.mattdsworld.com/mmaplayer/index .php / torneo / viewBracket / 8

http://www.mattdsworld.com/mmaplayer/index .php / torneo / viewBracket / 16

http://www.mattdsworld.com/mmaplayer/index .php / torneo / viewBracket / 32

http://www.mattdsworld.com/mmaplayer/index .php / torneo / viewBracket / 64

http://www.mattdsworld.com/mmaplayer/index .php / torneo / viewBracket / 128

Dopo che esco da errori ram, che non è davvero un problema in quanto il suo uso legittimo della ram, e posso giustificare alzando i massimi per questo script (ovviamente, non verrà eseguito ogni pagina carico nel sceneggiatura definitiva, l'immagine verrà memorizzata nella cache).

In ogni modo, come si può vedere se si procede attraverso le immagini, che sembrano avere sempre più fuori pista.

Il codice è qui: http://pastebin.com/f5485b027 (Dovrei essere scrivendo codice come questo, o in linea? Non ero sicuro)

Sono completamente perso su come risolvere questo problema, in modo da accontentare ingresso idee / suggerimenti. Non ho bisogno di una soluzione di codice, ho solo bisogno di una guida sulla matematica / posizionamento.

Grazie, Matt

È stato utile?

Soluzione

Le staffe sono "correttamente" disegnato in base all'algoritmo.

Lo si passa tramite il codice per i casi problematici soprattutto per $ y?

Non sono sicuro di come funziona algo (non in realtà non capire l'uso del $ asporto).

Ma questo è quello che vorrei venire con:

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...
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top