1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
import random
class (object): def __init__(self): self.index = 0 self.cards = [] for x in range(4): for y in range(1, 14): card = Card(x, y) self.cards.append(card)
def bush_card(self): random.shuffle(self.cards)
def give_card(self): card = self.cards[self.index] self.index += 1 return card
def is_or(self): if self.index >= len(self.cards): return False else: return True
class Card(object): def __init__(self, color, num): self.color = color self.num = num
def __repr__(self): all_color = ['黑桃', '红桃', '梅花', '方块'] all_num = ['', 'A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K'] return f'{all_color[self.color]}{all_num[self.num]}'
def __add__(self, other): return self.num + other.num
class Players: def __init__(self, name): self.name = name self.cards = []
def get_card(self, p: Pokers): card = p.give_card() self.cards.append(card)
def main(): p = Pokers() persons = ['姜柯', '罗虎', '肖应中', '王小华'] all_players = [] p.bush_card() for name in persons: temp = {} play = Players(name) play.get_card(p) play.get_card(p) temp['name'] = play.name temp['cards'] = play.cards temp['sum'] = temp['cards'][0] + temp['cards'][1] all_players.append(temp) for name_num in all_players: if name_num['sum'] > 21: name_num['sum'] = name_num['sum'] - 21 all_players.sort(key=lambda x: x['sum'], reverse=True) print(f'本次游戏的扑克牌顺序为{p.cards}') print('游戏开始:n') print(all_players) print(f"获胜者是{all_players[0]['name']},最大点数为{all_players[0]['sum']}")
if __name__ == '__main__': main()
|
近期评论