我在写纸牌游戏
我创建了一个“card”类和一个包含card对象作为属性的deck类。我成功地完成了洗牌、打印牌组列表、打印牌组中剩余的牌以及制作一个功能正常的“抽牌”系统的功能。 现在,我尝试根据卡的种子为每张卡赋予一个属性(“Briscola”=真/假)(第一张卡由经销商提取,其种子被考虑,然后每一张与被提取种子相匹配的卡的Briscola值都更改为真),但我遇到了两个问题
当我试着跑的时候
prova = Mazzo()
prova.inizio()
“Inzio”方法(应选择一张卡片并进行种子填充)给出以下类型错误:
in inizio
print('La briscola è', self.semi[brisc.Seme])
TypeError: 'str' object is not callable
以下是我写的:
import random
class Carta:
semi = ['Bastoni', 'Spade', 'Coppe', 'Denari']
numeri = ['1', '2', '3', '4', '5', '6', '7', 'Fante', 'Cavallo', 'Re']
briscola = None
def __init__(self, Seme = 0, Valore = 0, Briscola = False):
self.Seme = Seme
self.Valore = Valore
self.Briscola = Briscola
def __str__(self):
return (self.numeri[self.Valore] + " di " +
self.semi[self.Seme])
class Mazzo:
semi = ['Bastoni', 'Spade', 'Coppe', 'Denari']
numeri = ['1', '2', '3', '4', '5', '6', '7', 'Fante', 'Cavallo', 'Re']
def __init__(self):
self.Carte = []
for seme in range(4):
for valore in range(10):
self.Carte.append(Carta(seme,valore))
def inizio(self):
brisc = random.choice(self.Carte)
print = ('-------------La partita è iniziata!-------------')
print('La carta iniziale è ' , brisc)
print('La briscola è', self.semi[brisc.Seme])
for carta in self.Carte:
if carta.Seme == brisc.Seme:
carta.Briscola = True
self.Carte.remove(brisc)
很抱歉,变量名是我的母语。以下是一些翻译,以便更好地理解: carta/e=卡片/s seme/i=种子/s Mazzo=卡片编号i=编号prova=foo
该行将
print()
函数重新指定为普通字符串,它不再是函数因此,下次调用
print('something')
时,会出现一个错误想必这是一个打字错误,你不是有意把
=
放在那里的相关问题 更多 >
编程相关推荐