Delphi-PRAXiS
Seite 5 von 5   « Erste     345   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zählsystem für Tennis entwickeln (https://www.delphipraxis.net/100047-zaehlsystem-fuer-tennis-entwickeln.html)

torud 27. Sep 2007 22:48

Re: Zählsystem für Tennis entwickeln
 
Ok, also ich habe mich ein Stück weit vor gewagt, aber nur insofern, als dass ich versuche irgendeinen Weg zu gehen, damit es überhaupt geht.

Die Deklaration der Satzklasse sieht nun so aus:
Delphi-Quellcode:
  // Satz-Klasse
  TE_Satz = class
  private
    FAusgabe: TE_AusgabeListe;   //unwissend übernommen, damit es überhaupt geht
    FGames : array[1..2] of Byte; //soll die spiele innerhalb des satzes zählen
    FActSet : Byte;              //welcher satz
  public
    // setzt GamePunkte und gibt zurück, ob dar Satz beendet ist
    constructor Create(Ausgabe: TE_AusgabeListe);
    function SetGamePoint(const Spieler: TE_Spieler; const Undo: Boolean) : Boolean;
  end;
Und folgendes gibts noch an Code. Die masse ist nur abgeschrieben und zusammengestammelt.
Delphi-Quellcode:
constructor TE_Satz.Create(Ausgabe: TE_AusgabeListe);
begin
  FAusgabe := Ausgabe; //was auch immer hier geschieht
end;

function TE_Satz.SetGamePoint(const Spieler: TE_Spieler; const Undo: Boolean) : Boolean;
begin
  if Spieler = tskein then Exit;

  // Nullprüfung:
  if (FGames[Ord(Spieler)] = 0) and Undo then
    Exit;

  if Undo then
    Dec(FGames[Ord(Spieler)])
  else
    Inc(FGames[Ord(Spieler)]);
    ShowMessage(inttostr(FGames[Ord(Spieler)])); //FGames wird korrekt befüllt
end;
Das Showmessage stimmt schonmal. Nur komme ich derzeit nicht an die Daten ran, weil ich das Konstrukt um die Daten nicht verstehe.

Entscheidend scheint mir das hier zu sein:
Delphi-Quellcode:
  // Datenhaltung für Sätze
  TE_SatzDaten = record
    Punkte: array[1..2] of Byte;
    TieBreak: array[1..2] of Byte;
  end;

  // array der Satzdaten
  TE_SatzArray = array of TE_SatzDaten;

  TE_AusgabeDaten = record
    // Punkte der Sätze
    Saetze: TE_SatzArray;
    // Wer hat grade Aufschlag
    Aufschlag: TE_Spieler;
    // Aktuelle Punkte im Spiel
    AktSpiel: array[1..2] of TE_Punkte;
    // Wie umkämpft?
    AnzDeuce: Word;
    // Gerade im TieBreak?
    AktTieBreak: Boolean;
  end;
Aber wie sieht denn nun mein Aufruf in der SetzeLabels aus?
Delphi-Quellcode:
Daten.Saetze...!?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:48 Uhr.
Seite 5 von 5   « Erste     345   

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