2017-03-05 6 views
1

私は棚のランダムチャンスゲームで歩くようなコードをしようとしています、ユーザーは彼らが賭けたいと思っていた一定量を入力し、生きているか、棚から落ちています。これまでのコードはFARで終了していますが、私は問題に遭遇しました。私のpythonのゲームコードが動作していません

import time 
import random 


class Player(): 
    def __init__(self,name): 
     self.name = name 
     self.luck = 2 
     self.gold = 10 

def main(): 
    print("Hello what is your name?") 
    option = input("--> ") 
    global PlayerIG 
    PlayerIG = Player(option) 
    start1() 

def start1(): 
    print("Name: {}".format(PlayerIG.name)) 
    print("Luck: {}".format(PlayerIG.luck)) 
    print("Gold: {}".format(PlayerIG.gold)) 
    inputgold() 

def inputgold(): 
    print("Please input how much gold you would like to play with") 
    goldinput = input("--> ") 
    strgold = str(goldinput) 
    print("You inputted {}".format(strgold)) 
    if strgold <= PlayerIG.gold: 
     print("You don't have enough gold") 
     inputgold() 
    else: 
     print("Get ready to start!") 
    ledge() 

def ledge(): 
    print("You are standing on a ledge with an unknown length") 
    time.sleep(1) 
    choice = input("How many steps do you want to take forward? Between 1-100") 
    if choice == step1: 
     print("You have fallen off the ledge") 
     PlayerIG.gold -= goldinput 
     print("Gold: ".format(PlayerIG.gold)) 
    elif choice == step2: 
     print("You...") 
     time.sleep(1) 
     print("Didn't fall off the ledge!") 
     PlayerIG.gold*1.2 
     print("Gold: ".format(PlayerIG.gold)) 
    else: 
     print("You slipped off the ledge and face planted onto the side walk") 
     PlayerIG.gold -= goldinput 
     print("Gold: ".format(PlayerIG.gold)) 

def steps(): 
    step1 = random.randint(10,30) 
    step2 = random.randint(30,50) 
    step3 = random.randint(50,100) 

main() 

私はそれを実行されては言う:

if strgold <= PlayerIG.gold: TypeError: unorderable types: str() <= int()

私はそれを解決することができますか?

答えて

1

問題は、この行です:

ここ
if strgold <= PlayerIG.gold: 

あなたは整数と文字列を比較しています。これは、あなたが最初の文字列を整数に変換する必要があり、ことはできません。

if int(strgold) <= PlayerIG.gold: 

私はあなたのコードの残りの部分をチェックしていないが、私はあなたがあまりにも他の場所で同様のミスがあるかもしれないと思います。

関連する問題