| Autor |
Beitrag |
FoxFox
Hält's aus hier
Beiträge: 11
|
Verfasst: 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
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: 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.
      
Beiträge: 2750
Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
|
Verfasst: Di 06.03.07 21:25
Delphi-Quelltext 1: 2:
| 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
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Di 06.03.07 21:27
Nein, der Code erzeugt Zahlen zwischen 100 und 199. 
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
NCortex
      
Beiträge: 126
WIN 2000
D7 Enterprise
|
Verfasst: 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
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Di 06.03.07 21:56
jakobwenzel hat folgendes geschrieben: | Nein, der Code erzeugt Zahlen zwischen 100 und 199.  |
Genau genommen erzeugt es Zahlen zwischen 99 und 200 
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
Jakob Schöttl
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Do 08.03.07 23:00
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Fr 09.03.07 00:10
Das war ein Moment geistiger Umnachtung.
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
oldmax
      
Beiträge: 380
D3 Prof, D4 Prof
|
Verfasst: 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
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: 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
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: 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! 
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
FoxFox 
Hält's aus hier
Beiträge: 11
|
Verfasst: 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.
      
Beiträge: 2750
Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
|
Verfasst: 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 
Hält's aus hier
Beiträge: 11
|
Verfasst: 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
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: So 11.03.07 18:19
Das hat nichts mit der ersten Frage zu tun, darum: Neue Frage - Neuer Thread, bitte!  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.
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|