Please support our PHP advertiser: Lunarpages PHP Web Hosting
Views: 355 | Replies: 7 | Solved
![]() |
•
•
Join Date: Feb 2008
Posts: 8
Reputation:
Rep Power: 0
Solved Threads: 0
I am trying to build a random number generator based on dice. Yes, I know there are ones out there but I am trying to do this whole programming thing for myself... I thought I had done it right but it keeps telling me "Warning: Division by zero" when I am not using any division, can anyone explain and give me some advice?
Forgive me, I am a bit new here so any other info needed I can give you
<?
srand(time());
$random = (rand()%$POST_number)+1*$POST_how+$POST_str+$POST_mod;
print("You just rolled a D6 and your roll is: $random");
?>Forgive me, I am a bit new here so any other info needed I can give you
•
•
Join Date: Jul 2008
Location: Sweet India
Posts: 977
Reputation:
Rep Power: 2
Solved Threads: 90
•
•
Join Date: Nov 2007
Location: Perth, Australia
Posts: 119
Reputation:
Rep Power: 2
Solved Threads: 16
•
•
Join Date: Nov 2007
Location: Las Vegas, Nevada
Posts: 83
Reputation:
Rep Power: 2
Solved Threads: 14
the modulus operator (%) takes the left side, divides it by the right side, and returns the remainder. So, 5%3 would result in two, since 5/3 yields a remainder 2.
If you are getting a division by zero error, that means the value on the right side of the equation is 0. Debug the value of your '$POST_number' variable, your error lies there.
Consider the following for random number generation emulating dice rolls:
the above creates a min and max and uses the built-in functionality of rand to return the roll.
the above does the same as the previous, just with less code. the range function creates an array of numbers starting with the first argument, ending with the last. The above example has created an array of twenty elements , values 1-20. The shuffle function takes that array and randomizes the order of its elements. The nice thing about shuffle, is that it seeds the random number generator automatically (srand function). By printing any element of the array after shuffling (I print the first one here), you get a random number within the range.
If you are getting a division by zero error, that means the value on the right side of the equation is 0. Debug the value of your '$POST_number' variable, your error lies there.
Consider the following for random number generation emulating dice rolls:
php Syntax (Toggle Plain Text)
srand(time()); $minimum = 1; $maximum = 20; $roll = rand($minimum , $maximum); print "You rolled: $roll";
the above creates a min and max and uses the built-in functionality of rand to return the roll.
php Syntax (Toggle Plain Text)
$range = range(1,20); shuffle($range); print "You rolled: ".$range[0];
the above does the same as the previous, just with less code. the range function creates an array of numbers starting with the first argument, ending with the last. The above example has created an array of twenty elements , values 1-20. The shuffle function takes that array and randomizes the order of its elements. The nice thing about shuffle, is that it seeds the random number generator automatically (srand function). By printing any element of the array after shuffling (I print the first one here), you get a random number within the range.
The End
![]() |
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)





Linear Mode