1

現在、Python でゲームを作成しており、ストアを追加したいと考えています。

変数でこれを行いたい。変数を追加する方法と変数を変更する方法は知っていますが、変数を増減する方法は知りません。

私は実際に変数を使用したことがありません。私はそれについて読んだことがありますが、私はそれについてあまり覚えていません。

def level1():
os.system('cls')
gold = 500
print
print 'You have currently',
print (gold),
print 'gold'
time.sleep(3)
level2()

def level2():
print
print 'Congratulation! You completed the quest! You received 200 gold.'
time.sleep(2)
gold =+ 200
print 'You have now',
print (gold),
print 'gold.'
time.sleep(5)

結果は次のとおりです。

あなたは現在500ゴールドを持っています

おめでとう!クエストを完了しました。200 ゴールドを受け取りました。これで 200 ゴールドになりました。

ゴールド + 200、ゴールド += 200、ゴールド =+ 200 を試しましたが、最後の 1 つしか機能しませんでした。

私も試しました

print 'You have now' + gold + 'gold'

しかし、それは何らかの理由で機能しませんでした。私も試してみました

print 'You have now' + (gold) + 'gold'

ここで何が問題なのかよくわかりません。私が得ることができるすべての助けに感謝します!

どうもありがとうございました。

編集:

質問の大部分を追加するのを忘れていました。ごめんなさい!

================================================== ================================

ストアでは、複数のアイテムを異なる価格で販売します。ゲームの開始時にすべてのアイテムが利用できるわけではありません。したがって、ユーザーが持っているゴールドの量を確認するアイテムが必要です。ユーザーが x ゴールド未満の場合、そのアイテムを購入することはできません。

レベルが 04 に達すると、その特定のアイテムのロックが解除されます。

4

1 に答える 1

2

であってはなりgold += 200ませんgold =+ 200

次に、gold各関数にローカルな変数のようです。つまり、goldで 500 に代入してlevel1()も、 でその値に設定されませんlevel2。引数として渡すか、グローバルとして持つ必要があります。

引数として渡すには:

def level1(gold) :
  # do your stuff here
  level2(gold)

def level2(gold) :
  # do your stuff here

# entry point of your application
if __name__ == "__main__" :
  # initialize `gold` here
  gold = 500
  level1(gold)

グローバル インスタンスを使用するには:

# global variable 
gold = 500

def level1() :
  # specify that you want to use the global instance of gold
  global gold
  # do your stuff here

def level2() :
  global gold
  # do your stuff here
于 2013-08-07T22:25:28.833 に答える