skent259 / crapssim

Simulator for craps with various betting strategies
MIT License
28 stars 13 forks source link

Should there be a PassLine bet placed initially after a new shooter for the Place682Come Strategy? #25

Closed amortization closed 2 years ago

amortization commented 2 years ago

Currently, if a player is using the Place682Come strategy and the table is new (meaning no bets and point is Off) or there is a new shooter they will not place a PassLine bet. They wait until the point is Off and the player has either a Place6 or a Place8 bet to place a PassLine bet. Is this the correct way this strategy is supposed to work?

It would seem to me like the Player would want to place the PassLine bet initially, and then if the PassLine point is 6 or 8 Place the 5 or 9 and either the Place6 or Place8 depending on the PassLine point, and then the added Come bet. This would have the same desired outcome of getting the four distinct numbers. Currently, it seems like it is artificially increasing the number of rolls the strategy would last as it is arbitrarily waiting to bet the PassLine until after a point has already been established and completed.

skent259 commented 2 years ago

The strategy is correct as you understand it. It's interesting to test strategies that don't use the pass line and don't pass bets because they are less correlated to the way that most people play. Potentially good for a craps tournament when everyone else plays the same 😎

Also, artificially increasing the rolls in a legitimate way to stay on the table longer, though it requires more patience.

amortization commented 2 years ago

The strategy is correct as you understand it. It's interesting to test strategies that don't use the pass line and don't pass bets because they are less correlated to the way that most people play.

That's where the confusion is though. I could see that being true if the player never places PassLine bets. This strategy does use PassLine bets, it just waits until the player has a Place6 or Place8 bet to do it:

    if player.num_bet("Come", "PassLine") < 2 and len(player.bets_on_table) < 4:
        if table.point == "On":
            player.bet(Come(unit))
        if table.point == "Off" and (
            player.has_bet("Place6") or player.has_bet("Place8")
        ):
            player.bet(PassLine(unit))
skent259 commented 2 years ago

I now see what you mean, I forgot that one adds a pass line bet if one wins. The pass line is essentially a come bet at that stage because the point is off, but it does complicate the logic.

However, since I've shared results with that strategy I think it's best to keep it as it is. Never hurts to have different ones.

amortization commented 2 years ago

For consistency should place68_dontcome2odds work the same way in that it does a DontPass at some point? Right now that one never places a DontPass bet.

skent259 commented 2 years ago

Yeah, probably that would be best for consistency. I don't think I ever published results with that strategy so we can modify. It's not a high priority issue though