クラスの使用法をよりよく理解できるように、簡単なスクリプトを作成しました。ゲーム用のランダムなキャラクターを生成します。オブジェクトを定義し、生成された文字を出力するそのオブジェクトの関数を呼び出します。印刷されたブロックの最後に、無関係な「なし」があり、それがどこから来ているのか、なぜ印刷されているのかわかりません。出力例は次のとおりです。
ted
Strength : 20
Dexterity : 17
Hit Points: 100
Aura : 100
Weapon :
Spell :
Item :
Element :
--------------------
None
私のコードでは、最後の行はplayer.stats()
「print "-" * 20
なし」のすぐ上に表示されています。オブジェクトを定義するコードは次のとおりです。
class Player(object):
def __init__(self, name):
self.name = name
self.strength = randint(15, 20)
self.dexterity = randint(15, 20)
self.hit_points = 100
self.aura = 100
self.weapon = " "
self.spell = " "
self.item = " "
self.element = " "
def stats(self):
print "\n"
print self.name
print "Strength : %d" % self.strength
print "Dexterity : %d" % self.dexterity
print "Hit Points: %d" % self.hit_points
print "Aura : %d" % self.aura
print "Weapon : %s" % self.weapon
print "Spell : %s" % self.spell
print "Item : %s" % self.item
print "Element : %s" % self.element
print "-" * 20
次に、オブジェクトはこれを使用してインスタンス化されます。
name = raw_input("Name your character: ")
player = Player(name)
print player.stats()
完全なコードは、必要に応じて Pastebinで読むことができます。