Struggling to pay your electric bill is fun when it’s a game.
Say there are 4 classes of events that can happen, with varying events in those classes that may occur. I have a somewhat kludgey solution in place that first just has a random number generated between 0 and , and if the number falls within a given range then a main event will be triggered. Then I'll do another random roll to see which sub event occurs. Is there a better solution than something along these lines?
Like I mention, it doesn't feel very elegant, and I'd like to make it easily expandable for the addition of future events. This is based on my answer for a similar question on Stack Overflow. It sounds like you're asking for a more flexible way of specifying the probability of each event.
For that, you can use a simple weighing algorithm: simply decide how common each event should be and assign it a weight that is appropriate compared to the other weights.
It's up to you if you want to first select between the different groups of events, or if you want a single table with all of the events where each "group" has an appropriate sum compared to the others. Let's say you want to build a random insult generator, though. In this case, a series of tables would work best. You'd start with a table that has a list of general patterns.
My answer to a question on generating random drops may very well work for this too. Podcast: We chat with Major League Hacking about all-nighters, cup stacking, and therapy dogs. Listen now. Home Questions Tags Users Unanswered. Algorithm for determining random events [duplicate] Ask Question. Asked 9 years ago. Active 9 years ago. Viewed 7k times. The only improvment to make it easier to expand would be possibly reading the events and sub-events in from a file so you don't have to recompile if you change the rarity of an event.
Once you have that, you can use the following algorithm to select an event: Given a list L of items I,W , where I is the item and W is the weight: Add all of the weights together. Call this sum S. Generate a random number between 0 and S excluding S, but including 0. Call this value R. Initialize a variable to 0 to keep track of the running total.
We'll call this T. Michael Madsen Michael Madsen 1, 16 16 silver badges 14 14 bronze badges. Asmor Asmor 3 3 silver badges 11 11 bronze badges. Er, I mean great example WebSockets for fun and profit. Linked Related 8. Hot Network Questions.
Log In to GameFAQs
Log In Sign Up. Keep me logged in on this device Forgot your username or password? Don't have an account? Sign up for free! How can i get a lot of ways to do random events? How can i hack it? User Info: kidsrulemag.
Blockchain games: How did it all start?
Please register for Total War Access to use the forums. If you're an existing user, your forum details will be merged with Total War Access if you register with the same email or username. Discussions Activity Best Of Sign In. Welcome Please register for Total War Access to use the forums.
PREV: bitcoin trading bot code
NEXT: trade bitcoin on etrade