rnd()

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

darth

Betreff: rnd()

BeitragFr, Aug 05, 2005 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
hi...
mich würd mal interessieren, wie dr comp so n rnd befehl macht - ich mein, der kann ja nicht wählen, n comp macht nur, was man ihm sagt, zufälle gibt es eigentlich gar nicht...
(und für alle compcracks für die das klar ist ^^ bitte zerreisst mich nicht in der luft - thx)
... thx
Diese Signatur ist leer.

simi

BeitragFr, Aug 05, 2005 20:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Bei den Programmiersprachen sind ja die Zahlen nicht zufällig... Du musst ja immer SeedRnd Millisecs() anwenden .....

Mehr => http://de.wikipedia.org/wiki/Pseudozufallszahlen

Ich glaube hab mal bei einem Delphi-Buch gelesen, dass die Zahlen mithilfe der Zeit errechnet werden..... Wink

garret

BeitragFr, Aug 05, 2005 20:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke, dass in jeden Computer ein Liliputaner eingebaut ist, der Zufallszahlen schreit Wink
Wenn man keine Wasserkühlung hat, verdurstet er und der Zufall funktioniert nicht mehr. Zerlegt am Besten mal alle eure PC's und ihr werdet ihn finden Wink

Beim ganz alten BASIC (noch für C64 *schwärm*) genügte auch ein Befehl für Zufall, allerdings musste der Zahlenbereich etwas errechnet werden. Man sollte Rnd() oder Rand() gleich "von Hause aus" mit Millisecs verknüpfen, das wäre praktischer.
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht)

Lunatix

BeitragFr, Aug 05, 2005 21:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab meinen vor kurzem mit nem Zombie verwechselt...
setdem ist mein PC rot, es sind 380 einschusslöcher drin(Typisch Ami, meine schwäche) und der linke arm steckt im an/aus schalter....
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

darth

Betreff: thx

BeitragSa, Aug 06, 2005 0:25
Antworten mit Zitat
Benutzer-Profile anzeigen
danke
^^ ich werd den liliput mal suchen, (was isst der? doch nicht etwa strom???) - naja, jedenfalls danke für die antworten =) mein wissensdurst (nicht mit der pckühlung) ist gestillt
gruss, darth
Diese Signatur ist leer.
 

David

BeitragSa, Aug 06, 2005 12:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Zu Zufallszahlengenerierung hab ich ma ein kleines Beispiel geschrieben:

Code: [AUSKLAPPEN]

#include <stdio.h>

class FRandom
{
public:
                  FRandom( void );
                  FRandom( int _nSeed );
                  
   void            SetSeed( int _nSeed );
   int               GetSeed( void );
   
   int               RandomInt( void );
   int               RandomInt( int _nMax );
   int               RandomInt( int _nMin, int _nMax );
   
   static const int   MAX_RAND = 0x7fff;
   
private:
   int               m_nSeed;
};

FRandom::FRandom( void )
   : m_nSeed( 0 )
{}

FRandom::FRandom( int _nSeed )
   : m_nSeed( _nSeed )
{}

void FRandom::SetSeed( int _nSeed )
{
   m_nSeed = _nSeed;
}

int FRandom::GetSeed( void )
{
   return m_nSeed;
}

int FRandom::RandomInt( void )
{
   m_nSeed = 69069 * m_nSeed + 1;
   return ( m_nSeed & FRandom::MAX_RAND );
}

int FRandom::RandomInt( int _nMax )
{
   if ( _nMax == 0 )
      return 0;
      
   return RandomInt() % _nMax;
}

int FRandom::RandomInt( int _nMin, int _nMax )
{
   if ( _nMin == 0 || _nMax == 0 )
      return 0;
      
   if ( _nMin > _nMax )
      return 0;
      
   return _nMin + RandomInt( _nMax );
}

int main(int argc, char *argv[])
{
   FRandom rand;
   
   for ( int i = 0; i < 20; i++ )
   {
      printf( "%i\n", rand.RandomInt() );
   }
   
   return 0;
}



Hierbei kommen bei jedem Durchlauf die gleichen "zufälligen" Zahlen raus. Deshalb muss die Membervariable "seed" auf einen Wert gesetzt werden (den aktuellen Tickcount z.B.).

grüße
 

BlitzBasic303

Betreff: RE:

BeitragSa, Aug 06, 2005 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Is doch ganz einfach! mehrere Ic´s SN7490 und ein paar transistoren und du hast ein zufallsschaltung die wird dann einfach aufs Mainboard gelötet!

Triton

BeitragSa, Aug 06, 2005 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist schon eher ein Thema das mit Programmieren zusammenhängt

Arrow Verschoben nach allgemein.
Coding: silizium-net.de | Portfolio: Triton.ch.vu

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group