AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zählsystem für Tennis entwickeln

Ein Thema von torud · begonnen am 21. Sep 2007 · letzter Beitrag vom 27. Sep 2007
 
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#6

Re: Zählsystem für Tennis entwickeln

  Alt 22. Sep 2007, 18:48
Ok, ich habe mir noch ein paar Gedanken gemacht und die SetPoint erweitert, nachdem ich mir in der Hilfe inc/dec nochmals angesehen habe. Das ist zwar jetzt noch nicht die Endversion, aber ein Zählen von 0 -40 und andersrum ist nun drin. 4 Probleme/Fragen habe ich derzeit. Sicher nicht die letzten.

1. Ich habe noch nicht herausgefunden, wie ich das mit dem Vorteil lösen soll, da ja die Punkte in den Variablen akt_point_a und akt_point_b, welche vom Typ her integer sind, geschrieben und auch hochgezählt werden. Also wie soll ich da ein A für Vorteil reinschreiben, bzw. wie kann ich das händeln?

2. Den Code finde ich schon jetzt ziemlich aufgebläht. Geht das auch anders? Ich denke meist nach Schema F und würde gern über den Tellerrand hinausblicken.

3. Ich würde gern das Befüllen der Controls, den die Inhalte sollen ja dann dem Programm auch sichtbar zugeführt werden, bzw. rausgeschickt werden, extra abhandeln. Anwelcher Stelle würdet Ihr das zentral lösen? Zur Zeit tue ich dies per DUmmy mit dem Showmessage am Ende von SetPoint, aber eigentlich kanns das nicht sein, weil ich diese Routine auch in Richtung SetGame verlassen muss, wenn ein Spieler mit dem aktuell gewonnenen Punkt ein Spiel gewonnen hat.

4. Desweiteren müsste ich dann nachdem ich ein gewonnenes Spiel erkannt habe akt_point_a und akt_point_b wieder auf 0 zurücksetzen. Sollte das in Setpoint geschehen oder besser in SetGame, respektive SetSetWin (gibts noch nicht)...

Hier mein Code von SetPoint:
Delphi-Quellcode:
function SetPoint(player,point: integer):boolean;
var
  n : integer;
begin
  // wenn player = 1
  case player of
    1 : begin
          // wenn point > 0 erhoehe Spieler1
          if point > 0 then
            begin
              //festlegen, um wieviel ge-inc-t wird
              case akt_points_a of
                0,15 : n := 15;
                30,40 : n := 10;
                else exit;
              end;
              inc(akt_points_a,n);
            end;
          // wenn point < 0 senke Spieler1
          if point < 1 then
            begin
              //festlegen, um wieviel ge-dec-t wird
              case akt_points_a of
                15,30 : n := 15;
                40 : n := 10;
                else exit;
              end;
              dec(akt_points_a,n);
            end;
        end;
    2 : begin
          // wenn point > 0 erhoehe Spieler2
          if point > 0 then
            begin
              //festlegen, um wieviel ge-inc-t wird
              case akt_points_b of
                0,15 : n := 15;
                30,40 : n := 10;
                else exit;
              end;
              inc(akt_points_b,n);
            end;
          // wenn point < 0 senke Spieler2
          if point < 1 then
            begin
              //festlegen, um wieviel ge-dec-t wird
              case akt_points_b of
                15,30 : n := 15;
                40 : n := 10;
                else exit;
              end;
              dec(akt_points_b,n);
            end;
        end;
  end;
  showmessage(inttostr(akt_points_a));
end;
Danke
Tom
  Mit Zitat antworten Zitat
 


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 01:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz