在处理扑克牌时如何在python中使用类?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在处理扑克牌时如何在python中使用类?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1687字,纯文字阅读大概需要3分钟。
内容图文
![在处理扑克牌时如何在python中使用类?](/upload/InfoBanner/zyjiaocheng/803/660f35694340401ab8155580ea80f6e7.jpg)
我正在读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..
我要问的是:为此目的使用类的正确方法是什么?我是否应该让另一个班级将五张牌发给扑克桌,还有另一个班级来保持不同的排列?
或者手,手的分数,桌子的发牌以及手牌的不同排列都应该属于同一类?
我不是要求任何人给我写任何代码,但如果你有时间给我一个快速暗示我应该在哪个方向看,我会非常感谢!
谢谢!
马吕斯
解决方法:
首先,没有“正确”的方法来解决这个问题.这完全取决于个人偏好和设计考虑因素.
就个人而言,我会这样做是为了创建3个数据类:
甲板处理卡片,并跟踪已经处理过的卡片
我会给这个类一个通用的绘制方法,它从可用的卡片中返回一张随机卡片
玩家可以跟踪每个玩家的牌,这可以通过两次调用Deck.draw()来确定
用于跟踪桌面上的卡片的表格
然后,我会将这一切包装在一个处理所有游戏逻辑的Game类中,比如确保桌面上的牌是在正确的时间绘制的
内容总结
以上是互联网集市为您收集整理的在处理扑克牌时如何在python中使用类?全部内容,希望文章能够帮你解决在处理扑克牌时如何在python中使用类?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。