Ich schreibe gerade ein Programm (Collapse) und kam gut voran.
Jedoch habe ich gerade einige Probleme:
Bei meiner Zeitmessung wird immer die selbe Zeit angezeigt, wenn ich eine Neues Spiel starte (nicht ganze Programm beenden und neu starten)
für Zeitmessung nutze ich 2 Formulare
in Unit1:
NeuesSpiel:
Zeit.Enabled:=true;
NeuesSpielClick:
Delphi-Quellcode:
Zeit.Enabled:=true;
start:=now; (start:=TDateTime)
in Unit2:
Delphi-Quellcode:
FormX.Create:
runtime:= now-start; (runtime, start:=TDateTime)
LabelX.Caption := FormatDateTime('ss', runtime);
Problem: wenn ich programm neustarte und bis gameover laufenlasse, aber es länger dauert als es davor dauerte, erhalte ich
immer als beispiel 58s angezeigt. Wenn ich Programm beende und dann wieder starte, das gleiche Problem.
Label verschwindet für zeitanzeige und steht nicht dar: benötigte Zeit: 58s (so wärs gut)
Highscore:
für highscore habe ich erstmal vor das ergebnis anzuzeigen im neuen formular, wenn gameover oder runden durch sind
(punktestand soll neben label angezeigt werden)
folgendes habe ich:
LabelX.Caption:= IntToStr(Punkte) (davor Punkte in Statusbar angezeigt)
es wird nur 0Punkte angezeigt
gibst da was?
Highscore hatte ich vor mithilfe txt-datei anzuzeigen, wollte Position - Name - Punkte über ListBox anzeigen
Delphi-Quellcode:
var:
Name1 : Array[1..10] of string;
Punkt1 : Array[1..10] of string;
procedure TFormX.LeseHighscore;
var Datei : TextFile;
Name : string;
Punkte, i : integer;
begin
assignFile(Datei,'highscore.txt');
reset (Datei);
i:=0;
while not eof (Datei) do
begin
readln(Datei, Name, Punkte);
Name1[i]:=Name;
Punkt1[i]:=Punkte
i:=i+1;
end;
CloseFile;
end;
procedure TFormX.FormActivate(Sender:TObject);
var i:integer;
begin
for i : 0 to 9 do
begin
Name1[i]:='';
Punkt1[i]:=0;
LeseHighscore;
end;
dabei entstehen Probleme weil string nicht deklariert ist
gibst bessere aber auch verständliche Lösungen (bin Anfänger)
3 Probleme:
1.) Zeitmessung
2.) Punktanzeige
3.) Highscore
Vielen Dank schon im voraus
[edit=Phoenix] Delphi-Tags eingefügt. Mfg, Phoenix[/edit]