|
Verfasser |
Nachricht |
DoubleDD_aka_domis4
Durchstarter
Beiträge: 62
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 8
|
Zufallsgenerierte Zahl
ich versuche eine art zufallsystem zu schreiben, der einen Wert zurückgibt. damit ich sicher gehen kann, zum Debugging soll er den jeweiligen Wert ausgeben.
if (grasskontakt==1){
float drawrand, r;
r = rand() % 10 + 1;
sprintf(drawrand, "%d", r);
prints(256, 176, drawrand , c_white);
}
grasskontakt ist 1, jedoch bekomme ich keine Zahl ausgegeben
|
|
14.05.2012 18:09 |
|
|
|
duLouser
Halbprofi
Beiträge: 138
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 49
|
RE: Zufallsgenerierte Zahl
Das Leben ist ein scheiß Spiel, aber die Grafik ist Geil!!!
Blade! 0.7
Dieser Beitrag wurde zuletzt bearbeitet: 20.05.2012 15:38 von duLouser.
|
|
14.05.2012 19:18 |
|
Folgende User bedanken sich: |
|
dx3m
Manta
Beiträge: 490
Gruppe: Developer
Registriert seit: Aug 2010
Status:
Abwesend
Danke erhalten: 643
|
RE: Zufallsgenerierte Zahl
Das Problem ist die ausgabe:
um int auszugeben brauchst du ja %i
jedoch wird %d ebenfalls für int benutzt
du musst statt %d folgendes schreiben: %e oder %f
der unterschied wird dir im Link erklärt
Zum nachlesen: http://de.wikibooks.org/wiki/C-Programmierung:_Einfache_Ein-_und_Ausgabe
MÜLL!
Das ist das einzige Kommentar dazu
So mein lieber DoubleDD_aka_TittenJohnny:
char sometext[20];
int r = rand() % 10 + 1;
sprintf(sometext, "%f", (float)r);
printf("\n%s\n", sometext);
Das hier währ richtig!
Aber warum ZUR HÖLLE setzt du das Ziel von sprintf auf ein float?!
Dieser Beitrag wurde zuletzt bearbeitet: 15.05.2012 20:42 von dx3m.
|
|
15.05.2012 20:34 |
|
Folgende User bedanken sich: |
|
DoubleDD_aka_domis4
Durchstarter
Beiträge: 62
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 8
|
RE: Zufallsgenerierte Zahl
ich weiß nicht, floats klingen intelligenter?
DoubleDD_aka_TittenJohnny
wer hat dir das erzählt?!
|
|
16.05.2012 15:40 |
|
|
|
dx3m
Manta
Beiträge: 490
Gruppe: Developer
Registriert seit: Aug 2010
Status:
Abwesend
Danke erhalten: 643
|
RE: Zufallsgenerierte Zahl
ich weiß nicht, floats klingen intelligenter?
Intelligent?
int sprintf ( char * str, const char * format, ... );
Glaub ich weniger
DoubleDD_aka_TittenJohnny
wer hat dir das erzählt?!
Das..? Joa.. das hab ich mir ausgedacht
Dieser Beitrag wurde zuletzt bearbeitet: 16.05.2012 17:39 von dx3m.
|
|
16.05.2012 16:45 |
|
|
|
DoubleDD_aka_domis4
Durchstarter
Beiträge: 62
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 8
|
RE: Zufallsgenerierte Zahl
Anmerkung: mein letzter Beitrag bediente sich dem Stilmittel der Ironie...
|
|
16.05.2012 18:38 |
|
|
|
DoubleDD_aka_domis4
Durchstarter
Beiträge: 62
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 8
|
RE: Zufallsgenerierte Zahl
ich möchte noch eine kurze Frage hinzufügen, da ich gerade daran nicht weiterkomme.
ich habe mir mit zwei for-schleife eine Abfrage erstellt, ob ich ein bestimmtes objekt berühre.
sollte es so sein, wird eine zufällige zahl erstellt. Jedoch habe ich das Problem, dass die zahl (solange ich mich auf diesem objekt befinde) unendlich generiert wird. das soll nur einmal passieren. jedoch startet die for-schleife die berechnung erneut, weshalb also die zahl erneut generiert wird.
http://pastebin.com/KvuJTQrD
|
|
19.05.2012 10:17 |
|
|
|
SIM sk
Experte
Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 135
|
RE: Zufallsgenerierte Zahl
dieser befehl kommt dann vor die Hauptschleife
denke ich mir mal, da alles was in der hauptschleife ist sich wiederholt ^^
|
|
19.05.2012 11:10 |
|
|
|
DoubleDD_aka_domis4
Durchstarter
Beiträge: 62
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 8
|
RE: Zufallsgenerierte Zahl
könntest du das genauer erläutern? mit der Haupt-schleife meinst du die erste?
|
|
19.05.2012 11:21 |
|
|
|
SIM sk
Experte
Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 135
|
RE: Zufallsgenerierte Zahl
ich weiß nciht wie die in c heißt aber in lua ist es die while true do schleife
|
|
19.05.2012 11:49 |
|
|
|
DoubleDD_aka_domis4
Durchstarter
Beiträge: 62
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 8
|
RE: Zufallsgenerierte Zahl
eine while Schleife ist eine While schleife, auch in C.
eine for schleife ist dagegen eine for schleife, in C wie auch in lua
|
|
19.05.2012 11:56 |
|
|
|
SIM sk
Experte
Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 135
|
RE: Zufallsgenerierte Zahl
der befehl kommt dann for die While schleife kann mich aber auch irren
einfach mal ausprobieren
|
|
19.05.2012 12:02 |
|
|
|
DoubleDD_aka_domis4
Durchstarter
Beiträge: 62
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 8
|
RE: Zufallsgenerierte Zahl
for schleife:
for (Wird ausgeführt; Bedingung; wird ausgeführt){ wird ausgeführt; }
while do schleife:
while (bedingung){
wird ausgeführt;
}
hier ein wenig genauer erklärt
zwei schleifen, ich benutze erstere
|
|
19.05.2012 20:17 |
|
|
|
SIM sk
Experte
Beiträge: 632
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 135
|
RE: Zufallsgenerierte Zahl
was auch immer ich versuche ya auch nur zuhelfen -.-
dann packst du den Befehl eben außerhalb der for schleife.
Oder keine Ahnung leck mich sonst wo und finde es selber herraus
Dieser Beitrag wurde zuletzt bearbeitet: 19.05.2012 23:24 von SIM sk.
|
|
19.05.2012 23:23 |
|
|
|
~Hook~
C-Coder
Beiträge: 1.706
Gruppe: User
Registriert seit: Dec 2010
Status:
Offline
Danke erhalten: 1129
|
RE: Zufallsgenerierte Zahl
.. , ich benutze erstere
...welche du auch noch falsch erklärt hast^^
for (initialisierung; bedingung; schrittzählung){ //blabla }
Kleines Beispiel:
int pressed = 0; int i;
for(i=0; i<3; i+=1) { if (i==pressed) { //Blub } }
Wenn du noch nichtmal Schleifen richtig anwenden kannst, dann würde ich an deiner Stelle weiter C lernen ...
Zu deinem Problem:
So wie ich das verstanden habe, willst du, dass wenn du ein Objekt berührst, dass nur einmal eine zufällige Zahl erstellt und ausgegeben wird, oder?
Erstell doch einfach eine Variable, die überprüft ob schon eine Zahl erstellt wurde, und wenn ja, dann bricht die Schleife einfach ab.
|
|
20.05.2012 00:23 |
|
Folgende User bedanken sich: |
|
|