Inhaltsverzeichnis
CSerie.ClrPunkte
AddOn-Befehl zum Einsatz bei einem Serienrennen.
Syntax
| Befehl | CSerie.ClrPunkte |
|---|---|
| Funktion | Löscht alle vergebenen Zusatzpunkte für alle Fahrer in diesem Durchgang. |
| Typ | Boolean |
| ab | 3.0.6 build 340 |
Codebeispiel
Veranschaulicht die Verwendung und Wirkung der neuen AddOn-Befehle zum Abfragen, Setzen und Löschen vergebener Zusatzpunkte im Serienrennen.
var
message : String;
slot : Integer;
punkteFahrer : Extended;
sFahrerName : String;
begin
// Session ist gestartet worden
if Cockpit.Parameter = 4 then
begin
// Meldung initialisieren
message := '';
// alle Slots durchlaufen
for slot := 1 to CpCountOfSlots do
begin
// Slot einstellen
Cockpit.Slot := slot;
// Sieger gefunden
if Cockpit.Position = 1 then
begin
// Den Namen des Siegers speichern
sFahrerName := Cockpit.FahrerName;
message := message + sFahrerName + 'hat gewonnen.';
message := message + Chr(13) + Chr(10);
// die aktuelle Punkte des Siegers holen
punkteFahrer := CSerie.GetPunkte(sFahrerName);
message := message + 'Punkte IST: ' + FormatFloat('#0.0', punkteFahrer);
message := message + Chr(13) + Chr(10);
// der initiale Wert ist negativ.
if punkteFahrer < 0 then
begin
// In dem Fall auf '0' setzen
punkteFahrer := 0;
message := message + 'Punkte SOLL: ' + FormatFloat('#0.0', punkteFahrer);
message := message + Chr(13) + Chr(10);
end;
// 2,5 Zusatzpunkte für den Sieger setzen
CSerie.SetPunkte(sFahrerName, punkteFahrer + 2.5);
punkteFahrer := CSerie.GetPunkte(sFahrerName);
message := message + 'Punkte NEU: ' + FormatFloat('#0.0', punkteFahrer);
message := message + Chr(13) + Chr(10);
// alle Punkte aller Fahrer löschen, aber nur den Sieger anzeigen
CSerie.ClrPunkte;
punkteFahrer := CSerie.GetPunkte(sFahrerName);
message := message + 'Punkte CLR: ' + FormatFloat('#0.0', punkteFahrer);
// Meldung anzeigen
cpShowMessage(message);
// weitere Abfragen überflüssig. Raus hier
exit;
end; // END if - position
end; // END for - slot
end; // END if - parameter
end.
Dieses Beispiel zeigt an, wie sich die Befehle auf den Punktestand auswirken. Der initiale Wert ist -1 , also negativ. Weil es nicht ideal wäre, gleich mit negativen Punkte zu starten, wird die Variable auf den Wert 0 gesetzt.
Im nächsten Schritt erhält der Fahrer für den Sieg in diesem Einzelrennen 2,5 Zusatzpunkte über den AddOn-Befehl.
Zum Schluß löscht der Befehl CSerie.ClrPunkte die Punkte aller Fahrer wieder. Damit hat die Variable wieder den negativen Ausgangswert -1 .
