Hello, I like money
NOTE: This blog was written in December 2022 in Medium but I republished it to Dev.to as i planned to migrate for my future writing
Editorial Note from the original post:
from the simulation itself, the loss is usually more than the win but I have a bad way to count how much they win and how much they lose and I need to repair this in the future.
but the logic behind the game itself is more or less correct, if anyone saw the flaws please tell me in the repo.
Backstory
So a few days ago my mom talk to me about how one of the neighbors borrowed money for ‘allegedly’ gambling online slots, and I naturally thought “How in the hell do people borrow money to lose it”, and since I always learned since I was little how bad gambling for ourselves, but in another side, I was fascinated in its economy and also the math of probability, heck it’s maybe one of my favorite branch of math(even though I don't really like math).
Simulating Gambling in Python
There are tons and tons of forms of gambling out there, some of them are “Skill-based” like poker, blackjack, and most card-based games out there, and the others are pure chance like slots, roulette, and pachinko(mechanical gambling in japan).
I want to simulate Roulette, more specifically European roulette where it has only one zero compared to the American counterparts where it has 0 and 00. This way the house edge (a mathematical advantage that the house has compared to the player) is lower than if we use American style Roulette to see how much the house will earn from such a small house edge, also its easier to code hehe
What’s Roulette tho??
According to its Wikipedia page, Roulette is a casino game named after the French word meaning little wheel which was likely developed from the Italian game Biribi. In the game, a player may choose to place a bet on a single number, various groupings of numbers, the color red or black, whether the number is odd or even, or if the numbers are high (19–36) or low (1–18). The odds and the payout will depend on the bet the player placed, the broader the bets the better the odds they'll earn but the lesser the payout.
and how to calculate how much house edge of a game?
Since it's European Roulette, let's say the player places a bet on a single number then there is a 36 in 37 chance that the bet will lose and a 1 in 37 chance that you will earn 35 times your bet, so the house edge will be like below.
−1 × (36⁄37) + 35 × (1⁄37) = −0.0270 or 2.7% in favour of the house.
If it's American or heck, there is roulette with triple zeros, the house edge will naturally be higher so, in general, will have a bigger profit compared to the European one.
That's a general idea of Roulette, I will use Python to simulate how roulette works, and see how much they'll earn(or lose) and also how much the house will make.