簡體   English   中英

我的戰斗引擎出現問題

[英]Issue with my battle engine

我有點蟒蛇n00b,我正在創建一種戰斗場景,而IDLE一直在說一個簡單的else塊。 這是代碼。

import random

chanceToHitP1 = ([2, 3, 4])
chanceToHitP2 = ([2, 3, 4, 5, 6, 7, 8, 9, 10])


playerHP = 30
enemyHP = 40

playerAttackPower1 = 20
#Accuracy for move 1 is 75%
playerAttackPower2 = 10
#Accuracy for move 2 is 100%
playerAttackPower3 = 15
#Accuracy for move 3 is 90%

enemyAttackPower1 = 20
#Accuracy for move 1 is 75%
enemyAttackPower2 = 10
#Accuracy for move 2 is 100%
enemyAttackPower3 = 15
#Accuracy for move 3 is 90%


def player_turn():
    print " what move would you like to make?"
    moveMade = input()
    # Move 1
    if moveMade == 1:
        accuracyChance = random.choice ([2, 3, 4, 1])
        if accuracyChance in chanceToHitP1:
            print "You hit!"
            enemyHP = (enemyHP - playerAttackPower1                                                                      
        else:
            print "your attack missed.."

# Move 2       
elif moveMade == 2:
print "Your attack hit!"
enemyHP = (enemyHP - playerAttackPower2)

# Move 3
elif moveMade == 3:
accuracyChance = random.choice ([2, 3, 4, 5, 6, 7, 8, 9, 10, 1])
if accuracyChance in chanceToHitP2:
    print "You hit!"
    enemyHP = (enemyHP - playerAttackPower3) 
else: print "You missed" [This is where it has an error]
player_turn()

這還不完整,並且player_turn()將處於循環中,直到有人獲得的HP減少0或更少。 當我運行它時,IDLE將突出顯示我指出的else 我不知道為什么,非常感謝您的幫助...謝謝!

enemyHP = (enemyHP - playerAttackPower1

您在這里的括號不匹配。 添加一個右邊的,或刪除左邊的。

enemyHP = enemyHP - playerAttackPower1

要么

enemyHP = (enemyHP - playerAttackPower1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM