Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#10

AW: Herausfinden ob Breakpoint ist oder nicht - Wie?

  Alt 13. Jun 2012, 14:56
Delphi-Quellcode:
type
  TTennisPunkte = (tp0 = 0, tp15 = 15, tp30 = 30, tp40 = 45, tpA = 60); // in 15er Schritten, da es programmintern evt. besser zu handhaben ist
  PTennisSpieler = ^TTennisSpieler;
  TTennisSpieler = record
    Punkte: TTennisPunkte;
    Aufschlag: Boolean;
    {...}
  end;

function istBreakBall(SpielerA, SpielerB: TTennisSpieler): Boolean;
  { Zitat
      Breakball ist immer, wenn der Aufschlagsempfänder 40 Punkte oder Vorteil hat
      und der Aufschlagende weniger Punkte als der andere hat. Bei 0 - 40 hätte
      man zum Beispiel 3 Breakballe, weil man 3 mal die Chance hat mit dem
      nächsten Punkt das Spiel zu gewinnen.
  }

var
  Aufschlagender, AufschlagEmpfänger: PTennisSpieler;
begin
  if not (SpielerA.Aufschlag xor SpielerB.Aufschlag) then
    raise Exception.Create('Ungültige Aufschlagsituation.');
  if SpielerA.Aufschlag then
  begin
    Aufschlagender := @SpielerA;
    AufschlagEmpfänger := @SpielerB;
  end else
  begin
    Aufschlagender := @SpielerB;
    AufschlagEmpfänger := @SpielerA;
  end;
  Result := (AufschlagEmpfänger.Punkte >= tp40) and (Aufschlagender.Punkte < AufschlagEmpfänger.Punkte);
end;
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton (13. Jun 2012 um 15:01 Uhr)
  Mit Zitat antworten Zitat