Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
JkerryZ JLI Master Trainee
Anmeldedatum: 18.05.2004 Beiträge: 575 Wohnort: Wolfsburg Medaillen: Keine
|
Verfasst am: 23.12.2004, 18:20 Titel: Zufallswert der sich nicht andauernd verändert |
|
|
Hallo.
Ich möchte für ein Bild eine zufällige Position auf der Y-Achse generieren.
Das Problem ist nur, dass er die ganze Zeit neue Werte generiert. Es soll immer dann ein neuer Wert generiert werden, wenn die Position des Bildes auf der X-Achse kleiner als 5 ist. Dafür habe ich eine If-Anfrage eigebaut.
Jetzt zum Problem: Das erste mal wird das Bild an der Y-Position angezeigt an der ich es im Quellcode platziert habe. Ist dann der X-Wert kleiner als 5 wird eine neue Position generiert. Aber wenn das Bild jetzt wieder einen kleineren X-Wert als 5 bekommt, werden keine neuen Werte mehr generiert.
So und jetzt noch ein bisschen Code:
Code: | int baumstamm_x = 500;
int baumstamm_y = 500;
int baumstamm_xv = 5;
int Hindernisse(void)
{
baumstamm_x -= baumstamm_xv;
if (baumstamm_x <= 5 && baumstamm_x >= 0)
{
baumstamm_y = rand()%100;
}
return 1;
} |
Vielen Dank,
JkerryZ |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 23.12.2004, 18:52 Titel: |
|
|
Code: | int baumstamm_x = 500;
int baumstamm_y = 500;
int baumstamm_xv = 5;
int Hindernisse(void)
{
baumstamm_x -= baumstamm_xv;
while (baumstamm_x <= 5)
{
baumstamm_y = rand()%100; //was soll das O.o
baumstamm_x = rand()%100; //was soll das O.o
}
return 1;
} |
_________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
FH Super JLI'ler
Alter: 36 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 23.12.2004, 18:53 Titel: |
|
|
Kann es sein, dass der Baumstein irgendwo bei -? liegt? Dann sagt deine Bedningung false... Weil der Zufallsgenerator anscheinend auch nicht mit srand initialisiert ist, passiert der gleiche Fehler immer wieder... Ich würde einfach das "&& baumstamm_x >= 0" rausnehmen.
Gruß
FH
<edit>
OK, Fallen war schneller...
</edit> _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
|
JkerryZ JLI Master Trainee
Anmeldedatum: 18.05.2004 Beiträge: 575 Wohnort: Wolfsburg Medaillen: Keine
|
Verfasst am: 23.12.2004, 20:37 Titel: |
|
|
Vielen Dank für die Antworten.
Das mit das mit if zu machen und nur das >= 0 rausnehmen funktioniert nicht. Der Wert wird also immer wieder zufällig generiert.
Das mit dem While funktioniert. Allerdings nur, wenn man den X-Wert auch immer wieder zufällig generieren lässt, oder man ihm eine neue Koordinate zuweist. Das habe ich gemacht, da es für mein Vorhaben zweckmäßiger ist.
Lange Rede kurzer Sinn, das ganze sieht jetzt so aus und funktioniert:
Code: | while (baumstamm_x <= 5)
{
baumstamm_y = rand()%100;
baumstamm_x = 1030;
} |
Also nochmal vielen Dank euch beiden.
Gruß JkerryZ |
|
Nach oben |
|
|
JkerryZ JLI Master Trainee
Anmeldedatum: 18.05.2004 Beiträge: 575 Wohnort: Wolfsburg Medaillen: Keine
|
Verfasst am: 23.12.2004, 20:43 Titel: |
|
|
Achso, kann ich eigentlich auch Werte in einem bestimmten Bereich zufällig generieren?
Also z.B. zwischen 100 und 500?
Gruß JkerryZ |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 23.12.2004, 20:56 Titel: |
|
|
Code: | int Zufall(int inMin, int inMax)
{
return rand()%(inMax-inMin)+inMin;
} |
_________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
JkerryZ JLI Master Trainee
Anmeldedatum: 18.05.2004 Beiträge: 575 Wohnort: Wolfsburg Medaillen: Keine
|
Verfasst am: 23.12.2004, 22:04 Titel: |
|
|
Cool.
Vielen Dank! |
|
Nach oben |
|
|
|