Autor Beitrag
FoxFox
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 06.03.07 21:17 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Di 06.03.07 21:25 
ausblenden Delphi-Quelltext
1:
2:
//erzeugt Zahlen zwischen 100 und 200
zahl := random(100) + 100;

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Di 06.03.07 21:27 
Nein, der Code erzeugt Zahlen zwischen 100 und 199. :wink:

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
NCortex
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 126

WIN 2000
D7 Enterprise
BeitragVerfasst: 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

_________________
"...by all means, do not use a hammer." (aus einer IBM Technikerdokumentation ca. 1920)
--->außer es kam von Microsoft<---
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Di 06.03.07 21:56 
user profile iconjakobwenzel 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: Do 08.03.07 23:00 
user profile iconJayEff hat folgendes geschrieben:
user profile iconjakobwenzel hat folgendes geschrieben:
Nein, der Code erzeugt Zahlen zwischen 100 und 199. :wink:

Genau genommen erzeugt es Zahlen zwischen 99 und 200 ;)


(x >= 100and (x < 200) ;)
Bei Random(100) sinds ja auch keine Zahlen zwischen -1 und 100, oder?
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Fr 09.03.07 00:10 
Das war ein Moment geistiger Umnachtung.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: 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

_________________
Zier dich nich so, ich krieg dich schon....
Jakob Schöttl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: Fr 09.03.07 07:50 
user profile iconoldmax 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Fr 09.03.07 14:41 
user profile iconoldmax 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 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: So 11.03.07 15:49 
Hast du auch Randomize aufgerufen?

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
FoxFox Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: So 11.03.07 16:58 
user profile iconMarco 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: 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.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.