![]() |
Zufallsgenerator
Hey ho ...
Ich bin neu hier und hab auch erst vor kurzem angefangen mit Delphi zu programmieren. Nun möchte ich ein kleines Spiel programmieren. Wie schaff ich es, wenn ich jetz zum Beispiel 20 Shapes hab und ich möchte, dass immer nur 1 engezeigt wird. Aber welches angezeigt wird, soll per Zufall entschieden werden. Könnt ihr mir helfen !? kann man es so machen, dass man einfach alle versteckt und dann eben immer eins sichtbar werden lässt !? wenn ja wie würde das im Text aussehen !? Danke Flo |
Re: Zufallsgenerator
du könntest mit random einen Wert zwischen 1 und 20 erzeugen und dann das jeweilige Shape mit FindComponent suchen, aber ich glaube TComponent hat keine Eigenschaft Visible...
//Edit: :party: :party: Ein herzliches Willkommen in der DP :party: :party: //Nr.2: Also bliebe dir case... |
Re: Zufallsgenerator
|
Re: Zufallsgenerator
Nicht vergessen vorher
Delphi-Quellcode:
zu schreiben (Am besten in OnCreate der Form).randomize; |
Re: Zufallsgenerator
Hi,
meines Wissens hat FindComponent die Eigenschaft Visible. Eine kleine Hilfe FloJo: Randomize; tust du in die FormCreate und folgenden Code führst du aus, wenn eine Zufallszahl gewählt werden soll. (Z.B. Timer, Button, etc.)
Delphi-Quellcode:
Und danach kannst du mit deinem Zufallswert und
var
Zufallswert: Integer; begin Zufallswert = Random(20)+1; // + 1, weil sonst zwischen 0 und 19 ein Wert "gewürfelt wird" end; ![]() |
Re: Zufallsgenerator
Delphi-Quellcode:
so könnte man es machen :)
var
shape: array[0..19] of TShape; i, randomValue: integer; begin ... randomize; randomValue = random(high(shape)); shape[randomValue].Visible := true; end; Mit freundlichen Grüßen Flo |
Re: Zufallsgenerator
Hey!
Vielen Dank für euren schnellen Antworten! Wenn ich ausem Geschäft wieder daheim bin, werd ichs gleich ma testen ;-) Danke und Gruß Flo |
Re: Zufallsgenerator
Zitat:
Delphi-Quellcode:
RandomValue := Random(Length(Shapes));
|
Re: Zufallsgenerator
FindComponent gibt eine TComponent zurück, Komponenten sind die Oberklasse für Kontrollelemente und nichtvisuelle Komponenten. Daher besitzt TComponent keine Visible-Eigenschaft. (FindComponent('wuppdi') as TControl).Visible müsste klappen. Allerdings ist FindComponent schlechter Stil, besser ist ein Array oder eine TObjectList oder was in der Art.
|
Re: Zufallsgenerator
Hey.
Also habs probiert und es hat dann auch mit hilfe von dem Code : var Zufallswert: Integer; begin Zufallswert = Random(20)+1; // + 1, weil sonst zwischen 0 und 19 ein Wert "gewürfelt wird" end; und dann dem Findcomponent geklappt ;-) ! Danke für eure Hilfe, ich werd sie sicher bald wieder brauchen ;-) flo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 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