コードにいくつか問題があります。「PythonとPygameを使用したゲーム開発の開始」(例2-4および2-5)の例に従って、構文エラーが発生します。以下は問題のコードです。私はPythonを初めて使用し、おそらくタイプミスをしただけです。
この本はPython2.4を使用しています。2.7と3.2でエラーが発生します。
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!"