AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Spiel programmieren, Hilfe benötigt.
Thema durchsuchen
Ansicht
Themen-Optionen

Spiel programmieren, Hilfe benötigt.

Ein Thema von Connor Temple · begonnen am 18. Jan 2011 · letzter Beitrag vom 5. Apr 2011
 
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#7

AW: Spiel programmieren, Hilfe benötigt.

  Alt 21. Jan 2011, 20:31
Was DeddyH meinte (so hab ich das vestanden):
Delphi-Quellcode:
var
  ListeVonDateinamen:TStringlist;
  DatenameIndex:Integer;
  i:Integer;
begin
  Randomize; //EIGENTLICH SOLLTEN WIR DAS IM FORMCREATE ODER SO MACHEN(nur einmal aufrufen)

  ListeVonDateinamen:=TStringList.Create; //wir erzeugen eine Stringlist (, die wir unten wieder freigeben)
  try
    ListeVonDateinamen.add('C:\pfad\dateiname1.bmp'); //Die Stringlist muss jedes mal befüllt werden
    ListeVonDateinamen.add('C:\pfad\dateiname2.bmp'); //Oder aus einer Anderen kopiert
    ListeVonDateinamen.add('C:\pfad\dateiname3.bmp'); //weil Unten Einträge gelöscht werden (damit sie nicht 2 mal vorkommen)
    ListeVonDateinamen.add('C:\pfad\dateiname4.bmp'); //Übrigens: Dateinamen NIEMALS so hinschreiben, sondern am Besten einen Pfad relativ zu der .exe angeben (s.ParamStr(0))
    
    for i:=0 to Form1.ComponentCount-1 do //hier laufen wir alle auf dem Formular platzierten Komponenten durch
    begin
      if Form1.Components[i] is TImage then //und wenn wir ein TImage finden, dann
      begin
        DateinameIndex:=Random(ListeVonDateinamen.count) //machen wir erst mal eine Zufallszahl
        ImageName.Picture.LoadFromFile(ListeVonDateinamen[DatenameIndex]; //und laden das Bild mit dem Dateinamen, der in der Stringlist mit dem Index DatenameIndex liegt
        ListeVonDateinamen.Delete(DateinameIndex); //dann löschen wir den Eintrag, damit wir nicht 2 mal das gleiche Bild laden
      end;
    end;
  finally //selbst wenn oben seit den try etwas schief läuft kommen wir hier rein
    FreeAndNil(ListeVonDateinamen); //und geben unsere stringlist wieder frei
  end;
end;
Wichtig dürfte sein, dass die Anzahl der Elemente in der Stringlist >= der Anzahl der TImages ist (- sonst ist die SL leer)


Ausserdem kopiere nicht einfach den code (den ich übrigens mangels Delphi nicht getestet habe), sondern sieh dir an was er macht und programmiere es dann selbst, sonst lernst du dabei gar nichts (spreche aus Erfahrung)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz