Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Animiertes randomize (https://www.delphipraxis.net/195-animiertes-randomize.html)

Privateer3000 18. Jun 2002 21:51


Animiertes randomize
 
Hallo Leuts,

wie man aus einer Zahlen-Range eine zufällige ermittelt ist klar.
Aber wie kann man das visuell darstellen?
Ich meine ein schnelles "durchrattern" der Zahlen bis zum Stillstand.
Ich fürchte das dies immer nur eine Animation ist , nie die "echten" Zahlen,oder?

Grüsse aus der brühenden Hitze einer Dachwohnung :x

MrSpock 18. Jun 2002 21:57

Hallo Privateer3000,

jedes Canvas kennt das Array Pixels. Du könntest x und y durch Zufall ermitteln und den Punkt farbig (eventuell auch noch zufällig) darstellen.

Wäre das so was, was du meinst?

Privateer3000 18. Jun 2002 22:12

Dazu muss ich mich erstmal mit Canvas mehr beschäftigen.
Bisher hab ich es nur mit Textout verwendet, mal sehen ob ich zurechtkomme.
Mit x und y meinst Du bestimmt Koordinaten??

Grüsse

Luckie 18. Jun 2002 22:37

Versuch es mal so:
Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
  Progressbar1.Max := Width;
  Progressbar2.Max := Height;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
 x, y: DWORD;
begin
  x := Random(Width);
  y := Random(Height);
  Form1.Canvas.Pixels[x,y] := clRed;
  Form1.Canvas.Pixels[x+1,y+1] := clRed;
  Form1.Canvas.Pixels[x+1,y] := clRed;
  Form1.Canvas.Pixels[x,y+1] := clRed;
  Progressbar1.Position := x;
  Progressbar2.Position := y;
end;
Schöne Animation mit den Progessbars.

Privateer3000 19. Jun 2002 07:13

sorry, aber ich fürchte das verstehe ich nicht.
ok,nehmen wir ein Beispiel "aus dem Realen Leben" - Kartenspiel :lol:

Spielkarten :32

Jetzt soll eine zufällige ermittelt werden.Die ermittlung soll 3sek dauern.
In diesen 3 sek soll eine Animation alle Karten durchrattern, visuell.
Setzt man dafür eine "fertige" z.b. mit eine Gif-Animator erzeugte Animation ein oder kann man das mit Delphi auch machen?

Luckie 19. Jun 2002 07:18

Spiel doch diese drei Sekunden eine kleine AVI-Datei ab.

Privateer3000 19. Jun 2002 07:22

das hab ich mir fast gedacht....
mit den Zahlen ist es ebenso...richtig??

jbg 19. Jun 2002 07:26

Wenn du gerade von Karten redest:
Hier gibt es eine Kartenkomponente, die nicht auf der Cards.dll aufbaut.

MrSpock 19. Jun 2002 08:22

Hallo Privateer3000,

wenn du die Cards Kompo, die jbg vorschlägt, installiert hast. Ziehe eine Karte auf deine Form und setze ShowCard auf True. Füge eine Timer Kompo hinzu und setze Enabled auf False und Interval auf 100. Dann füge den folgenden Code dem OnTimer Ereignis zu:

[code:1:2cb5f3cf4d]procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Tag := Timer1.Tag +1;
if Timer1.Tag = 30 then
begin

sakura 19. Jun 2002 09:04

@Privateer3000

Um mal auf die Frage zu kommen - richtige Zahlen darstellen und nur eine kleine vorbereitete Animation?

Eigentlich völlig egal. Es kommt nur auf die Zahl am Ende an und diese sollte die richtige sein. Aber mal ehrlich, wenn Du die letzte Zahl darstellen kannst, dann kannst Du doch auch die Zufallszahlen zwischendurch mit Hilfe der gleichen Prozedur darstellen, oder?

Privateer3000 19. Jun 2002 12:35

@ Spocki
Danke für den Vorschlag...mit installieren meinst du sicherlich als Komponente installieren.Muss das fragen da ich es noch nicht gemacht habe.(War bisher mit den vorhanden zufrieden :wink: )
Ich probiere es mal aus!

Danke!

@sakura
Ich wollte es doch nur mal Interessehalber mal wissen.Sicherlich würde das auch gehen, würde es doch bloss mal ausprobieren wollen.

Aber mit den Karten ist schon interessant...kann man vielleicht irgendwo verwenden.So als Zeitvertreib :mrgreen: im Büro


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