JymdisMedlem sedan mars 20015 637 inlägg
Hej!
Använder rand() funktionen litegrann men får inte de tal jag förväntar å eftersom jag arbetar mot quake 3 källkoden så kan jag varken köra ut det nånstans så jag ser vad jag får för resultat eller köra det i debugern å få ut värdet där.
Koden är:
m_Random = rand()%2+1;
och det jag vill ha är 1 eller 2.
0 eller 1 hade också fungerat jag vill helt enkelt bara alternera mellan två nummer. Fast i fortsättningen ska det kunna gå att öka det ganska lätt.
Några förslag?
mvh
Jymdis
Nexus86Medlem sedan okt. 20022 683 inlägg
Nu är jag nybörjare på C/C++ men kan en del om andra programmeringsspråk och ska det inte stå
m_Random = rand()*2;
? Eller om jag inte har alldeles fel
m_Random = round(rand()*2);
? Tror tillochmed att man kan använda
m_Random = rand(1,2);
DippMedlem sedan dec. 20024 inlägg
Du kan basera slumningen av tal på tiden genom att använda dig av:
srand(time(0));
och sedan skriva:
m_Random = (rand()%2+1);
include-filerna som behövs är följande:
#include <cstdlib>
#include <ctime>
Lycka till!
JymdisMedlem sedan mars 20015 637 inlägg
srand fungerar inte i quake3 källkoden.
har dock fått det att fungera bara genom att öka %2 till %3 (vilket och passar i hur många alternativ jag ville ha)
tack för hjälpen
matricksMedlem sedan maj 200221 inlägg
% = modelus, resten ifrån en /
tex:
1%3 = 1 (1/3 = 0 och 1 i rest)
2%3 = 2 (2/3 = 0 och 2 i rest)
3%3 = 0 (3/3 = 1 och 0 i rest)
4%3 = 1 (4/3 = 1 och 1 i rest)
Bra sätt att begränsa så att något inte stiger upp och blir för högt.