我的代码有一些问题。我正在遵循“使用 Python 和 Pygame 开始游戏开发”一书中的一个示例(示例 2-4 和 2-5),我遇到了语法错误。下面是有问题的代码。我是 Python 新手,可能只是打错字了。
本书使用python 2.4。我收到 2.7 和 3.2 的错误。
两个问题:
代码行:
my_tank = Tank("Bob")
收到语法错误。my_tank
突出显示。我确实让它开始工作,但我不确定它为什么开始工作。
代码行:
print self.name, "fires on", enemy.name
也收到语法错误。此self
行中的 高亮显示。开始工作时my_tank
,我开始收到此错误。不知道这里发生了什么。
class Tank(object):
def _init_(self, name):
self.name = name
self.alive = True
self.ammo = 5
self.armor = 60
my_tank = Tank("Bob")
def _str_(self):
if self.alive:
return "%s (%i armor, %i shells)" % (self.name, self.armor, self.ammo)
else:
return "%s (dead)" % self.name
def fire_at(self, enemy):
if self.ammo >= 1:
self.ammo -= 1
print self.name, "fires on", enemy.name
enem.hit()
else:
print self.name, "has no shells!"
def hit(self):
self.armor -= 20
print self.name, "is hit!"
if self.armor <= 0:
self.explode()
def explode(self):
self.alive = False
print self.name, "explodes!"