[英]Issue with my battle engine
I a bit of a python n00b, and I'm creating a kind of battle scene, and IDLE keeps saying that a simple else
block. 我有点蟒蛇n00b,我正在创建一种战斗场景,而IDLE一直在说一个简单的
else
块。 Here is the code. 这是代码。
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()
This isn't complete, and the player_turn()
will be in a loop until someone has got 0 ore less HP. 这还不完整,并且
player_turn()
将处于循环中,直到有人获得的HP减少0或更少。 When I run it, IDLE will highlight the else
that I pointed out. 当我运行它时,IDLE将突出显示我指出的
else
。 I don't know why, and I would really appreciate some help... Thank you! 我不知道为什么,非常感谢您的帮助...谢谢!
enemyHP = (enemyHP - playerAttackPower1
You've got a mismatched parenthesis here. 您在这里的括号不匹配。 Add a right one, or delete the left one.
添加一个右边的,或删除左边的。
enemyHP = enemyHP - playerAttackPower1
Or 要么
enemyHP = (enemyHP - playerAttackPower1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.