Beispiel #1
0
            have_place = b.have_place_bets()
            if stake > 27 and g.is_button_on() and not have_place:
                for i in [4, 5, 6, 8, 9, 10]:
                    if i != 6 and i != 8 and i != g.current_point:
                        b.place_the_number(i, 5)
                        stake -= 5
                    if i != g.current_point and (i == 6 or i == 8):
                        b.place_the_number(i, 6)
                        stake -= 6
                if debug:
                    print "placing across, stake = %s" % stake 
    
            g.roll_dice(verbose=debug)
            if debug:
                print b.show_bets()
            win = b.check_winnings(verbose=debug)
            if win:
                stake += win
            if debug:
                print "Roll %s stake = %s" % (i, stake)

        print "Ending Stake = %s, ATM withdraws = %s" % (stake, atm)
        stakes.append(stake)
        atms.append(atm)
        profits.append(stake - atm)
       
#    print "Stake (min, mean, max) = (%s, %s, %s)" % (min(stakes), stats.mean(stakes), max(stakes))
#    print "ATM (min, mean, max) = (%s, %s, %s)" % (min(atms), stats.mean(atms), max(atms))
    print "Profits (min, mean, max) = (%s, %s, %s)" % (min(profits), stats.mean(profits), max(profits))
    hist = stats.histogram(profits)
    stake_bins = hist[0]
Beispiel #2
0
                if come.play_come_bet(line_bet):
                    num_come_bets += 1
                    stake3 -= line_bet
                    if debug:
                        print "Come: come bet %s stake = %s" % (line_bet, stake3)
#            print "Across:"
#            print across.show_bets()
#            print "\n6_8:"
#            print six_eight.show_bets()
#            print "\nCome:"
#            print come.show_bets()
            # Roll the dice    
            game.roll_dice(verbose=False)
#            print "before winnings s1 = %s, s2 = %s, s3 = %s" % (stake1, stake2, stake3)
            # Check the winnings
            win1 = across.check_winnings(verbose=False)
            if win1:
                stake1 += win1
            win2 = six_eight.check_winnings(verbose=False)
            if win2:
                stake2 += win2
            win3 = come.check_winnings(verbose=False)
            if win3:
                stake3 += win3
#            print "Roll<%s> s1 = %s, s2 = %s, s3 = %s" % (i, stake1, stake2, stake3)
            # make sure all come bets have odds
            for c_b in come.come_bets_wo_odds():
                if come.play_come_bet_odds(c_b, line_odds):
                    stake3 -= line_odds
                    if debug:
                        print "Come: come bet odds of %s on %s" % (line_odds, c_b)
Beispiel #3
0
class TestBetting(unittest.TestCase):


    def setUp(self):
        self.betting = Betting(CrapsGame())


    def testSimple(self):
        self.betting.play_pass_line(5)
        self.betting.game.roll_dice(d1_val=4, d2_val=3)
        self.assertTrue(self.betting.game.is_seven(), "msg")
        self.assertEqual(10, self.betting.check_winnings(), "msg")
        self.assertFalse(self.betting.play_come_bet(5), "msg")
        self.assertEqual(10, self.betting.check_winnings(), "msg")
        
    def testPassLine(self):
        self.betting.play_pass_line(5)
        self.betting.game.roll_dice(d1_val=4, d2_val=3)
        self.assertEqual(10, self.betting.check_winnings(), "got %s not 10" % self.betting.check_winnings())
        self.betting.play_pass_line(5)
        self.betting.game.roll_dice(d1_val=4, d2_val=2)
        self.betting.play_pass_line_odds(10)
        self.betting.game.roll_dice(d1_val=4, d2_val=2)
        self.assertEqual(5 + 5 + 10 + 12, self.betting.check_winnings(), "32 != %s" % self.betting.check_winnings())
        
        
    def testCraps(self):
        self.betting.play_pass_line(5)
        self.betting.game.roll_dice(d1_val=1, d2_val=2)
        self.assertTrue(self.betting.game.is_craps(), "msg")
        self.assertEqual(0, self.betting.check_winnings(), "msg")
        self.assertEqual(0, self.betting.pass_line_bet, "msg")
        
    def testPlaceBets(self):
        self.betting.play_pass_line(5)
        self.betting.game.roll_dice(d1_val=1, d2_val=5)
        self.betting.place_the_number(8, 6)
        self.betting.game.roll_dice(d1_val=5, d2_val=3)
        self.assertEqual(7, self.betting.check_winnings(), "msg")
        
    def testComeBets(self):
        self.betting.play_pass_line(5)
        self.betting.game.roll_dice(verbose=True, d1_val=1, d2_val=5)
        self.betting.play_pass_line_odds(10)
        self.betting.play_come_bet(5)
        self.betting.game.roll_dice(verbose=True, d1_val=2, d2_val=5)
        self.assertEqual(10, self.betting.check_winnings(), "msg")
        self.assertFalse(self.betting.play_come_bet(5), "msg")
        self.assertEqual(0, self.betting.num_come_bets(), "expecting 0 got %s" % self.betting.num_come_bets())
        self.betting.game.roll_dice(verbose=True, d1_val=1, d2_val=5)
        self.assertEqual(0, self.betting.check_winnings(), "msg")
        self.assertTrue(self.betting.play_come_bet(5), "msg")
        self.betting.game.roll_dice(verbose=True, d1_val=1, d2_val=3)
        self.assertEqual(0, self.betting.check_winnings(), "msg")  
        self.assertEqual(1, self.betting.num_come_bets(), "expected 1 got %s" % self.betting.num_come_bets())      
        self.assertTrue(self.betting.play_come_bet_odds(4, 10), "msg")
        self.betting.game.roll_dice(verbose=True, d1_val=2, d2_val=2)
        self.assertEqual(40, self.betting.check_winnings(verbose=True), "expected 40 got %s" % self.betting.check_winnings())        
      
    def testPlaceAndPass(self):
        self.betting.play_pass_line(5)
        self.betting.game.roll_dice(verbose=True, d1_val=1, d2_val=5)
        self.betting.check_winnings(verbose=True)
        self.betting.play_pass_line_odds(10)
        self.betting.place_the_number(4, 5)
        self.betting.place_the_number(5, 5)
        self.betting.place_the_number(8, 6)
        self.betting.place_the_number(9, 5)
        self.betting.place_the_number(10, 5)
        self.betting.game.roll_dice(verbose=True, d1_val=1, d2_val=4)
        self.betting.check_winnings(verbose=True)
        self.betting.game.roll_dice(verbose=True, d1_val=2, d2_val=4)
        self.assertEqual(32, self.betting.check_winnings(verbose=True), "got %s" % self.betting.check_winnings())