Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
20.09.2001, 06:36
greyhound000



Hi, wie programiere ich in C++ nen Zufallsgenerator, der immer eins von 8 Teilen auswählt, aber 4 davon bevorzugt?
Sogesagt das die vier öfter Drankommen als der rest?
Und wie kann ich z.b. einen Etar machen, wo ich jetzt eingeben kann,. wieviel ich wette, und wenn ich verliere werden xxx davon abgebucht, oder das doppelte draufgeucht?
Danke schonmal.

--

zum Seitenanfang zum Seitenende Profil || Suche
001
20.09.2001, 12:02
Retro



Also ich denke die einfachste möglichkeit ist, die zu bevorzugten Werte mehrmals als auswahlmöglichkeit bereitstehen:
Quellcode:
switch ( var )
{
case 1: Ausgesucht = "Wert 1";        
break;
case 2: Ausgesucht = "Wert 2";        
break;
case 3: Ausgesucht = "Wert 3";    
break;  
case 4: Ausgesucht = "Wert 4";      
break;  
case 5: Ausgesucht = "Wert 5";    
break;    
case 6: Ausgesucht = "Wert 6";    
break;    
case 7: Ausgesucht = "Wert 7";  
break;    
case 8: Ausgesucht = "Wert 8";    
break;

// nehmen wir an, die Werte 1-4 sollen bevorzugt werden:    

case 9: Ausgesucht = "Wert 1";        
break;
case 10: Ausgesucht = "Wert 2";        
break;
case 11: Ausgesucht = "Wert 3";    
break;  
case 12: Ausgesucht = "Wert 4";      
}

So ist die chance das Wert 1-4 ausgesucht wird, doppelt so hoch als bei den anderen Werten.

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
002
20.09.2001, 14:28
greyhound000



Kannst du bitte mal ne Anleitung dazu schreiben? Müssen Wert 1 usw als Variablen angegeben werden?
Und wie geht das mit dem etar?

--

zum Seitenanfang zum Seitenende Profil || Suche
003
20.09.2001, 17:39
Retro



???

Ich weis ja nicht was du coden willst... "Ausgesucht" ist in meinen Beispiel ne Variable von Typ String. Wenn bei deinen Zufalls generator die Zahl 7 rauskommt, müsstest du in in eine Variable ("var" in meinen Beispiel) schreiben, und dannach den Switch-Befehl wie ich geschrieben habe.

Da in der Variable (var) jetzt eine 7 steht, wird "case 7" angesprochen, und als Anweisung in "case 7" steht: Quellcode:Ausgesucht = "Wert 7" Da wird der Wert der Variable (Ausgesucht) auf "Wert 7" gesetzt, also steht jetzt in der Variable der Text: "Wert 7".

Ansonsten lies mal nen C++ buch, und guck die die CASE anweisung an... is nicht so schwer.

Zur not gib mir den bisheriegen Code von deinem Programm und ich bau die die case zufallsanweisung ein.
Vorteil = Du musst nichts für tun
Nachteil = Du lernst nicht

Musst du wissen...

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
004
20.09.2001, 20:49
tommsch



eine kürzere möglichkeit wärs, die zufallszahl zu quadriern und nachher dir nachkommastellen abschneidn. INT(n)
so würdn di mittleren zahln öfter kommen

--

"Wenn schon Sklave, dann überzeugter Sklave" - Steindl über techn. Zeichner

zum Seitenanfang zum Seitenende Profil || Suche
005
20.09.2001, 21:03
greyhound000



Also ich hab ein C++ Buch gelesen, und warte jetzt auf meinen VB C++ 6.0.
Zur zeit Code ich derweilen mit einem DoS Compiler (jaja lacht mich nur aus :) )
ICh programiere gerade ein TExtbasiertes Spiel (Noch mehr haha)
Aber ich finde es gut zum einsteigen, und auch die Funktionen Auszuprobieren.

--

zum Seitenanfang zum Seitenende Profil || Suche
006
21.09.2001, 18:00
gerk



MaNcHe LEUtE hAbEN aUcH eIn PRoblEm MiT deR ShiFt-TasTe!

--

„Und da wir uns ja seit heute etwas näher gekommen sind, kann ich nur sagen: Mir hilft da immer Norther volle Lautstärke (so wie jetzt), sodass die ganzen unrasierten, Wasserpfeife rauchenden, alternativen Wichsstudenten aus ihren, aus Bananenschalen und Abfall gebastelten, Sitzkissen fliegen.“

zum Seitenanfang zum Seitenende Profil || Suche
007
21.09.2001, 18:10
apfelkorn



also ich wollte ungern was sagen, aber die eigentliche Frage ist nicht beantwortet worden...
Ich hab mich mal ein wenig umgeschaut und mir ist der Zufallsgenerator von Diablo2 ins Auge gefallen, wie schon Pref von Darthpaul in einem früheren Post postete:
Quellcode:
struct RAND
{
DWORD Seed;
DWORD Carry;
};
inline DWORD Random(RAND *rnd)
{
DWORDLONG x = rnd->Seed;
x *= 0x6ac690c5;
x += rnd->Carry;
rnd->Seed = DWORD(x);
rnd->Carry = WORD(x >> 32);
return rnd->Seed;
}

und dann das ergebnis modifizieren. Aber ich denke schon, das der Generator gut ist...

--

zum Seitenanfang zum Seitenende Profil || Suche