Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Herausfinden ob Breakpoint ist oder nicht - Wie? (https://www.delphipraxis.net/168831-herausfinden-ob-breakpoint-ist-oder-nicht-wie.html)

himitsu 16. Jun 2012 18:06

AW: Herausfinden ob Breakpoint ist oder nicht - Wie?
 
Zitat:

Delphi-Quellcode:
type
  TTennisPunkte = (tp0 = 0, tp15 = 15, tp30 = 30, tp40 = 45, tpA = 60);

const
  strTennisPunkte: Array[TTennisPunkte] of String = ('0', '15', '30', '40', 'A');

Hast du das mal ausprobiert?

Ich bin mir ganz sicher, daß es so nicht funktioniert, denn das Array wird 61 Felder groß sein und nicht nur 5. :angle2:



Das ist auch der Grund, warum es keine RTTI dafür gibt, da man irgendwie immernoch nicht auf die Idee gekommen ist, dort einfach mit DummyWerten aufzufüllen.

Aphton 16. Jun 2012 18:11

AW: Herausfinden ob Breakpoint ist oder nicht - Wie?
 
Nöp, danke.
Ginge aber ohne Zuweisungen..

BUG 17. Jun 2012 13:04

AW: Herausfinden ob Breakpoint ist oder nicht - Wie?
 
Auch wenn das nicht (ganz) zu den bisherigen Lösungen passt: Es wäre eigentlich sinnvoll den Spielzustand explizit als Zustandsautomaten zu modellieren und dazu noch die Punkte zählen. Dann wird das nicht so eine Frickelei.

Das Ganze könnte man auch gut in eine Klasse kapseln.

Furtbichler 18. Jun 2012 07:37

AW: Herausfinden ob Breakpoint ist oder nicht - Wie?
 
Ich würde mich von der Aussprache ('0','15','30','40', 'Vorteil') freimachen, denn das ist die Darstellung. Und was haben wir gelernt? Genau, Darstellung und Funktion trennen.

Also wird beim Tennis einfach von 0 beginnend nach oben gezählt.
Wer zuerst 4 Punkte hat und mindestens 2 Punkte mehr als der andere, hat den Punkt, oder wie das heißt.

Die Anzahl der Breakpoints ist also PunktB-PunktA, wenn PunktB >= 3 und 0 sonst.

Und? Wieviel stehts?
Delphi-Quellcode:
Function SpielStand (PunkteA, PunkteB : Integer) : String;
Const
  PunkteName : Array [0..3] of string = ('00','15','30','40');
 
Begin
  if (PunkteA<=3) and (PunkteB<=3) Then
  if PunkteA = PunkteB then
    Result := PunkteName[PunkteA]+' beide'
  else
    Result := PunkteName[PunkteA]+'-'+PunkteName[PunkteB]
  else if PunkteA > PunkteB + 1 Then
    Result := 'Punktgewinn A'
  else if PunkteB > PunkteA + 1 Then
    Result := 'Punktgewinn B'
  else if PunkteA > PunkteB Then
    Result := 'Vorteil A'
  else if PunkteB > PunkteA Then
    Result := 'Vorteil B'
  else
    Result := 'Gleichstand'
 
End;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:28 Uhr.
Seite 3 von 3     123   

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