Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Anwender wählt Random Range selber aus?
FoxFox - Di 06.03.07 21:17
Titel: Anwender wählt Random Range selber aus?
Hallo,
Erstmal vorweg -> ich habe von Delphi noch nicht all zu viel Ahnung, aber ich hoffe ihr könnt mir trotzdem weiterhelfen.
So, nun zu meinem Problem. Ich möchte zum Spaß ein kleines Zahlenrate-Spiel Programmieren.
Ein ganz einfaches. Der Anwender tipt eine Zahl in das vorhandene Kästchen und im Label steht dann ob diese Zahl höher und niedrieger zur vorher generierten RandomZahl ist.
Nun, eigentlich klappt auch alles wunderbar. Allerdings nur wenn ich die Range vorgebe (zB. 100). So werden nur Zahlen generiert zwischen 1 und 100.
Ich möchte aber jetzt, dass der Anwender selber bestimmen kann von wo bis wo die Range geht (Ambesten 2x editfenster). Habe schon mehrere Sachen mit Variablen ausprobiert aber es klappt einfach nicht.
Hoffe ihr könnt mir helfen.
Danke
FoxFox
Jakob Schöttl - Di 06.03.07 21:23
Die obere Range legst du ja fest durch den Parameter. Dann ist die Zufallszahl >= 0 und < Range.
Wenn du die untere Grenze auch festlegen willst, musst du Random(max-min)+min;
wenn ich mich nicht irre - das Prinzip stimmt jedenfalls.
Marco D. - Di 06.03.07 21:25
Delphi-Quelltext
1: 2:
| zahl := random(100) + 100; |
jakobwenzel - Di 06.03.07 21:27
Nein, der Code erzeugt Zahlen zwischen 100 und 199. :wink:
NCortex - Di 06.03.07 21:27
du musst natürlich dir vorher die variablen anlegen:
var min, max : integer;
und dann vor deiner random funktion zuweisen:
min = strtoint(Edit1.Text);
max = strtoint(Edit2.Text);
etc
JayEff - Di 06.03.07 21:56
jakobwenzel hat folgendes geschrieben: |
| Nein, der Code erzeugt Zahlen zwischen 100 und 199. :wink: |
Genau genommen erzeugt es Zahlen
zwischen 99 und 200 ;)
Jakob Schöttl - Do 08.03.07 23:00
JayEff hat folgendes geschrieben: |
jakobwenzel hat folgendes geschrieben: | | Nein, der Code erzeugt Zahlen zwischen 100 und 199. :wink: |
Genau genommen erzeugt es Zahlen zwischen 99 und 200 ;) |
(x >= 100) and (x < 200) ;)
Bei
Random(100) sinds ja auch keine Zahlen zwischen -1 und 100, oder?
JayEff - Fr 09.03.07 00:10
Das war ein Moment geistiger Umnachtung.
oldmax - Fr 09.03.07 07:33
Hi
Ich will auch mal zur Verwirrung beitragen....
wir reden von "zwischen" und da ist's eben richtig, was JeyEff formulierte
-2,-1./(ab hier zwischen -1 ..) 0, 1, ..... 98, 99 (und 100)/ 100, 101
Was anderes wäre von .... bis ..
Gruß oldmax
Jakob Schöttl - Fr 09.03.07 07:50
oldmax hat folgendes geschrieben: |
Hi Ich will auch mal zur Verwirrung beitragen.... wir reden von "zwischen" und da ist's eben richtig, was JeyEff formulierte |
jaaaa, aber wenn die Zufallszahlen (ohne Offset) Komma-Zahlen wären, dann könnten sie auch nicht kleiner 0 sein, deswegen x >= 0 und x < Range.
Ja, aber natürlich stimmt es, wenn man dazusagt, dass es ganze zahlen sind ;)
JayEff - Fr 09.03.07 14:41
oldmax hat folgendes geschrieben: |
wir reden von "zwischen" und da ist's eben richtig, was JeyEff formulierte |
Ah ja, das hatte ich mir dabei gedacht, stimmt ja! :zustimm:
FoxFox - So 11.03.07 15:40
Okay,
Danke für eure Hilfe, nur habe ich immernoch ein kleines Problem.
Bei mir kommt immer, egal was ich mache "1" heraus.
Wenn ich zB. so etwas mache:
Zahl := Random(100)+1;
um eine Zufallszahl zwischen 1 und 100 zu generieren (zu Testzwecken), kommt bei mir komischer weiser immer die 1 heraus. Weiß jemand wie ich das ändern kann?
Danke
Marco D. - So 11.03.07 15:49
Hast du auch Randomize aufgerufen?
FoxFox - So 11.03.07 16:58
Marco D. hat folgendes geschrieben: |
| Hast du auch Randomize aufgerufen? |
Ja habe ich. Aber hab das Problem selber lösen können. Jetzt ist mein kleine "Spiel" fertig.
Da ich das Programmieren noch lerne möchte ich aber noch einiger "Features" einbauen. Als erstes kam mir eine Art Highscoreliste in den Sinn, wo die Leute mit den wenigsten Versuchen abgespeichert werden. Ist das viel Aufwand? :)
JayEff - So 11.03.07 18:19
Das hat nichts mit der ersten Frage zu tun, darum: Neue Frage - Neuer Thread, bitte! :mahn: Das hat den Sinn, dass ein Suchender nicht lauter "Ich hab 6 Fragen:" und "537 Probleme, bitte helft!" Themen findet ;)
Aber zu deiner Frage: Es ist kompliziert, wenn du das ganze online veröffentlichen willst. Wenn es nur in einer Datei gespeichert sein soll, ist es ganz einfach.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!