Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Highscore für Spiel (https://www.delphipraxis.net/124653-highscore-fuer-spiel.html)

Super_Chemiker 22. Nov 2008 14:12


Highscore für Spiel
 
Hallo DP :dp:
ich versuche mich da an einem HighScore, aber es will nicht klappen!!!
welche komponente ist dafür geeignet? ich habs mit TRichEdit probiert:

Delphi-Quellcode:
procedure TForm1.OKClick(Sender: TObject);
begin
     Name := Nam.Text;
     High.Text := HighA.Text;
     HighN.Text := HighNA.Text;
     if StrToInt(High.Strings[0]) > StrToInt(Punkte.Caption) then
     begin
        if StrToInt(High.Strings[1]) > StrToInt(Punkte.Caption) then
           begin
              if StrToInt(High.Strings[2]) > StrToInt(Punkte.Caption) then
                 begin
                   
                    if StrToInt(High.Strings[3]) > StrToInt(Punkte.Caption) then
                       begin
                         
                          if StrToInt(High.Strings[4]) > StrToInt(Punkte.Caption) then
                             begin
                               if StrToInt(High.Strings[5]) > StrToInt(Punkte.Caption) then
                                  begin
                                   Topp := 5;
                             end
                             else
                               Topp := 4;
                       end
                       else
                       Topp := 3;
                  end
                  else
                  Topp := 2;
           end
           else
           Topp := 1;
     end
     else
     Topp := 0;
     end;          
     HighNA.Lines.Insert(Topp, Name);
     HighA.Lines.Insert(Topp, Punkte.Caption);
     HighA.Lines.Delete(5);
     HighNA.Lines.Delete(5);
     OK.Enabled := false;
end;
  • Punkt, Topp: Integer;
  • Name: String;
  • High, HighN: TStringList;
  • ok = button
  • Higha = richedit
  • Highna = richedit
vielen Dank im Vorraus

MarvinM 22. Nov 2008 14:26

Re: Highscore für Spiel
 
Was hast du denn genau vor? Willst du die Werte anzeigen lassen? Wenn ja, kannst du das auch in einem Memo-Feld machen.

PS: Die If-Schachtelung kannst du durch eine übersichtlichere for Schleife ersetzen.

Super_Chemiker 22. Nov 2008 14:35

Re: Highscore für Spiel
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich wollte folgendes:
nachdem ich bei dem spiel punkte erspielt habe will ich mich im highscore eintragen: siehe anhang! screen 1 = vorher
screen 2 = nachher(nach knopfdruck OK)

je nach punktestand variiert die position im richedit!
bei
Delphi-Quellcode:
for x := 0 to 100 do
wird die variable (im beispiel x) doch 100 mal erzeugt oder?
wenn ich das mit canvas.pixels verbinde hab ich ja auch ein rechteck!:
Delphi-Quellcode:
for x := 0 to 100 do
for y := 1 to 100 do
canvas.pixels[x,y] := clgreen;

MarvinM 22. Nov 2008 14:42

Re: Highscore für Spiel
 
Vielleicht solltest Du für Deine Einträge in der Highscore ein Array verwendn, welches Du anschließend (also bei der Anzeige) noch sortieren musst. Was Du mit Canvwas vorhast, hab ich aber noch nicht so ganz verstanden.

Zur Funktion einer for-Schleife

Delphi-Quellcode:
procedure ForSchleifenDemo;
var
  i: Integer;
begin
  for i := 1 to 3 do
    ShowMessage(IntToStr(i));
end;
Diese Schleife läuft 3-mal druch (von 1 bis 3). Dabei hat i beim ersten mal den Wert 1, dann den Wert 2, usw. Und es wird dann 3x eine Showmessage mit i angezeigt.

//Edit: Zur Anzeige würde sich in dem Fall auch ein Stringgrid (eine Tabelle) eignen.

Super_Chemiker 22. Nov 2008 14:46

Re: Highscore für Spiel
 
ich werd stringgrid und array mal probieren aber zu deinen fragen:
hier hab ich nichts mit canvas vor das war nur ein beispiel für for
achja, ich nehm kein for, weil ich die punkte die ich vorher erreicht hab ja nicht neu generieren will (z.b.: 1 to 100)

ich sag schonmal danke

MarvinM 22. Nov 2008 14:50

Re: Highscore für Spiel
 
Ich glaub zwar nicht, dass Du um eine for-Schleife rum kommen wirst, aber wenn Du noch Fragen hast, frag ruhig!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:14 Uhr.

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