Ankündigung

Einklappen
Keine Ankündigung bisher.

Differenz berechnen :(

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Differenz berechnen :(

    Hallo,

    habe folgendes Problem:
    Ich habe ein Formel 1 Tippspiel-Script. Bei der Punkteberechnung werden für einen Exakten Tipp 10 Punkte gezählt. Sollte ein Tipp richtig sein, aber in einer anderen Reihenfolge, dann wird ein Punkt gezählt, und bei einem falschen Tipp eben 0 Punkte.
    Jetzt möchte ich aber folgendes:
    Richtiger Tipp - 10 Punkte (ok, das ist ja noch klar)

    Fahrer 1 auf Position 3 getippt aber er erreichte Position 5: (Differenz = 5-3) Punkte= 10 - Differenz
    Also immer 10 Punkte minus der Differenz eben

    Tipp falsch: 0 Punkte (na das hab ich ja so schon, ist also auch klar)

    Mein Problem ist das ich eben das mit der Differenz nicht hinbekomme.
    Hier mal der Teil des Scriptes:

    PHP-Code:
            $p_tipps[0]= mysql_result($result_tipps,0,"p1");
            
    $p_tipps[1]= mysql_result($result_tipps,0,"p2");
            
    $p_tipps[2]= mysql_result($result_tipps,0,"p3");
            
    $p_tipps[3]= mysql_result($result_tipps,0,"p4");
            
    $p_tipps[4]= mysql_result($result_tipps,0,"p5");
            
    $p_tipps[5]= mysql_result($result_tipps,0,"p6");
            
    $p_tipps[6]= mysql_result($result_tipps,0,"p7");
            
    $p_tipps[7]= mysql_result($result_tipps,0,"p8");
            
    $t_tipps[0]= mysql_result($result_tipps,0,"t1");
            
    $t_tipps[1]= mysql_result($result_tipps,0,"t2");
            
    $t_tipps[2]= mysql_result($result_tipps,0,"t3");
            
    $p_erg[0] = mysql_result($result_erg,0,"p1");
            
    $p_erg[1] = mysql_result($result_erg,0,"p2");
            
    $p_erg[2] = mysql_result($result_erg,0,"p3");
            
    $p_erg[3] = mysql_result($result_erg,0,"p4");
            
    $p_erg[4] = mysql_result($result_erg,0,"p5");
            
    $p_erg[5] = mysql_result($result_erg,0,"p6");
            
    $p_erg[6] = mysql_result($result_erg,0,"p7");
            
    $p_erg[7] = mysql_result($result_erg,0,"p8");
            
    $t_erg[0] = mysql_result($result_erg,0,"t1");
            
    $t_erg[1] = mysql_result($result_erg,0,"t2");
            
    $t_erg[2] = mysql_result($result_erg,0,"t3");

                for (
    $i=0;$i<8;$i++)
                {
                    if (
    $p_tipps[$i]==$p_erg[$i])
                        
    $rpunkte $rpunkte +10;
                    else {
                        if (
    in_array($p_tipps[$i], $p_erg))            
                        
    $rpunkte=$rpunkte+1;                        
                        else 
    $rpunkte=$rpunkte+0;}                    
                }
                for (
    $i=0;$i<3;$i++)
                {
                    if (
    $t_tipps[$i]==$t_erg[$i])
                        
    $tpunkte $tpunkte +10;
                    else {
                        if (
    in_array($t_tipps[$i], $t_erg))
                        
    $tpunkte=$tpunkte+1;
                        else 
    $tpunkte=$tpunkte+0;}    
                }
                return 
    $rpunkte+$tpunkte
    Die Daten in den mysql_results sind Namen wie "Michael Schumacher" oder so.
    Die Reihenfolge ist Rennpostion 1-8 und Qualifying Position 1-3

    Vielleicht hat ja einer von euch ne Idee wie ich das hinbekomme, wäre echt super !

    ...Comanchero


  • #2
    Fahrer 1 auf Position 3 getippt aber er erreichte Position 5: (Differenz = 5-3) Punkte= 10 - Differenz
    Tipp falsch: 0 Punkte
    Was ist der Unterschied? "Fahrer 1 auf Position 3 getippt aber er erreichte Position 5" ist bei mir "falsch getippt".
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Was ist der Unterschied? "Fahrer 1 auf Position 3 getippt aber er erreichte Position 5" ist bei mir "falsch getippt".
      Jain, es ist zwar nicht komplett richtig, aber die tendenz ist ja da, ich tippe im rennen 8 positionen von 24 Fahrern, ist eine Position exakt gibt es ja die 10 Punkte, und wenn der Fahrer zwar nicht die exakte Position erreicht, aber in den 8 bewerteten liegt soll es ja doch auch Punkte geben, und da dann eben die 10 Punkte - der tatsächlichen Differenz, also je näher der Tipp am Ergebnis ist, desto mehr Punkte gibt es auch.

      Bei Fußball-Tipps gibt es ja auch Punkte für die Tendenz und nicht nur für das exakte Ergebnis

      Kommentar


      • #4
        Ganz davon abgesehen, dass der gesamte "Algorithmus" doch schon da steht? 10 - abs(getippt-geworden)?

        Kommentar


        • #5
          Ganz davon abgesehen, dass der gesamte "Algorithmus" doch schon da steht? 10 - abs(getippt-geworden)?
          Ja, im Prinzip schon, aber wie gasgt, ich habe in der datenbank-abfrage keine numerischen werte drin, sondern die Namen, sonst wäre es ja kein problem, aber so reichen meine PHP-Fähigketen nun mal leider nicht aus

          Vielleicht ist die Lösung ja greifbar nahe, nur sehe ich sie leider nicht.

          Kommentar


          • #6
            Dann ists halt nen Fall für besseres DB Design bzw die Scriptbörse. Du könntest aber auch sowas machen wie aus den Daten Arrays machen und die Indizes nutzen.

            Kommentar


            • #7
              Ok, jetzt versteh ich nur noch Bahnhof

              Wenn ich das könnte müsste ich nicht ins Anfänger-Board posten
              Nee, Spass beiseite, ich habe ja sogesehen schon die Werte tipps[0] --> könnte ich da nicht irgendwie die [0] als Wert +1 für Position 1 oder aber die Variable "p1" ohne das p irgendwie ?

              Sorry, bin halt echt ein Noob

              Kommentar


              • #8
                [MOD: verschoben]
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar

                Lädt...
                X