diff --git a/src/honeybot/plugins/downloaded/blackjack/info.py b/src/honeybot/plugins/downloaded/blackjack/info.py index 3d53e25..77128fa 100644 --- a/src/honeybot/plugins/downloaded/blackjack/info.py +++ b/src/honeybot/plugins/downloaded/blackjack/info.py @@ -1,4 +1,3 @@ - NAME = 'blackjack.py' ORIGINAL_AUTHORS = [ 'Angelo Giacco' diff --git a/src/honeybot/plugins/downloaded/blackjack/main.py b/src/honeybot/plugins/downloaded/blackjack/main.py index 71bd417..c7be3e3 100644 --- a/src/honeybot/plugins/downloaded/blackjack/main.py +++ b/src/honeybot/plugins/downloaded/blackjack/main.py @@ -23,17 +23,14 @@ move on to next player """ -import random, sys, os -sys.path.append("plugins/poker_assets") -import deck -import card -import hand -import player +import poker_assets.deck +import poker_assets.card +import poker_assets.hand +import poker_assets.player class Plugin: - bj_created = False round_started = False turn = 0 @@ -80,10 +77,10 @@ def initPlayer(methods, info): name = info["prefix"].split("!")[0] if len(Plugin.player_lst) <= 5: # limit game to 6 players if not ( - name in [player.get_name() for player in Plugin.player_lst] + name in [player.get_name() for player in Plugin.player_lst] ): Plugin.player_lst.append( - player.Player( + poker_assets.player.Player( len(Plugin.player_lst), Plugin.starting_chips, name ) ) @@ -108,17 +105,14 @@ def checkHand(methods, info, player): name = player.get_name() total = player.show_player_hand().hand_total() cards = " ".join( - [card.show_card() for card in player.show_player_hand().show_hand_obj()] + [poker_assets.card.show_card() for card in + player.show_player_hand().show_hand_obj()] ) if total > 21: methods["send"]( info["address"], - name - + "'s hand " - + cards - + " has a value of " - + str(total) - + " so you have been kicked out", + name + "'s hand " + cards + " has a value of " + str(total) + + " so you have been kicked out", ) for p in Plugin.player_lst: if p.get_name() == name: @@ -155,11 +149,11 @@ def initGame(methods, info): Plugin.bj_created = True Plugin.round_started = False Plugin.initPlayer(methods, info) - Plugin.DECK = deck.Deck() + Plugin.DECK = poker_assets.deck.Deck() methods["send"]( info["address"], - name - + " has started a game of blackjack! Use .blackjack join to join in!", + name + " has started a game of blackjack! " + "Use .blackjack join to join in!", ) else: methods["send"](info["address"], "A game already exists!") @@ -170,10 +164,11 @@ def start(methods, info): Plugin.round_started = True Plugin.bj_created = True for player in Plugin.player_lst: - player.add_hand(hand.Hand(Plugin.DECK.make_hand())) + player.add_hand(poker_assets.hand.Hand(Plugin.DECK.make_hand())) total = player.show_player_hand().hand_total() cards = " ".join( - [card.show_card() for card in player.show_player_hand().show_hand_obj()] + [poker_assets.card.show_card() for card + in player.show_player_hand().show_hand_obj()] ) Plugin.checkHand(methods, info, player) @@ -181,7 +176,7 @@ def hit(methods, info): """ give player a new card """ name = info["prefix"].split("!")[0] - if Plugin.winner == None: + if Plugin.winner is None: if Plugin.player_lst[Plugin.turn].get_name() == name: Plugin.player_lst[Plugin.turn].add_card_to_hand( Plugin.DECK.draw_random_card() @@ -198,13 +193,13 @@ def hit(methods, info): def stand(methods, info): """ player chooses not to get a new car """ name = info["prefix"].split("!")[0] - if Plugin.winner == None: + if Plugin.winner is None: if Plugin.turn < len(Plugin.player_lst): if Plugin.player_lst[Plugin.turn].get_name() == name: methods["send"]( info["address"], - info["prefix"].split("!")[0] - + " has chosen not to pick another card!", + info["prefix"].split("!")[0] + + " has chosen not to pick another card!", ) Plugin.next_turn(methods, info) else: @@ -223,13 +218,13 @@ def stand(methods, info): RUNNING PLUGIN """ - def run(self, incoming, methods, info, bot_info): + def run(self, methods, info): try: msgs = info["args"][1:][0].split() if ( - info["command"] == "PRIVMSG" - and (msgs[0] == ".bj" or msgs[0] == ".21" or msgs[0] == ".blackjack") - and len(msgs) == 2 + info["command"] == "PRIVMSG" and + (msgs[0] == ".bj" or msgs[0] == ".21" or msgs[0] == ".blackjack") and + len(msgs) == 2 ): if msgs[1] == "create": Plugin.initGame(methods, info) diff --git a/src/honeybot/plugins/downloaded/blackjack/poker_assets/best5.py b/src/honeybot/plugins/downloaded/blackjack/poker_assets/best5.py index 8cda498..e5bf2b9 100644 --- a/src/honeybot/plugins/downloaded/blackjack/poker_assets/best5.py +++ b/src/honeybot/plugins/downloaded/blackjack/poker_assets/best5.py @@ -74,8 +74,10 @@ def straight(ranks): def kind(n, ranks): - """ return the first rank that this hand has exactly n-of-a-kind of. Return None if there is no - n-of-a-kind in the hand """ + """ + return the first rank that this hand has exactly n-of-a-kind of. + Return None if there is no n-of-a-kind in the hand + """ for r in ranks: @@ -102,9 +104,12 @@ def test_best_hand(playerhand): # D = Diamond # C = Club # H = Heart - # assert (sorted(best_hand('6C 7C 8C 9C TC 5C JS'.split())) == ['6C', '7C', '8C', '9C', 'TC']) - # assert (sorted(best_hand('TD TC TH 7C 7D 8C 8S'.split())) == ['8C', '8S', 'TC', 'TD', 'TH']) - # assert (sorted(best_hand('JD TC TH 7C 7D 7S 7H'.split())) == ['7C', '7D', '7H', '7S', 'JD']) + # assert (sorted(best_hand('6C 7C 8C 9C TC 5C JS'.split())) == + # ['6C', '7C', '8C', '9C', 'TC']) + # assert (sorted(best_hand('TD TC TH 7C 7D 8C 8S'.split())) == + # ['8C', '8S', 'TC', 'TD', 'TH']) + # assert (sorted(best_hand('JD TC TH 7C 7D 7S 7H'.split())) == + # ['7C', '7D', '7H', '7S', 'JD']) # return 'test_best_hand passes' # return sorted(best_hand('2D 2C 2H 7C 7D KC KS'.split())) return sorted(best_hand(playerhand.split())) diff --git a/src/honeybot/plugins/downloaded/blackjack/poker_assets/board.py b/src/honeybot/plugins/downloaded/blackjack/poker_assets/board.py index 7f90958..fd3045f 100644 --- a/src/honeybot/plugins/downloaded/blackjack/poker_assets/board.py +++ b/src/honeybot/plugins/downloaded/blackjack/poker_assets/board.py @@ -1,6 +1,8 @@ """ board class """ # pylint: disable=E1601 + + class Board(object): """ board class """ diff --git a/src/honeybot/plugins/downloaded/blackjack/poker_assets/card.py b/src/honeybot/plugins/downloaded/blackjack/poker_assets/card.py index 9570270..6e12247 100644 --- a/src/honeybot/plugins/downloaded/blackjack/poker_assets/card.py +++ b/src/honeybot/plugins/downloaded/blackjack/poker_assets/card.py @@ -13,7 +13,10 @@ def __init__(self, card): 1, 2, 3, - ] # 0 is for a low: 2 3 4, 1 for a medium 4 5 6 7, 2 for a high 8 9 10, 3 for a suit J Q K A + ] # 0 is for a low: 2 3 4, + # 1 for a medium 4 5 6 7, + # 2 for a high 8 9 10, + # 3 for a suit J Q K A self.__figure = card[0] self.__color = card[1].upper() diff --git a/src/honeybot/plugins/downloaded/blackjack/poker_assets/game_init.py b/src/honeybot/plugins/downloaded/blackjack/poker_assets/game_init.py index 7c9c07b..8eac564 100644 --- a/src/honeybot/plugins/downloaded/blackjack/poker_assets/game_init.py +++ b/src/honeybot/plugins/downloaded/blackjack/poker_assets/game_init.py @@ -2,7 +2,6 @@ # pylint: disable=E1601, W0612 -import card import deck import board import hand @@ -41,9 +40,9 @@ def init_game(players, round): players = init_players(6, 100) game = init_game(players, 9) -deck = game[0] -board = game[1] -pot = game[2] +# deck = game[0] +# board = game[1] +# pot = game[2] players = game[3] for card in board.get_board(): @@ -53,19 +52,19 @@ def init_game(players, round): players[0].show_player_hand().best_five(board) -for player in players: +for play in players: - print(player.general_name()) + print(play.general_name()) print( - player.general_name(), - player.show_player_hand().show_hand()[0].show_card(), - player.show_player_hand().show_hand()[1].show_card(), - player.chips(), - player.position_nr(), - player.position_name(), - player.show_player_hand().hand_strength(board), - str(player.show_player_hand().best_five(board)), + play.general_name(), + play.show_player_hand().show_hand()[0].show_card(), + play.show_player_hand().show_hand()[1].show_card(), + play.chips(), + play.position_nr(), + play.position_name(), + play.show_player_hand().hand_strength(board), + str(play.show_player_hand().best_five(board)), ) print(len(deck.show_deck())) diff --git a/src/honeybot/plugins/downloaded/blackjack/poker_assets/hand.py b/src/honeybot/plugins/downloaded/blackjack/poker_assets/hand.py index 65684b7..41970f3 100644 --- a/src/honeybot/plugins/downloaded/blackjack/poker_assets/hand.py +++ b/src/honeybot/plugins/downloaded/blackjack/poker_assets/hand.py @@ -7,7 +7,7 @@ # import deuces # import best5 # import board -import card +# import card class Hand(object): @@ -41,8 +41,9 @@ def best_five(self, b): print(b.turn()) print(b.river()) print(" ".join([c.show_card() for c in self.show_hand()])) - hand_and_board = self.show_hand()[0].show_card() + ' ' + self.show_hand()[1].show_card() +\ - ' ' + b.flop1() + ' ' + b.flop2() + ' ' + b.flop3() + ' ' + b.turn() + ' ' + b.river() + hand_and_board = self.show_hand()[0].show_card() + ' ' +\ + self.show_hand()[1].show_card() + ' ' + b.flop1() + ' ' +\ + b.flop2() + ' ' + b.flop3() + ' ' + b.turn() + ' ' + b.river() return(" ".join([c for c in best5.test_best_hand(hand_and_board)])) except Exception: @@ -53,11 +54,16 @@ def hand_strength(self, board): evaluator = deuces.Evaluator() b5 = self.best_five(board) - h1 = b5[:2].replace('S', 's').replace('H', 'h').replace('D', 'd').replace('C', 'c') - h2 = b5[3:5].replace('S', 's').replace('H', 'h').replace('D', 'd').replace('C', 'c') - b1 = b5[6:8].replace('S', 's').replace('H', 'h').replace('D', 'd').replace('C', 'c') - b2 = b5[9:11].replace('S', 's').replace('H', 'h').replace('D', 'd').replace('C', 'c') - b3 = b5[12:14].replace('S', 's').replace('H', 'h').replace('D', 'd').replace('C', 'c') + h1 = b5[:2].replace('S', 's').replace('H', 'h').replace('D', 'd')\ + .replace('C', 'c') + h2 = b5[3:5].replace('S', 's').replace('H', 'h').replace('D', 'd')\ + .replace('C', 'c') + b1 = b5[6:8].replace('S', 's').replace('H', 'h').replace('D', 'd')\ + .replace('C', 'c') + b2 = b5[9:11].replace('S', 's').replace('H', 'h').replace('D', 'd')\ + .replace('C', 'c') + b3 = b5[12:14].replace('S', 's').replace('H', 'h').replace('D', 'd')\ + .replace('C', 'c') hl = [deuces.Card.new(h1), deuces.Card.new(h2)] bl = [deuces.Card.new(b1), deuces.Card.new(b2), deuces.Card.new(b3)] strength = evaluator.evaluate(bl, hl) diff --git a/src/honeybot/plugins/downloaded/blackjack/poker_assets/player.py b/src/honeybot/plugins/downloaded/blackjack/poker_assets/player.py index c4f39d0..3e6c843 100644 --- a/src/honeybot/plugins/downloaded/blackjack/poker_assets/player.py +++ b/src/honeybot/plugins/downloaded/blackjack/poker_assets/player.py @@ -1,5 +1,9 @@ """ player class """ # pylint: disable=E1601 + +import game_init + + class Player(object): """ player class """ diff --git a/src/honeybot/plugins/downloaded/blackjack/poker_assets/test.py b/src/honeybot/plugins/downloaded/blackjack/poker_assets/test.py index aed191e..96668b2 100644 --- a/src/honeybot/plugins/downloaded/blackjack/poker_assets/test.py +++ b/src/honeybot/plugins/downloaded/blackjack/poker_assets/test.py @@ -5,6 +5,7 @@ import hand import player import pot +import game_init # import game_init @@ -109,15 +110,15 @@ print(len(game_init.game[0]) + len(game_init.game[1]) + len(game_init.game[3]) * 2) -for player in game_init.game[3]: +for play in game_init.game[3]: print( - player.general_name(), - player.show_player_hand().show_hand(), - player.chips(), - player.position_nr(), - player.position_name(), - player.show_player_hand().hand_strength(board), - player.show_player_hand().best_five(board), + play.general_name(), + play.show_player_hand().show_hand(), + play.chips(), + play.position_nr(), + play.position_name(), + play.show_player_hand().hand_strength(board), + play.show_player_hand().best_five(board), ) game_init.game[0].show_deck()