2017-08-27 107 views
0

我想知道是否有一种方法可以将脚本(重量,长度,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"` 
+0

重构使您在使用功能和Don不直接使用stdout。 – o11c

回答

0

可以使用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 
+0

玩家是否必须重新输入武器长度等? – NightWarrior

+0

不,程序会传递参数值(user_input,tip_input和blade_input),第二个脚本将参数保存为变量,并且用户在第一个脚本中写入的值。 – Gober

+0

好的。我会尝试看看我能否得到这个工作,还有一个快速问题,我是否需要重命名已提供的代码中的参数(user_input等?) – NightWarrior

相关问题