Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
void bigrect::RandomColor() { srand((unsigned)(time(NULL))); //Zufallsgenerator aktivieren b_color_r = rand()%256; //RGB-Farbwerte generieren b_color_g = rand()%256; // "" b_color_b = rand()%256; // "" } void bigrect::CalculateRect() { RECT b_mainrc; //Rect für den Clientbereich GetClientRect(hWnd,&b_mainrc); //Größe des Clientbereich holen srand((unsigned)(time(NULL))); //Zufallsgenerator aktivieren int b_x_iPosition = rand()%b_mainrc.right; //einen x-Wert aus der Breite des Clientbereich generieren int b_y_iPosition = rand()%b_mainrc.bottom; //einen y-Wert aus der Höhe des Clientbereich generieren b_rc_to_draw.top = b_y_iPosition; b_rc_to_draw.left = b_x_iPosition; b_rc_to_draw.bottom = b_y_iPosition + b_height; b_rc_to_draw.right = b_x_iPosition + b_width; } |
Anonymous
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
const unsigned int random( const unsigned int lo, const unsigned int hi) { // number of different values const unsigned int diff = hi - lo + 1; // determine shift distance unsigned int v = diff-1; unsigned int c = 15; if (diff>1) { --c; while (v >>= 1) --c; } unsigned int r; do { // shift random number to the right r = rand() >> c; } while (r>=diff); // repeated until small enough // add lower bound return r + lo; } ... int zahl = random(0,9999); |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
void smallrect::RandomColor() { s_color_r = random(0,254); //RGB-Farbwerte generieren s_color_g = random(0,254); // "" s_color_b = random(0,254); // "" } void smallrect::CalculateRect() { RECT s_mainrc; //Rect für den Clientbereich GetClientRect(hWnd,&s_mainrc); //Größe des Clientbereich holen int s_x_iPosition = random(0,s_mainrc.right); //einen x-Wert aus der Breite des Clientbereich generieren int s_y_iPosition = random(0,s_mainrc.bottom); //einen y-Wert aus der Höhe des Clientbereich generieren s_rc_to_draw.top = s_y_iPosition; s_rc_to_draw.left = s_x_iPosition; s_rc_to_draw.bottom = s_y_iPosition + s_height; s_rc_to_draw.right = s_x_iPosition + s_width; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#include <stdio.h> #include <time.h> #include <iostream> int p1 = 17; // grosse Primzahl int p2 = 13; // andere grosse Primzahl int seed = 0; // Startwert des Generators int my_rand () { int r = (seed + p1) % p2; // Naechsten Wert berechnen seed = r; // als neue Quelle merken return r; } void my_seed (int s) { seed = s; // Manuell einen neuen Startwert erzeugen } int _tmain(int argc, _TCHAR* argv[]) { my_seed (time (NULL)); // Die ersten 13 Werte sind "zufaellig" und alle Zahlen // in [0, 12] kommen vor. Dann wiederholt sich die // Reihenfolge wieder... for (int i = 0; i < 15; ++i) std::cout << my_rand () << ' '; getchar (); } |
Werbeanzeige