JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Zufall Position Problem

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Florian
Super JLI'ler


Alter: 36
Anmeldedatum: 20.06.2003
Beiträge: 302

Medaillen: Keine

BeitragVerfasst am: 03.09.2003, 10:49    Titel: Zufall Position Problem Antworten mit Zitat

Hallo
Ich habe eine Klasse erstelt mit der man ein Objekt darstellen kann.
Mit der MemberFuntkion CalcNewPos wollte ich den objekt eine zufalls
Postition geben das funktioniert auch wenn ich es alleine darstelle.
Aber wenn ich das Objekt in einer Schleife erstelle und die MemberFunktion aufrufe um jeden Objekt eine zufalls Position übergen zu können bekommt jedes Objekt die gleiche Position.Warum ich habe auch
schon mit den Befehl srand(timeGetTime) ein Startwert übergeben.
code zum beseren verstandnis:

for(int i = 1;i != 9;i++)
{
ufo[i].Create(engine.GetDevice());
ufo[i].AddTexture(mTex.GetTexture(1));
ufo[i].CalcNewPos();
}

void objekt::CalcNewPos()
{

srand(timeGetTime());

m_xPos = (float) (rand()%800+1);

m_yPos = (float) (rand()%600+1);

m_xSpeed = (float)(rand()%2);

m_ySpeed = (float)(rand()%5);
m_Size = 1;
}


Bitte helft mir
DAnke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 03.09.2003, 11:15    Titel: Antworten mit Zitat

Probiers mal damit, srand() nur einmal am Anfang des Programms(oder z.B. im Konstruktor der Klasse) auszurufen. Vermutlich läuft die Schleife so schnell ab, dass immer die selbe Zeit* für srand() verwendet wird.

*srand() erstellt aus der aktuellen Zeit einen Anfangswert. Bei gleicher Zeit ist dieser folglich auch gleich
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Kampfhund
Super JLI'ler


Alter: 42
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 03.09.2003, 13:39    Titel: Antworten mit Zitat

kann man nicht auch einfach
Code:
srand(rand())

schreiben, damit es nicht mehr von der zeit abhängt?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 03.09.2003, 18:16    Titel: Antworten mit Zitat

Dann hängt es zwar nicht mehr von der Zeit ab, aber dann steht die Anfangsposition für den Generator trotzdem immer auf der selben Stelle(glaub ich zumindest). Aber probieren kann mans allemal;)
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Florian
Super JLI'ler


Alter: 36
Anmeldedatum: 20.06.2003
Beiträge: 302

Medaillen: Keine

BeitragVerfasst am: 03.09.2003, 22:25    Titel: Antworten mit Zitat

Danke für die Antworten.
Die lösung vom Kampfhund hat gefunkt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
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