Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi HILFE !!! Wie kann man bilder zufällig anzeigen lassen? (https://www.delphipraxis.net/142523-hilfe-wie-kann-man-bilder-zufaellig-anzeigen-lassen.html)

KING_OF_BONGO 29. Okt 2009 18:19


HILFE !!! Wie kann man bilder zufällig anzeigen lassen?
 
Hallo,
ich möchte ein Spiel über Black Jack mit Delphi 5 programmieren, jedoch müssen dazu die Bilder der Spielkarten zufällig dem Spieler angezeigt werden, wie könnte ich dies bewerkstelligen?
Ich würde mich über Hilfe sehr freuen.

KING_OF_BONGO

haentschman 29. Okt 2009 18:23

Re: HILFE !!! Wie kann man bilder zufällig anzeigen lassen?
 
Hallo und willkommen :dp:

ein wenig mehr Informationen wären hilfreich. :zwinker:

- wie liegen die Karten vor (als Resource, als Bitmap ?)
- was hast du schon an Quelltext ?
- wo genau liegt das Problem ? Oder geht es um´s Prinzip ?

sei so nett und gib uns Input :zwinker:

DeddyH 29. Okt 2009 18:24

Re: HILFE !!! Wie kann man bilder zufällig anzeigen lassen?
 
Hallo und Willkommen in der DP :dp:,

den Zufallsgenerator startest Du mit Randomize (einmalig, am besten im FormCreate), eine zufällige Zahl erhältst Du mit Random. Gibst Du Random noch einen ganzzahligen Parameter mit, gilt 0 <= Zufallszahl < Parameter.

[edit] "Willkommen" mit 3 m geschrieben :oops: [/edit]

KING_OF_BONGO 29. Okt 2009 18:37

Re: HILFE !!! Wie kann man bilder zufällig anzeigen lassen?
 
@haentschman

Die Karten liegen im Bitmapformat vor.

An Quelltext liegt noch nicht viel vor(nur Exitbutton, etc.).Ich habe das Programm erst vor kurzem angefangen.

Ich bin ein Neuling in Delphi und es geht mir eigentlich nur um das Prinzip, wie man Bilder zufällig anzeigen lassen kann. Also ob man den versch. Bildern Zahlen zuweisen muss und dann sie per Zufallsgenerator anzeigen lässt oder so ähnlich.

KING_OF_BONGO

DeddyH 29. Okt 2009 18:50

Re: HILFE !!! Wie kann man bilder zufällig anzeigen lassen?
 
Ich gehe mal davon aus, dass die Bitmaps alle gleich groß sind. Dann könntest Du sie in einer TImageList ablegen, per Zufall den ImageIndex bestimmen und die entsprechende Bitmap dann anzeigen lassen.

haentschman 29. Okt 2009 18:52

Re: HILFE !!! Wie kann man bilder zufällig anzeigen lassen?
 
Was braucht man dafür:

Vorschlag:
- ein Array mit den Bitmaps der Karten so ähnlich wie hier [edit]...oder ImageList wie DeddyH vorgeschlagen hat [/edit]
- einen Zufallsgenerator
Stichworte: randomize (nur einmal aufrufen im OnCreate) und die Funktion random
- Bitmap´s auf der Form um die Bilder anzuzeigen
- durch OnClick auf einen Button Zufallsgenerator starten und das Bild (die Bilder) aus dem Array dem (den) Bitmap zuordnen (Assign)

für´s erste hast du da zu tun mit Lesen im Forum und der Hilfe :zwinker:

KING_OF_BONGO 29. Okt 2009 19:03

Re: HILFE !!! Wie kann man bilder zufällig anzeigen lassen?
 
Vielen Dank haentschman, werde es dann gleich mal probieren. :thumb:

jesus.or.christ 31. Okt 2009 16:31

Re: HILFE !!! Wie kann man bilder zufällig anzeigen lassen?
 
hier eine function von mir

Delphi-Quellcode:
function Mischen(kartenliste: TStringlist):TStringlist;
var l:integer;
begin
  randomize;
  result:=tstringlist.Create;
while kartenliste.count>0 do
  begin
    l:=random(kartenliste.Count);
    result.Add(kartenliste[l]);
    kartenliste.delete(l);
  end;
end;
der vorteil von dieser methode: jede karte wird nur einmal aufgerufen, was bei einem reinen zufallsgenerator auswurf nicht der fall ist

der parameter kartenliste is eine tstringlist, in der die karten in ungemischter reihenfolge drin sind

z.B.: 01Herz für Herz Ass
02Herz für Herz Zwei
...
ausgegeben wird eine tstringlist mit gemischter reihenfolge
nun einfach eine karte aufrufen

z.B. so:
Delphi-Quellcode:
image1.picture.bitmap.loadfromfile(gemischteStringlist[1]+'.bmp');

alzaimar 31. Okt 2009 20:08

Re: HILFE !!! Wie kann man bilder zufällig anzeigen lassen?
 
Falls noch jemand etwas zu dem Thema zu sagen hat: Hier gehts weiter.

Hier ist geschlossen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:50 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