Random en C++
Random getallen… een heel triviaal gegeven.. totdat je ze moet genereren. Zoals iedereen wel weet, zijn random getallen meestal niet zo random. We noemen ze dan ook pseudo random. C++ gebruikt zule pseudo random getallen. Voor meer info over pseudo en echte random getallen, verwijs ik graag naar de cursus Ontwikkeling van Veilige Software.
Bij het kiezen van 4 subpatches in een textuur kan het dus ook voorkomen dat er bijna dezelfde worden gekozen. Misschien later echte random getallen gebruiken?
Ook eerste breinbrekers gevonden in C++. Wat blijkt, strings kan je niet zomaar concateneren met getallen. Dit werkt dus niet:
int i = 5;
string str = "Het getal "+i+" is natuurlijk.";
Nu, als men van andere talen zoals java, delphi, c#, php,.. komt, kan dit soms vreemd overkomen. Maar als men bedenkt dat in C++ een string gelijk is aan char* (of een array van chars), kan men wel al denken dat dit problemen gaat geven. De juiste code is dan ook volgend meer ingewikkeld stukje:
int i = 5;
char str[100];
sprintf(str, "Het getal %i is natuurlijk.", i);
Dit was wel even wennen (en zoeken). Maar ik kan nu toch al deftig 4 subpatches uithalen!
UPDATE:
Men kan wel gemakkelijk(er) ints naar strings omzetten, nl met:
string intToStr(int x){
std::ostringstream s;
if (s < < x)
return s.str();
return "";
}
Dit helpt wel even. :p En hier kan je dan wel de + operator gebruiken!