Home Gambling Info Game Odds and Strategies Gambling Online Ask the Wizard Play for Fun Blog | |
Reason #3 why the Wizard likes Bovada: Excellent Odds In my opinion many online casinos are too stingy when setting the odds on their games. They think they will make more money that way but I believe they are misguided, because when players lose too quickly it’s not fun, and those players might not come back. Bovada is one of the few casinos that understands this. They offer generous odds to let you play longer and get you a better chance of winning. Among their generous offerings are Full-Pay Jacks or Better returning 99.54%, six other video poker games paying over 99%, single-zero roulette, and my favorite, Pick ’em Poker, returning 99.95%! Kudos to Bovada for not being afraid to give their players a good gamble. |
Source code for Cancellation Betting System analyzerLast Update: May 10, 2011 The following program is written in C++. It is quite simple, anybody with a little experience with C++ should be able to understand how it works. I apologize about the lack of documentation but by following the logic it shouldn’t be hard to see what is going on.
//
// cancellation system analyzer
// 10/19/1998
//
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <stdio.h>
void tenbet();
int main()
{
char ch;
do
{
tenbet();
cerr << "Play again? ";
cin >> ch;
}
while ((ch == 'y') || (ch == 'Y'));
return 0;
}
void tenbet()
{
int maxloss, num, bet[1000], lpt, rpt, i, j, curbet, bank, result[2], randwin, g;
long totbet, spins;
cerr << "Enter maximum loss "; cin >> maxloss;
cerr << "Enter number of trials "; cin >> num;
cerr << "Roulette(1) or craps(2)? "; cin >> g;
result[0] = 0;
result[1] = 0;
totbet = 0;
spins = 0;
if (g == 1)
{
randwin = 32767 * 18/38;
}
else
{
randwin = 32767 * 244 / 495;
}
for (i = 1; i <= num; i++)
{
bank = 0;
lpt = 1;
rpt = 10;
for (j = 1; j <= 10; j++)
{
bet[j] = 1;
}
do
{
if (rpt == lpt)
{
curbet = bet[rpt];
}
else
{
curbet = bet[lpt] + bet[rpt];
}
while ((maxloss+bank < curbet)&&(maxloss+bank > 0))
{
spins++;
if (maxloss + bank >= bet[lpt])
{
totbet += bet[lpt];
if (rand() <= randwin)
{
bank += bet[lpt];
lpt++;
}
else
{
bank -= bet[lpt];
bet[lpt] *= 2;
}
}
else
{
totbet += (maxloss + bank);
if (rand() <= randwin)
{
bet[lpt] -= (maxloss + bank);
bank += (maxloss + bank);
}
else
{
bank -= (maxloss + bank);
}
}
if (rpt == lpt)
{
curbet = bet[rpt];
}
else
{
curbet = bet[lpt] + bet[rpt];
}
}
if (maxloss + bank > 0)
{
totbet+=curbet;
spins++;
if (rand() <= randwin)
{
lpt++;
rpt--;
bank += curbet;
}
else
{
rpt++;
bet[rpt] = curbet;
bank -= curbet;
}
}
}
while ((lpt <= rpt) && (maxloss + bank > 0));
if (maxloss + bank == 0)
{
result[1]++;
}
else
{
result[0]++;
}
if (i % 100000 == 0)
{
cerr << i << "\n";
}
}
cerr << "Maximum loss: " << maxloss << "\n";
cerr << "Probability of loss: " << (float)(result[1])/(float)(num) << "\n";
cerr << "Average spins: " << (float)(spins)/(float)(num) << "\n";
cerr << "Average bet: " << (float)(totbet)/(float)(num)<<"\n";
cerr << "Wins: " << result[0]<<"\nLosses: "<<result[1]<<"\n";
cerr << "Total bet: " << totbet<<"\n";
cerr << "Total win/loss: " << (result[0]*10)-(result[1]*maxloss) << "\n";
cerr << "Total spins: " << spins << "\n";
cerr << "Net loss: " << (float)((result[0]*10)-(result[1]*maxloss))/(float)totbet << "\n";
}
|
Copyright © 1998-2012 Wizard of Odds Consulting, Inc. All rights reserved. • About | Privacy & Terms | Site Map | Links | Contact The Wizard’s other sites: Wizard of Vegas | Wizard of Macau | Math Problems • Recommended: Vegas Click | |