Python的战争纸牌游戏
Python(59)在清理我的笔记本电脑上的代码存储库时,我遇到了纸牌游戏的实施战争我在编程采访时写道。它远非壮观,但似乎是一个非常好的面试问题。
“”“实施纸牌游戏战争。规则是:1。在两个用户之间处理52张牌的甲板。2.每个玩家都播放一张卡片。较高卡获胜。获胜者占用两张牌。3.如果玩家领带,那么每个球员放下三张牌,第三张牌竞争。如果玩家有不到3张牌,那么他们将所有的卡片放下所有的卡片,他们的最终卡与其他玩家的第三张牌竞争。继续这样做,直到领带打破。赢家所有牌。4.玩家没有任何卡片的游戏结束。剩下的卡片的播放器是胜利者。“”“”导入随机def generate_deck(suites = 4,type_cards = 13):“生成一个随机甲板牌。”Cards = []适用于范围内的套件(套件):适用于范围内的Type_Card(1,Type_Cards + 1):Cards.Append(Type_Card)Aquary.Shuffle(卡)返回卡Def Play_war(甲板):a_cards = deck [:len(甲板)/ 2] b_cards = deck [len(甲板)/ 2:] a_stash = [] b_stash = [] round = 1 why a_cards和b_cards:#通过使用pop,我们从excoading a_card = a_card播放.pop()b_card = b_cards.pop()如果a_card == b_card:a_stash.extend([a_card] + a_cards [-3:])a_cards = a_cards [: - 3] a_cards.append(a_stash.pop())b_stash.extend([b_card] + b_cards [-3:])b_cards = b_cards [: - 3] b_cards.append(b_stash.pops.append(b_stash.pop())elif a_card> b_card:#s_stash和b_stash的排序由游戏规则a_card未定义= [a_card,b_card] + a_stash + b_stash + a_cards a_stash = [] b_stash = [] elif b_card> a_card:#s_stash和b_stash的排序由游戏规则b_cards = [b_card,a_card] + b_stash + a_stash + b_cards a_stash= [] b_stash = []打印“圆形%s:a_cards:%s,a_stash%s,b_cards%s,b_stash%s”%(圆形,len(a_cards),len(a_stash),len(b_cards),len(b_stash))round + = 1如果_nname__ ==“__main__”:deck = generate_deck()play_war(甲板)
没有初始评论它大约五十行代码。