我正在读
python的第一门课程,因为我的课本非常浅,所以我试图通过亲身体验熟悉课程.
我想编写一个程序来处理一些德州扑克手牌(单手开始),然后在桌子上交出五张牌,然后用5张桌牌和2张牌查看所有可能的手牌排列牌. (可以将一手牌的两张牌与桌子的五张牌中的三张牌组合在一起).最终我想扩展它来比较和评估手,并提名一个胜利者.但那将是以后的事情.
我很想知道的是用类来构造这个问题的好方法.
制作一个拥有交易功能并包含不同手牌的Hand类是否明智,并让deck成为全局变量?
#The hand-class is a class for the dealt poker-hands.
import random
deck = [i for i in range (102, 115)]
deck += [i for i in range(202, 215)]
deck += [i for i in range(302, 315)]
deck += [i for i in range(402, 415)]
# I define a card by a prefix number - the suit - and the card value. Jack of spades = 111 if spades corresponds to 1.
class Hand:
def __init__(self):
return None
def deal_hand(self):
self.hand = []
for i in range (0,2):
card = random.choice(deck)
self.hand.append(card)
deck.remove(card)
#def score():
#a function to determine the sore of the hand..
我要问的是:为此目的使用类的正确方法是什么?我是否应该让另一个班级将五张牌发给扑克桌,还有另一个班级来保持不同的排列?
或者手,手的分数,桌子的发牌以及手牌的不同排列都应该属于同一类?
我不是要求任何人给我写任何代码,但如果你有时间给我一个快速暗示我应该在哪个方向看,我会非常感谢!
谢谢!
马吕斯