示例#1
0
 debug = False
 
 for j in range(1, 10):
     stake = 100
     atm = 0
     for i in range(1, 50):
         # Do the banking first
         if stake < line_bet: # need more money
             stake += 100
             atm += 100
         if stake > 250: # deposit some of our winnings
             stake -= 100
             atm -= 100
         # play the line
         if stake > line_bet and g.is_button_off:
             if b.play_pass_line(line_bet):
                 stake -= line_bet
                 if debug:
                     print "pass line bet %s" % line_bet
         if stake > line_odds and g.is_button_on() and b.pass_line_odds == 0:
             if b.play_pass_line_odds(line_odds):
                 stake -= line_odds
                 if debug:
                     print "pass line odds %s" % line_odds
         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):
示例#2
0
 if stake2 < 27: # need more money
     stake2 += 100
     atm2 += 100
 if stake2 > 250: # deposit some of our winnings
     stake2 -= 100
     atm2 -= 100
 # Do the banking first
 if stake3 < 20: # need more money
     stake3 += 100
     atm3 += 100
 if stake3 > 250: # deposit some of our winnings
     stake3 -= 100
     atm3 -= 100
 # play the line
 if stake1 > line_bet and game.is_button_off:
     if across.play_pass_line(line_bet):
         stake1 -= line_bet
         if debug:
             print "Across: pass line bet %s" % line_bet
 # play the line
 if stake2 > line_bet and game.is_button_off:
     if six_eight.play_pass_line(line_bet):
         stake2 -= line_bet
         if debug:
             print "6_8: pass line bet %s" % line_bet
 # play the line
 if stake3 > line_bet and game.is_button_off:
     if come.play_pass_line(line_bet):
         stake3 -= line_bet
         if debug:
             print "Come: pass line bet %s" % line_bet
示例#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())