C Fußball-Formel für Tendenz & Tordifferenz

marivuko

Cadet 3rd Year
Registriert
Mai 2013
Beiträge
48
hello,

ich habe mir eine kleine Formel gebastelt, die Tendenzen und Tordifferenzen für ein kleines Tipp Spiel ausrechnen soll,
z.b wenn das Ergebnis 4:2 ist und der Spieler tippt auf 1:0, dann bekommt er 2 Punkte und wenn er auf 2:0 tippt dann bekommt er 3 Punkte, bei meinem Code habe ich ein kleines Problem, denn da bekommt der Spieler immer 2 Punkte auch wenn er 2:0 tippt

Code:
 if (((TippA > TippB) && (ErgebnisA > ErgebnisB)) || ((TippA < TippB) && (ErgebnisA < ErgebisB)))
                {
                    punkte = 2;
                }

 else if  ((TippA - TippB) == (ErgebnisA - ErgebnisB)) 
                
                {
                    punkte = 3;
                }

                else
                {
                    punkte = 0;
                }
 
da die erste "if" abfrage immer erfüllt ist kommst du gar nicht erst in die zweite "else-if" abfrage

eigentlich ein typischer logik-fehler, denn if abfragen müssen immer von maximum zu minimum oder von minimum zu maximum überprüft werden (also in deinem fall entweder "3 punkte" => "2 punkte" => "0 punkte" oder eben "0 punkte" => "2 punkte" => "3 punkte"...)

stell einfach mal um, mach den "else if" teil zuerst und dahinter dann den "if" teil.
Code:
if  ((TippA - TippB) == (ErgebnisA - ErgebnisB)) 
                {
                    punkte = 3;
                }

else if (((TippA > TippB) && (ErgebnisA > ErgebnisB)) || ((TippA < TippB) && (ErgebnisA < ErgebisB)))
                {
                    punkte = 2;
                }

else
                {
                    punkte = 0;
                }



und btw:
für das exakt richtige ergebnis würde ich noch 4 punkte verteilen ;)

also
Code:
if  ((TippA) == (ErgebnisA) && (TippB) == (ErgebnisB))
       {
                    punkte = 4;
       }
an den Anfang und dann mit else if weiter machen.



EDIT:
@unter mir
made my day :D
 
Zuletzt bearbeitet:
Ich kann dir zwar nicht weiterhelfen bei deinem Problem, aber Tippkick ist eine gute Seite die rechnet das auch alles aus, benutzen wir hier auf der Arbeit auch für unsere Tippgemeinschaft.
 
Ist doch logisch, wenn Tipp A = 2, Tipp B = 0, ErgebnisA = 4, Ergebnis B = 2, dann ist die erste Anweisung wahr und er bekommt zwei Punkte.

Ich würde zuerst die 3 Punkte prüfen und dann die 2.
 
An deiner Stelle hätte ich sowieso direkt mit variablen gearbeitet die die Differenzen beinhalten und nicht das tipp-ergebnis. Ist vielleicht auch besser lesbar, denn ich habe erst gar nicht verstanden was du mit TippB und ErgebnisB gemeint hast, aber du liest wohl die einzelnen Zahlen die der Anwender eingibt ein.
 
Zurück
Oben