May 17, 2011 at 4:16pm UTC
im trying to seed a random number and have it output a dice accoring to what the number is but i have been running into trouble when trying to make the second die roll random it ends up just giving the same number twice. Any Help?
tried using this code:
#include <stdlib.h>
#include <time.h>
#include <iostream>
#include "diceroll.h"
using namespace std;
int main()
{
int randnum, randnuma;
srand(time(NULL));
randnum = (rand() % 5 + 1);//sets what the random number will be
cout<<randnum<<endl; //output what randnum is
switch (randnum)//SHOWS THE OUTPUT
{
case 1:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ³" << endl;
cout << "³ ß ³" << endl;
cout << "³ ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 2:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ³" << endl;
cout << "³ ³" << endl;
cout << "³ ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 3:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ³" << endl;
cout << "³ ß ³" << endl;
cout << "³ ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 4:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ß ³" << endl;
cout << "³ ³" << endl;
cout << "³ ß ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 5:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ß ³" << endl;
cout << "³ ß ³" << endl;
cout << "³ ß ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 6:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ß ³" << endl;
cout << "³ ß ß ³" << endl;
cout << "³ ß ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
}//end switch(randnum)
srand(time(NULL));
randnuma = (rand() % 5 + 1);//sets what the random number will be
cout<<randnuma<<endl;
switch (randnuma)
{
case 1:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ³" << endl;
cout << "³ ß ³" << endl;
cout << "³ ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 2:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ³" << endl;
cout << "³ ³" << endl;
cout << "³ ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 3:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ³" << endl;
cout << "³ ß ³" << endl;
cout << "³ ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 4:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ß ³" << endl;
cout << "³ ³" << endl;
cout << "³ ß ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 5:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ß ³" << endl;
cout << "³ ß ³" << endl;
cout << "³ ß ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 6:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ß ³" << endl;
cout << "³ ß ß ³" << endl;
cout << "³ ß ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
}//end switch(randnum)
return 0;
}
and ive tried using this code:
#include <stdlib.h>
#include <time.h>
#include <iostream>
#include "diceroll.h"
using namespace std;
int main()
{
getrandroll(1);
getrandroll(2);
return 0;
}
void getrandroll(int i){
//variables
cout<<i<<endl;
int randnum;
//do{
srand(time(NULL));
cout<<"SRAND:"<<srand<<endl;
randnum = (rand() % 5 + 1);//sets what the random number will be
cout<<randnum<<endl;
randnum + i;
cout<<randnum<<endl;
switch (randnum)
{
case 1:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ³" << endl;
cout << "³ ß ³" << endl;
cout << "³ ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 2:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ³" << endl;
cout << "³ ³" << endl;
cout << "³ ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 3:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ³" << endl;
cout << "³ ß ³" << endl;
cout << "³ ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 4:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ß ³" << endl;
cout << "³ ³" << endl;
cout << "³ ß ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 5:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ß ³" << endl;
cout << "³ ß ³" << endl;
cout << "³ ß ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
case 6:
cout << "ÚÄÄÄÄÄÄÄ¿" << endl;
cout << "³ ß ß ³" << endl;
cout << "³ ß ß ³" << endl;
cout << "³ ß ß ³" << endl;
cout << "ÀÄÄÄÄÄÄÄÙ" << endl;
break;
}//end switch(randnum)
}//end function
May 17, 2011 at 7:14pm UTC
Instead of writing that switch twice, why not just make it a function?
This is cute, SFML would be so much easier but I have to give you credit for your enginuity. The "2, 3" and "5" appear to be wrong but this was an interesting origional idea.