Hi there,
I am designing this simple game to generate two random numbers using RNG and get their sum, if it is 7 or 11 the player wins and the budget of the game is incremented by the bet the player has input at the beginning of the game, if the sum is 2 or 3 or 12 the player loses and the budget is decremented by the bet the player has made, if the sum is otherwise other 2 random numbers are generated and their sum is got using the same bet the user has made at the beginning without re-asking the user for the bet..
Now, the game is working but the problem is that when the sum is otherwise and it repeats the RNG process it keeps getting the same results for so many times and the 2 randomly generated numbers change after a long time.. what is wrong with that?
All thanks,
-Amy
Code:// Including librarie(s) needed for running the program #include <iostream> #include <ctime> using namespace std; // declaring a prototype functions int rng(); int winorlose(); int budgetcalculator(char, float, float); // starting the main function int main() { float budget = 10000; float bet; char winlose; cin>>bet; do { winlose = winorlose(); }while(winlose=='n'); budget = budgetcalculator(winlose, budget, bet); cout<<budget<<endl; return 0; } // end of the main function int rng() { // declaring local variables const int n = 6; // the number of faces of the dice int x1, x2, sum; // the 2 number generated by the RNG (x1 & x2), and their sum srand ( (unsigned) time (NULL) ); //Initialize RNG x1 = rand( ) % n + 1; // Generate a number from the sequence cout<<"The 2 generated numbers are: "<<x1<<" "; // Print it x2 = rand( ) % n + 1; // Generate another number from the sequence cout<<"& "<<x2<<endl; // Print it sum = x1 + x2; // summing the two randomly generated numbers cout<<"Thir sum is: "<<sum<<endl; return sum; } //end of function int winorlose() { int dicesum; dicesum = rng(); // if statment for checking if the sum of the 2 randomly generated numbers is 7 or 11 if((dicesum==7) || (dicesum==11)) return 'w'; else if((dicesum==2) || (dicesum==3) || (dicesum==12)) return 'l'; else return 'n'; // end of if statment } int budgetcalculator(char state, float credit, float moneybet) { if(moneybet<=credit) if(state=='w') credit += moneybet; else if(state=='l') credit -= moneybet; return credit; }



LinkBack URL
About LinkBacks



