JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=1a77cfafafcd671a30804e9de454ed13Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Zufallswert der sich nicht andauernd verändert

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
JkerryZ
JLI Master Trainee



Anmeldedatum: 18.05.2004
Beiträge: 575
Wohnort: Wolfsburg
Medaillen: Keine

BeitragVerfasst am: 23.12.2004, 18:20    Titel: Zufallswert der sich nicht andauernd verändert Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 23.12.2004, 18:52    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
FH
Super JLI'ler


Alter: 36
Anmeldedatum: 16.10.2004
Beiträge: 438

Medaillen: Keine

BeitragVerfasst am: 23.12.2004, 18:53    Titel: Antworten mit Zitat

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... Sad
</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
Benutzer-Profile anzeigen Private Nachricht senden
JkerryZ
JLI Master Trainee



Anmeldedatum: 18.05.2004
Beiträge: 575
Wohnort: Wolfsburg
Medaillen: Keine

BeitragVerfasst am: 23.12.2004, 20:37    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
JkerryZ
JLI Master Trainee



Anmeldedatum: 18.05.2004
Beiträge: 575
Wohnort: Wolfsburg
Medaillen: Keine

BeitragVerfasst am: 23.12.2004, 20:43    Titel: Antworten mit Zitat

Achso, kann ich eigentlich auch Werte in einem bestimmten Bereich zufällig generieren?

Also z.B. zwischen 100 und 500?

Gruß JkerryZ
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 23.12.2004, 20:56    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
JkerryZ
JLI Master Trainee



Anmeldedatum: 18.05.2004
Beiträge: 575
Wohnort: Wolfsburg
Medaillen: Keine

BeitragVerfasst am: 23.12.2004, 22:04    Titel: Antworten mit Zitat

Cool.
Vielen Dank!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum