Zitat von
Die Muhkuh:
Zitat von
Schnittcher:
Hallo,
ich habe es jetzt so gelöst.
Delphi-Quellcode:
function TZahlen.VergleichePunkteAlt: string;
begin
if FPunkte - FPunkte_alt = 1 then
Result := 'Sie haben eine Zahl richtig erraten!'
else if FPunkte - FPunkte_alt = 2 then
Result := 'Sie haben zwei Zahlen richtig erraten!'
else if FPunkte - FPunkte_alt = 1 then
Result:= 'Sie haben zwei Zahlen richtig erraten!'
end;
Gruß,
Schnittcher
Da ist aber ein dicker Fehler drin.
Die letzte If-Abfrage ist wie die erste und wenn die erste schon nicht klappt, wird die letzte genau so wenig klappen. Außerdem fehlt noch, ob man nichts erraten hat.
Wie wäre es mit einer case-Anweisung:
Delphi-Quellcode:
function TZahlen.VergleichePunkteAlt: string;
begin
case FPunkte - FPunkte_alt of
0: Result := 'Sie haben keine Zahl richtig erraten!';
1: Result := 'Sie haben eine Zahl richtig erraten!';
2: Result := 'Sie haben 2 Zahlen richtig erraten!';
3: Result := 'Sie haben 3 Zahlen richtig geraten!';
end;
else Result := 'Es ist ein Fehler in der Berechnung aufgetreten!';
Sieht wie ich finde deutlich besser aus, als die verschachtelten if-Anweisungen.
MfG
BAMatze
[Edit1] Muhkuh´s Einwand mit keinem Treffer hinzugefügt[/Edit]
2. Account Sero