AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi [Suche] Tutorial zum Berechnen einer EM/WM Tabelle
Tutorial durchsuchen
Ansicht
Themen-Optionen

[Suche] Tutorial zum Berechnen einer EM/WM Tabelle

Ein Tutorial von Muellermilchtrinker · begonnen am 17. Mai 2010 · letzter Beitrag vom 17. Mai 2010
Antwort Antwort
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker
Registriert seit: 1. Aug 2009
Hallo DP,

Hier haben ja schon viele EM oder WM Spielplaner erstellt. Richtig?? Richtig!!
Ich würde gerne wissen, wie ihr die Daten abspeichert und wie ihr nachher die Punkte der Länder nach den Gruppenspielen ausrechnet.
Wäre nett, wenn ihr mir helfen könnt.
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
 
blackfin
 
#2
  Alt 17. Mai 2010, 16:54
Öhm....

klick!?!

Ausrechnern nach Tabelle, die Daten abspeichern kann man in einer Textdatei oder in einem beliebigen RDBMS...
Oder was meinste nun?
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

 
Delphi 2009 Professional
 
#3
  Alt 17. Mai 2010, 17:01
Ich mein jetzt das, ob das Team 3,1,0 Punkte bekommt.
In deiner PDF die Variable M
  Mit Zitat antworten Zitat
blackfin
 
#4
  Alt 17. Mai 2010, 17:08
Ich kenn mich mit Fußball nicht aus, aber in dem PDF der FIFA müsste doch die Berechnungs-Grundlage zu finden sein, wie man das berechnet, oder nicht?
Das grundlegende Konzept muss ja erstmal in deinem Kopf entstehen, bevor du dann eine Programmiersprache wählst, mit der du dann dein Gedankenkonstrukt umsetzen kannst.

Also...ist deine Frage zur generellen Berechnung der WM-Punkte (das frage dann doch wohl lieber in einem Fußball-Forum ),
oder wie du eine bestimmte Berechnung mit Delphi umsetzt? (das ist dann hier sicher goldrichtig
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

 
Delphi 2009 Professional
 
#5
  Alt 17. Mai 2010, 17:19
Also wie man die Endpunkte des Teams von Hand ausrechnet das weiß ich ja.
Aber ich möchte das nun in Delphi umsetzten und habe keine Ahnung, wie ich das machen soll.
Oh sorry, ich miente natürlich von den Punkten ausgehend einen Platz.
Ich hab diese Tabelle:
Code:
--------| Punkte |  Tore |  Diff |  Platz |
--------|--------|--------|--------|--------|
Land 1  |   7    |   6:4  |   2    |        |
--------|--------|--------|--------|--------|
Land 2  |   3    |   3:5  |   -2   |        |
--------|--------|--------|--------|--------|
Land 3  |   4    |   5:5  |   0    |        |
--------|--------|--------|--------|--------|
Land 4  |   3    |   5:5  |   0    |        |
--------|--------|--------|--------|--------|
Und möchte nun den Platz berechnen.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

 
Delphi 2006 Professional
 
#6
  Alt 17. Mai 2010, 17:42
Zitat von Muellermilchtrinker:
... Und möchte nun den Platz berechnen.
Wo hapert es denn? Wie die Platzierung berechnet wird (Punkte, Torverhätniss, direkter Vergleich) oder wie Du das in Delphi umsetzt?

Das ganze läuft doch auf eine einfach Sortierung heraus. Dann auf Punktgleichheit prüfen und diese gemäß dem nächsten Kriterium sortieren.
Stephan B.
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

 
Delphi 2009 Professional
 
#7
  Alt 17. Mai 2010, 17:50
Es ist so, dass ich das von Hand ausrechnen könnte (nach den offiziellen Regeln, d.h. wenn zwei Teams gleichviel Punkte haben, dann gehts nach der Tordifferenz, wer den besseren Platz bekommt).
Mein Problem ist nun, wie setze ich das in Delphi um.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

 
Delphi 2006 Professional
 
#8
  Alt 17. Mai 2010, 18:14
Zitat von Muellermilchtrinker:
Es ist so, dass ich das von Hand ausrechnen könnte (nach den offiziellen Regeln, d.h. wenn zwei Teams gleichviel Punkte haben, dann gehts nach der Tordifferenz, wer den besseren Platz bekommt).
Mein Problem ist nun, wie setze ich das in Delphi um.
Dann schreibe doch mal auf wie Du es von Hand machen würdest.
Dann kombiniere das mit dem Stichwort (Sortieren) aus meinem letzen Posting.
Stephan B.
  Mit Zitat antworten Zitat
shmia

 
Delphi 5 Professional
 
#9
  Alt 17. Mai 2010, 19:14
Eine geignete Sortiermethode wäre hier Selectionsort.
Quicksort wäre hier bei der geringen Anzahl mit Kanonen auf Spatzen geschossen.

Du hast die Daten wohl in einem Record oder Klasse vorliegen:
Delphi-Quellcode:
TSpielErgebnis = record
  Land : string;
  Punkte:integer;
  Tore: integer;
  KassierteTore : integer;
end;
Dann braucht man noch eine Vergleichsfunktion:
Delphi-Quellcode:
// a besser als b ==> result=-1
// b besser als a ==> result=1
// a gleich gut wie b ==> result=0
function VergleicheSpielErg(const a,b:TSpielErgebnis):integer;
begin
  if a.Punkte=b.Punkte then
  begin
    if (a.Tore-a.KassierteTore) > (b.Tore-b.KassierteTore) then
      result := -1 // a ist besser
    else
      result := 1;
    // hier fehlt noch die Überprüfung für den Fall, dass die Tordifferenz gleich ist
  end
  else if a.Punkte> b.Punkte then
     result := -1
  else
     result := 1;
end;
Andreas
  Mit Zitat antworten Zitat
blackfin
 
#10
  Alt 17. Mai 2010, 19:24
Was sich auch noch für eine Methode anbietet, ist, die Tabelle einfach 1:1 in eine min SQL-Datenbank (SQLLite,Firebird embedded) zu hacken, dann kannst
du das sortieren sehr simpel mit einer SQL-Abfrage machen:
SELECT * FROM laender ORDER BY Punkte DESC, Diff DESC

Der Vorteil dabei wäre die relativ leichte Daten-Eingabe und -Update, wenn die Datenbank mal steht.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz