Zufallsbilder erstellen
Hallo,ich bin noch ein Anfänger im Programmieren mit Delphi und benötige daher mal eure Hilfe:
Ich hab angefangen ein Bilderratespiel zu programmieren. D.h. im Hintergrund liegt ein Bild, welches von Buttons bedeckt wird. Nun klickt man auf diese und das Bild kommt langsam zum Vorschein. bis dahin kein Problem, doch nun soll mit jeder neuen "Runde" aus einem Bilderpool eins ausgewählt und wieder hinter die Buttons gelegt werden. Aber wie bekomme ich dieses zufälliges Hinterlegen der Bilder hin, noch dazu in einem bestimmen Bereich auf der "Grundebene" ??? Währe echt toll wenn ihr mir helfen könntet, am besten mit Quelltexten. Danke im voraus! |
AW: Zufallsbilder erstellen
Weißt du denn generell wie man einen Zufallswert in Delphi erzeugt? Damit solltest du anfangen und dann ist es egal ob es um eine zufällige Datei oder dergleichen geht.
|
AW: Zufallsbilder erstellen
Naja ich weis nur dies mit dem randomize und dem random
|
AW: Zufallsbilder erstellen
Zitat:
|
AW: Zufallsbilder erstellen
Zitat:
Delphi-Quellcode:
In welchem Bereich liegt nun Index? ;)
Index := Random(Liste.Count);
|
AW: Zufallsbilder erstellen
Besser
Delphi-Quellcode:
Index := Random(Liste.Count-1);
|
AW: Zufallsbilder erstellen
Wieso?
|
AW: Zufallsbilder erstellen
besser nicht, wenn das letzte Bild auch angezeigt werden soll ;)
Ich glaube über Range des Random-Parameter ist inzwischen schon jeder gestolpert. |
AW: Zufallsbilder erstellen
Ja eben.
Zitat:
|
AW: Zufallsbilder erstellen
...oder aus der C Hilfe, die etwas verständlicher ist:
Random(num) gibt eine Zahl von 0 bis num-1 |
AW: Zufallsbilder erstellen
Erst einmal danke das ihr euch zeit für mein Problem nehmt,
nur werd ich aus euren Ratschlägen nicht ganz schlau? Hier noch ma die Probleme wo ich nicht weis wie: 1. Die Bilder sind in einem Ordner (ergeben den Bilderpool), d.h. die müssten ja vorher ihrendwie dem Programm bekannt gegeben werden, so das die dann auch der Zufallsgenerator benutzen kann 2.Wenn der Generator dann eins hat muss das in einem bestimmten Bereich auf der Formdatei draufgeladen werden Also das beste wäre wenn ihr ein Quelltextauszug hättet (da versteh ich das glaubich am besten) |
AW: Zufallsbilder erstellen
Äh ich bin gerade beim Forum durchforsten auf was gestoßen, könnte mir dies helfen??
(zumindest der Quellcode) http://www.delphipraxis.net/142511-w...enproblem.html |
AW: Zufallsbilder erstellen
Zitat:
|
AW: Zufallsbilder erstellen
Hach, unsere liebe CodeLibrary...
Zitat:
Zitat:
Delphi-Quellcode:
Image1.LoadFromFile(StringList1.Items[i]);
|
AW: Zufallsbilder erstellen
:-D:-D Juhu es funktioniert, vielen dank für die Hilfe!
Da wäre nur noch ein was, wie kann ich dem Programm sagen wenn dieses bild schon einmal aus gewählt wurde dan nicht mehr benutzen bis wir einmal alle hatten ??? (bestimmt mit If und Then oder gehts auch anders) |
AW: Zufallsbilder erstellen
Das musst du dir irgendwo merken (z.B. in einem Array) und dann z.B. mittels einer While-Schleife so lange eine neue Zufallszahl erzeugen, bis der generierte Index nicht im Array auftaucht. Diesen schriebst du dann in das Array.
|
AW: Zufallsbilder erstellen
Erstelle eine zweite Liste, fülle sie mit der ersten arbeite mit der zweiten. Ist ein Listeneintrag benutzt, wird er gelöscht. Natürlich musst du jetzt für Random Liste2.Count nehmen. Wenn Liste2 leer ist ( Liste2.count=0) dann wird sie neu gefüllt.
|
AW: Zufallsbilder erstellen
Oder einen eigene Typ der die gewünschten ( gelöscht, ...) Eigenschaften enthält
|
Zufallsbilder erstellen
Erstelle doch einfach eine ImageList und mach die Bilder da rein.
(Doppelklick auf die TImageList) Schreib dann zum zufälligen auswählen einfach:
Delphi-Quellcode:
Bis Bald :!:
var
Bitmap : TBitmap; begin Bitmap := TBitmap.Create; try ImageList1.GetBitmap(random({Maximalanzahl der Bilder}), Bitmap); Image1.Picture.Bitmap := Bitmap; finally FreeAndNil(Bitmap); end; |
AW: Zufallsbilder erstellen
Zitat:
Erst die Referenz-Übergabe
Delphi-Quellcode:
und dann die Referenz wieder wegschmeißen
Image1.Picture.Bitmap := Bitmap;
Delphi-Quellcode:
?
FreeAndNil(Bitmap);
|
AW: Zufallsbilder erstellen
Damit sind aber keine Doppler ausgeschlossen.
P.S.: Willkommen in der DP :dp: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:36 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