在另一个脚本中使用一个脚本的输出
我想知道是否有一种方法可以将脚本(重量,长度,stab_damage,slash_damage)的某些结果放入另一个脚本中,而不需要玩家再次执行所有输入。我几乎没有python的经验,我正在尝试制作一个小型游戏,并且需要这些,所以当这个人配备了短剑时,体重,长度和伤害都会留在玩家身上。如果这是不可能做到的,我会明白,并不会感到惊讶。在另一个脚本中使用一个脚本的输出
shortsword = weapon
user_input = float(raw_input("input number between 2-5 for blade length: "))
tip_input = float(raw_input("input number between 1-4 for blade point: "))
blade_input = float(raw_input("subtract blade length from 6, add 2: "))
length = user_input*8
weight = 500*length
from decimal import *
tipsharpness = 2 * tip_input
stab_damage = tipsharpness * 3
slash_damage = blade_input * user_input
from random import randint
attack = (randint(0, 9))
if attack < 5:
print "Stab"
print stab_damage
else:
print "Slash"
print slash_damage
print length "inchs"`
可以使用os.system调用带参数的另一个脚本:
import os
s_execute = "script.py %s %s" % (param_1, param_2)
os.system(s_execute)
而在你的其他脚本,使用sys.argv得到的参数:
import sys
param_1= sys.argv[1]
param_2= sys.argv[2]
print param_1, param_2
玩家是否必须重新输入武器长度等? – NightWarrior
不,程序会传递参数值(user_input,tip_input和blade_input),第二个脚本将参数保存为变量,并且用户在第一个脚本中写入的值。 – Gober
好的。我会尝试看看我能否得到这个工作,还有一个快速问题,我是否需要重命名已提供的代码中的参数(user_input等?) – NightWarrior
重构使您在使用功能和Don不直接使用stdout。 – o11c