I guess the website needs a fix on multiplier of winnings.
Random multiplier will NOT help the user.
Multiplier should be like something that equiparate to the difficulty of the hand to be won against another, not random. I'm like... going to say, what happens if in case i get AA and my opponent gets 72 the multiplier would be like 1.7(just an example) I would bet like the max because I know I'm pretty happy to bet "all i got" to win a so easy hand.
Meanwhile 2 hands that are similars... like Q7 and K8 should be like 1.2, i tried it and im like ok, if i win i win almost nothing... 1.05 for example.
I'm not an expert on percentage of winnings, but at least put real %
Thank's for taking your time.
My vision about this were to give the users completely random odds and hands.. that you could wake up with 72 vs AA with 2.5x or vice versa AA vs 72 with 2.5x for you. That it could come some oppurtunity's where you really need to take a risk or you pass the hand and get to the next one.
Perhaps some of the multiplier values is "to low" too.. you can get a multiplier high as 3x if your lucky. But I will look into this when the multiplier calculates depending on the pre-flop and what that would mean for the site.
It's been over 12 hours and you still haven't replied to me.
What is the house edge %?
How is the game provably fair?
Hi there.. sorry for the delay but I have been away over the weekend.
I will try to answer your questions right now, I hope that you follow along.
MultiplierThe calculation function works like this:
nr = rand(1 - 10)
IF nr > 8
rnum = rand(5 - 200)
ELSE
rnum = rand(5 - 50)
multiplier = (rnum / 100) + 1
round multiplier to 2 decimals.
Card generationThis may be a little more advanced, but I will try to explain it as good as I can.
card_deck = ['As', '2s', '3s', '4s', ....]
player_card1 = card_deck[Math.floor(Math.random() * card_deck.length)];
remove_card(card_deck, player_card1);
player_card2 = card_deck[Math.floor(Math.random() * card_deck.length)];
remove_card(card_deck, player_card2);
opponent_card1 = card_deck[Math.floor(Math.random() * card_deck.length)];
remove_card(card_deck, opponent_card1);
opponent_card2 = card_deck[Math.floor(Math.random() * card_deck.length)];
remove_card(card_deck, opponent_card2);
tableCard_1 = card_deck[Math.floor(Math.random() * card_deck.length)];
remove_card(card_deck, tableCard_1 );
...and so on...
This above is the process to generate the players/opponent and table cards.
var player_calc = PokerEvaluator.evalHand([player_card1, player_card2, tableCard_1, tableCard_2, tableCard_3, tableCard_4, tableCard_5])
var opponent_calc = PokerEvaluator.evalHand([opponent_card1, opponent_card2, tableCard_1, tableCard_2, tableCard_3, tableCard_4, tableCard_5])
win = FALSE
IF player_calc > oppontent_calc
win = TRUE
This above is the part where the winner is decided. PokerEvulator is an library you can find here:
https://github.com/chenosaurus/poker-evaluatorThen there is this encrypted SHA1-hash that is shown at the start of a game.
Plain text: 2014-02-02 21:40:12 (9h, 5h | 5c, Kh, As, 7s, 2s | Th, 4c)
SHA1-hash: eab57f2931b1ea89c0a32ecef399146bcd359e78
The encryption is using this function:
http://pastebin.com/JYBGv1mVI hope that you got any programming knowledge, otherwise it's really hard to explain how this works.
But we're going to rewrite this whole process, some new features are coming up.
We're going to remove the "random multiplier" and generate an multiplier that depends on your holding and the opponent holding. Also we're going to remove the bet-limit so you can bet whatever amount you want.
Another feature we're going to implement is an "Faucet" function where you can earn free bitcoins to play with once an hour or so (not really decied what the range will be yet).
We're also going to rewrite the whole "charge fee" part of the system. There is going to be an "house edge" type of fee charging instead.