Thanks for all your replies.
PeterStock
I think the performance may matter since I'm intending on running the simulation as a GA that will evolve towards better play. Also, I didn't mention this, but I'll actually be using upwards of 8 decks (4 and 6 most frequently) to better simulate real casino settings.
Segmented
Thanks for the link. That's a nice algorithm. I'm actually leaning towards multiple splits and maybe some splits + messy merges to better simulate real shuffling.
Paradigm Shifter
Yeah I am intending on having a variable for depth of penetration. The casino I just visited (for my first casino experience and a $1330 win overall in Blackjack
) Seemed to reshuffle after roughly 75% penetration into four decks. I didn't know what I was doing or have any real system, but I was keeping separate running counts for 5's, 6's, Aces, and Faces, which apparently is more difficult than and less edge-earning than a simple High-Low system.
Didn't know about random_shuffle. That's awesome. Thanks.
Most casinos don't allow splitting on splits (vast majority if not all) and the opportunity is so rare. However, I feel like I should leave it an option for simulations in which billions of hands may occur. Hopefully my current "hands" design should allow for this. I'll be keeping it in mind.
Your is_soft should do the trick. I'll have to pay special attention to that.
Dealer rules will be part of the parameters of the sim. (hit/stand on soft 17, double after splits, whether you can surrender, # decks, % depth penetration)
The problem with a static table of best plays (which is what I used when I won this weekend in Vegas) is that the best plays do shift somewhat as you reach the end of a deck and counting indicates a heavily loaded or unloaded deck. Not super often, but enough to constitute more advantage from card-counting than is gained from just varying your bets. So I kind of want to give it the "standard table of best plays" and let things "evolve."
Counting cards actually isn't illegal. Only if aided by a device. Nowadays, if you are hurting the house's bottom line, they're more likely to just ask you to stop playing that specific game. My hope is to just grind them down rather than try to make some big plays. From my calculations, in fact, my leaving Vegas on my first trip with a 600% return-on-bankroll was a tad less likely than bankruptcy. So I got lucky and I'd like it to be slightly less "luck" next time 