Day 1 ~ Probability and Movement
This my first post on the
100 days of learning challenge I set myself over the weekend. You can read more about this years goals here.
What is Probability?
Probability is the measure of the likelihood that an event will occur. It is a way to evaluate a given set of scenarios and decide how often will event x happen.
Lets look at an example in code:
In the example above we set up our little walker object that starts with an x and a y in the middle of the screen, a number is then choosen between 0 - 3, this number determines the walkers next step.
We could say that the walker has 25% chance of going up, down, left or right. That there is an equal chance of the walker moving in one of four directions.
What if we wanted more control over the way the walker moves?
Controlling the Random Walker
In this case I want the walker to move biasedly to the right
There are a few different approaches that come to mind here:
- We could increase the conditions for a particular direction
choice = random(5) case: n == 0 || 5 this.x++ break;
- We could add more liberal conditions to a particular direction
choice = random(4) case: n < 3 this.x++ break;
- We could increase the incrementor for a particular direction
choice - random(4) case: n = 0 this.x += 2 break;
As with any given coding endeveour that are many ways to solve a problem, it is up to you to decide the approach that makes the most sense.
In this particular case I like the final approach as it seems the most natural to me and least likely to have side effects on the mechanics of the other code.
That's all I mangaged to tackle today, I hope to continue looking at movement in code this week.