私の質問にはすべての用語が正しいと思います...しかし、よくわかりません。基本的に私がやろうとしているのは、テキスト ゲームに設定されたインベントリと装備の詳細を取得することです。
私がやりたいのは、武器を持ち、剣を手に入れて、キャラクター自体の特定の側面を変えたい. キャラクターの HP が 5 程度増加するようにしましょう。
global basehp
basehp = 10
global armorhp
armorhp = 0
global skillhp
skillhp = 0
global hpmod
hpmod = (skillhp + armorhp)
global righthand
righthand = 0
hpで例を設定すると、これが実際に私のプログラムにあるものです。今、私がやりたいのは、鎧がそれを変更するものに一致するようにarmorhpを変更することです。私のhpに5を追加する剣を持っているとしましょう。私が今取り組んでいるものは機能していません。最初は、装備してアーマーHPに5を追加することを考えていましたが、装備を解除することを考え始めました...効果は同じです...私はあなたに何を示しますかつまり
def hpsword:
armorhp = (armorhp + 5)
def prompt():
x = raw_input("Type command>>")
if x == 'equip':
print "equip what?"
print inventory
y = raw_input(">>>>")
if y == 'sword':
if 'hpsword' in inventory:
global righthand
righthand = 1
inventory.remove ('hpsword')
equipmentlist.append ('hpsword')
ここから、リストなど、いくつかの項目を省略していることに気付くと思いますが、ここで、私が意味することの詳細を実際に説明できます。各項目をそのように使用したいのですが、方法がわかりません...混乱しています、私は知っています、私は頭にたくさんありますが、私はただ何かをしたいです....
def this sword():
this sword does this thing!
次に、装備されたときに+5ヘルスなどの効果を追加し、それを取り外して効果を利用します。100行のコードを実行して、この効果を追加する一連のステートメントを使用する必要はありませんが、これ以上使用したくない場合は、右側を 0 にリセットし、それがこの数だった場合は、それを 2 に変更してさらに 10 を追加する前に、そこからこの数を取り除きます。
私はまた、剣を装備するのを避けようとしています。ヘルスを 5 獲得し、装備を外して、まだ 5 のままですか? 良い、装備、YAY 10!!!
私が少しでも意味をなすとしたら、私はショックを受けます...しかし、誰かが私が何を意味するのかを理解し、私にいくつかの指針を与えることができれば、それは素晴らしいことです!
編集:
コメントに残っているものを読んで、(Eevee に感謝します!) 私はクラスを少し理解し始めていると思います... ごくわずかです。
新しい質問です。次に、主人公のクラスを作成しますか?
class character(object):
次に、初期化を追加します
def __init__(self)
次に、次のように在庫を定義しますか?
def __init__(self)
def inventory
それとも私はこれをしますか、
def __init__(self, inventory)
あまりにも多くの質問をして申し訳ありませんが、それを理解しようとしているだけで、ここの人々は少なくとも私のようなプログラマー志望者からの質問を見るのに十分親切であることに気付きました:D
別の編集!!!!
繰り返しになりますが、たくさんのイーブイに感謝します! それを読んでも、それをコードに追加する方法と、いくつかの異なる項目に対して何を変更する必要があるかについて、まだ少し混乱しています。
いくつか説明するために、私が別のアイテムを言うとき、あなたは私にくれました
class Sword(object):
def visit_health_bonus(self, character):
return 5
何か違うことをする剣が欲しければ、別の名前で新しいクラスを作成するだけですが、基本的に同じことですか?
class Sword2(object):
def visit_strength_bonus(self, character):
return 2
それは私の力を2加える剣を私に与えますよね?
ここで私の他の質問に進みます。これを使用しようとすると、正しく機能させるために本当に必要なものは何ですか?他のビットがないと実行できないと思われる多くのことが見られます
class Sword(object):
def visit_health_bonus(self, character):
return 5
# Then, every turn, recalculate health:
health = player.base_health
for equipment in player.equipment: //would i need another class here? (player)
# Pretend this lists everything the player has equipped; you might
# have to check each hand manually
health += equipment.visit_health_bonus(player) //also going to think a class (equipment)