纸牌游戏Python,保存打乱的牌堆
我正在用Python写一个程序,用户需要猜测下一张牌是比上一张大还是小。
这个程序基本上都能正常运行,除了一个功能。
我有两种玩法。一种是洗牌,另一种是用未洗过的牌(我在制作文本文件时随意排列的顺序)。我想要的是,当用户选择用洗过的牌玩的时候,洗过的牌会被保存,并覆盖未洗牌的文本文件。
文本文件中的牌是以两位或三位数字保存的。
每种花色的编号如下:
- 1 - 梅花
- 2 - 方块
- 3 - 红心
- 4 - 黑桃
至于牌的数字:
- 1 - A(王牌)
- 2 - 2
- ...
- 11 - J(杰克)
- 12 - Q(女王)
- 13 - K(国王)
所以红心5会保存为35,而梅花J会保存为110。
这是我目前的代码。
这是我尝试保存的部分:
def SaveShuffledDeck(Deck):
CurrentFile = open('deck.txt', 'w')
Count = 1
for Count in range(1,52+1):
CardtoaddtoFile = str(Deck[Count].Suit) + str(Deck[Count].Rank) + '\n'
CurrentFile.write(CardtoaddtoFile)
CurrentFile.close()
如果你想查看剩下的牌组代码,可以访问这个pastebin链接
1 个回答
1
你可能想好好看看这个链接: http://docs.python.org/2.7/library/functions.html#open
open('deck.txt', 'w') # will overwrite it
然后可以像这样做...
import random
f = open('deck.txt', 'w') # op
l = [i for i in range(1,111)] # list from 1 to 110
random.shuffle(l) # shuffle that list
for i in l:
f.write(str(i))
f.write('\n')
编辑:抱歉,我没有用到你的函数。不过你可以对此进行修改。