在Python中调用函数?
我不知道如何调用下面的函数,我列出了一个框,其中列出了我想做的事情,但不知道如何调用在Python中调用函数?,python,function,python-3.5,Python,Function,Python 3.5,我不知道如何调用下面的函数,我列出了一个框,其中列出了我想做的事情,但不知道如何调用 import random import time startingP_health = 30 startingE_health = 30 def player_attack(): global startingE_health time.sleep(1) print ("What ability would you like to use? (free speach(fs), ca
import random
import time
startingP_health = 30
startingE_health = 30
def player_attack():
global startingE_health
time.sleep(1)
print ("What ability would you like to use? (free speach(fs), capatalism(c), or punch(p)")
ability_choice = input()
if(ability_choice == "fs"):
enemy_health = startingE_health-3
enemy_heath = int(enemy_health)
elif(ability_choice == "c"):
enemy_health = startingE_health-(random.randint(1,6))
enemy_heath = int(enemy_health)
elif(ability_choice == "p"):
enemy_health = startingE_health-(random.randint(2,4))
enemy_heath = int(enemy_health)
else:
print("you fell.")
time.sleep(1)
print ("Enemie's health is now: ",enemy_health)
print("")
return int(enemy_health)
def enemy_attack():
global startingP_health
time.sleep(1)
print ("Enemy kicks you")
print("")
player_health = startingP_health - (random.randint(1,3)
player_health = int(player_health)
time.sleep(1)
print ("Your health is now ",player_health)
print ("")
return int(player_health)
def battle_trotsky():
global player_health
print ("Enemy appears")
print ("")
time.sleep(1)
while player_health > 0 and enemy_health > 0:
##############################
#call function player_attack
#call enemy_attack
##############################
if player_health <=0:
break
if enemy_health <= 0:
time.sleep(1)
print ("You have killed the enemy")
if player_health <= 0:
print("Sorry you failed the mission you must restart the mission"))
################################
#initate function sequence
################################
随机导入
导入时间
启动P_健康=30
开始健康=30
def player_attack():
全球启动健康
时间。睡眠(1)
打印(“您希望使用什么技能?(自由演讲(fs)、capatalism(c)或punch(p)”)
能力\选择=输入()
如果(能力选择=“fs”):
敌人健康=开始健康-3
敌方健康=智力(敌方健康)
elif(能力选择==“c”):
敌人生命=开始生命-(random.randint(1,6))
敌方健康=智力(敌方健康)
elif(能力选择=“p”):
敌人生命=开始生命-(random.randint(2,4))
敌方健康=智力(敌方健康)
其他:
打印(“你摔倒了。”)
时间。睡眠(1)
打印(“敌人的生命值现在为:”,敌人的生命值)
打印(“”)
返回智力(敌方生命值)
定义敌人的攻击()
全球启动公共卫生
时间。睡眠(1)
打印(“敌人踢你”)
打印(“”)
玩家健康=开始健康-(random.randint(1,3)
玩家健康=int(玩家健康)
时间。睡眠(1)
打印(“您现在的健康状况”,玩家健康状况)
打印(“”)
返回整数(玩家健康状况)
def battle_trotsky():
全球玩家健康
打印(“敌人出现”)
打印(“”)
时间。睡眠(1)
当玩家生命值>0且敌人生命值>0时:
##############################
#调用函数player\u攻击
#呼叫敌人进行攻击
##############################
如果player_health这对这个网站来说不是一个好问题,因为它不具体,但我觉得有必要通过深层次的力量来修复这个代码。我不知道你为什么要睡觉,打印(“”)在以前的打印中,语句可以替换为“\n”,并且您不断地将玩家的健康值重新分配给起始健康值,该值永远不会达到0,因此您必须使健康值为全局值
这里有一个有效的例子
import random
player_health = 30
enemy_health = 30
def player_attack():
global enemy_health
ability_choice = input("What ability would you like to use? (free speach(fs), capatalism(c), or punch(p)")
if(ability_choice == "fs"):
enemy_health -= 3
elif(ability_choice == "c"):
enemy_health -= random.randint(1,6)
elif(ability_choice == "p"):
enemy_health -= random.randint(2,4)
else:
print("you fell.")
print ("Enemy's health is now: "+str(enemy_health)+'\n')
def enemy_attack():
global player_health
print ("Enemy kicks you")
player_health -= random.randint(1,3)
print ("Your health is now "+str(player_health)+"\n")
def battle_trotsky():
print ("Enemy appears\n")
while player_health > 0 and enemy_health > 0:
player_attack()
if check_game_over():
return
enemy_attack()
if check_game_over():
return
def check_game_over():
global player_health, enemy_health
if enemy_health <= 0:
print ("You have killed the enemy\n")
return True
elif player_health <= 0:
print("Sorry you failed the mission you must restart the mission")
return True
else:
return False
if __name__=='__main__':
battle_trotsky()
随机导入
玩家健康=30
敌人的生命=30
def player_attack():
全球健康
能力\选择=输入(“你想使用什么能力?(自由演讲(fs)、capatalism(c)或punch(p)”)
如果(能力选择=“fs”):
敌人的生命-=3
elif(能力选择==“c”):
敌人生命-=随机。随机数(1,6)
elif(能力选择=“p”):
敌人生命-=随机。随机数(2,4)
其他:
打印(“你摔倒了。”)
打印(“敌人的生命值现在为:”+str(敌人的生命值)+'\n')
定义敌人的攻击()
全球玩家健康
打印(“敌人踢你”)
玩家_健康-=random.randint(1,3)
打印(“您现在的健康状况为”+str(玩家健康状况)+”\n”)
def battle_trotsky():
打印(“敌人出现\n”)
当玩家生命值>0且敌人生命值>0时:
玩家_攻击()
如果检查游戏结束():
回来
敌人的攻击
如果检查游戏结束():
回来
def check_game_over():
全球玩家健康,敌人健康
如果你健康
您需要将敌人健康状况
和玩家健康状况
声明为全局,以便它们持续存在:
startingP_health = 30
startingE_health = 30
enemy_health = startingE_health
player_health = startingP_health
此函数不必返回任何内容,因为您先声明全局敌方健康状况
,然后为其指定新值:
def player_attack():
global enemy_health
time.sleep(1)
print ("What ability would you like to use? (free speech(fs), capitalism(c), or punch(p)")
ability_choice = input()
这不起作用,因为您正在执行敌方健康=起始健康-3
,这意味着每一轮都将从起始健康重新开始。而在这里,从当前值中减去-=
:敌方健康=敌方健康-3
:
if(ability_choice == "fs"):
enemy_health -= 3
elif(ability_choice == "c"):
enemy_health -= random.randint(1,6)
elif(ability_choice == "p"):
enemy_health -= random.randint(2,4)
else:
print("you fell.")
time.sleep(1)
print ("Enemy's health is now: ",enemy_health)
print("")
def enemy_attack():
global player_health
time.sleep(1)
print ("Enemy kicks you")
print ("")
player_health -= random.randint(1,3)
time.sleep(1)
print ("Your health is now ",player_health)
print ("")
def battle_trotsky():
global player_health
global enemy_health
print ("Enemy appears")
print ("")
time.sleep(1)
while player_health > 0 and enemy_health > 0:
通过name()
调用函数,如下所示:
player_attack()
enemy_attack()
if enemy_health <= 0:
time.sleep(1)
print ("You have killed the enemy")
if player_health <= 0:
print("Sorry you failed the mission you must restart the mission")
battle_trotsky()
player_-attack()
敌人的攻击
如果CulyYyHealthPosits欢迎堆栈溢出,如果代码工作,你可能会考虑。否则,请包括一个详细的和具体的描述什么是错误的。@叶我想创建一个游戏,基本上有3个敌人出现在你面前,你选择了3个攻击类型中的1个,持续的战斗与更新的健康每次攻击直到一个DI。故事类型的游戏,但我可以添加故事情节,只是想让战斗机制工作,而不是:(.现在清楚了吗?raw\u input()
是python2.OP指定的python3,其中input()
这就是你想要创建的游戏,在你选择3种攻击类型中的1种之前,基本上会出现3个敌人,持续战斗,每次攻击都会更新生命值,直到有一次死亡。我一周前开始学习python,我想我可能需要重新学习一些东西,但你认为你可以帮我完成代码,可能是或者你花3分钟。我不想为你要求太多,但如果你有时间的话。这段代码应该适用于一个敌人和你,玩家。花时间理解这些变化,并尝试自己实现其余的。从来没有人说过学习很容易;)@克里斯肯扬你对程序的结构做了一些相当实质性的改变。也许有必要解释一下为什么他们让程序整体上更好。2谢谢你,这正是我需要解释的,听着,我正在尝试制作一个有多个敌人和一个陈腐故事情节的游戏,你认为你能帮上忙吗我在某些地方需要帮助,或者当我陷入困境时,我应该在这里发帖。真诚地感谢你帮助我,不管你是谁answer@Uri.K如果你朝着自己的目标努力,人们会更愿意帮助你:)祝你好运……每个人都必须从头开始!
player_attack()
enemy_attack()
if enemy_health <= 0:
time.sleep(1)
print ("You have killed the enemy")
if player_health <= 0:
print("Sorry you failed the mission you must restart the mission")
battle_trotsky()