注意:这不是
我试过w_sword += 1
了,它仍然显示为0。
好的,这是我现在的代码。
#creates random monsters with xp points, leveling up player, and adding upgrades
#imports
from clint.textui import colored, puts
import random
def game():
sticks = 2
stumps = 2
stone = 0
iron = 0
gold = 0
diamond = 0
platinum = 0
w_sword = 0
w_shield = 0
items = ('sticks:' + str(sticks) + ' stumps:' + str(stumps) + ' stone:' + str(stone) + ' iron:' + str(iron) + ' gold:' + str(gold) + ' diamond:' + str(diamond) + ' platinum:' + str(platinum) + ' Wooden sword(s):' + str(w_sword) +
' wooden shield(s):' + str(w_shield))
#start of the game
def start_game():
print(' Hello player! Welome to a text based game involving killing monsters, leveling up, crafting weapons, and upgrading weapons!!!')
print(' To get started enter in (i)inventory (c)craft items (d)description of items (m)types of monsters or (f)fight monsters.')
print(' ENTER (help) FOR HOW THE GAME WORKS')
print(' ENTER(?) FOR TO PRINT THIS AGAIN')
print(' WHILE YOU ARE IN A CATEGORY SUCH AS (i)inventory PRESS (?) CAN BE USED TO GO BACK AND GO TO ANOTHER CATEGORY')
start_game()
main_In = input()
level = 0
Pxp = 0
gold = 0
if main_In == ('c'):
ws_sticks = 2
ws_stumps = 1
def craft():
print('Would you like to craft an item??')
print('( Red = uncraftable )')
print('( Green = craftable )')
print('( Type items in lowercase )')
if sticks < ws_sticks:
puts(colored.red('Wooden sword'))
else:
puts(colored.green('Wooden sword'))
if stumps < ws_stumps:
puts(colored.red('Wooden shield'))
else:
puts(colored.green('Wooden shield'))
craft()
C_item = input()
def re_craft():
print('press ENTER to go back to the start screen, or enter c to craft an(other) item.')
cor_go = input()
if cor_go == ('c'):
craft()
C_item = input()
else:
game()
if C_item == ('no'):
print('press ENTER to go back to the start screen')
input()
game()
if C_item == ('wooden sword') and sticks >= ws_sticks:
print('Wooden sword added to your inventory')
re_craft()
if C_item == ('wooden sword') and sticks < ws_sticks:
print('You need ' + str(ws_sticks - sticks) + ' stick(s) to craft a wooden sword')
re_craft()
if C_item == ('wooden shield') and stumps >= ws_stumps:
print('Wooden shield added to your inventory')
re_craft()
if C_item == ('wooden shield') and stumps < ws_stumps:
print('You need' + str(ws_stump - stumps) + ' stumps to craft a wooden shield.')
re_craft()
while ('Wooden shield added to your inventory'):
w_shield = +1
while ('Wooden sword added to your inventory'):
w_sword = +1
if main_In == ('i'):
puts(colored.yellow('Level: ' + str(level)))
puts(colored.yellow('xp: ' + str(Pxp)))
puts(colored.yellow('gold:' + str(gold)))
puts(colored.yellow('Items: ' + str(items)))
puts(colored.yellow('press ENTER to return to the start screen'))
input()
game()
if main_In == ('?'):
game()
game()
现在你可以看到,w_sword 和 w_shield 都 = 到 0 正确吗?
就在它说 w_sword = +1 和 w_shield = +1 的地方,我认为是问题所在。
当你运行程序时,输入 c,然后制作一把木剑/盾牌,一旦你进入你的 (i) 库存,它应该会自动将 1 添加到 w_sword/w_shield。但是由于某种原因,当您返回 (i) 库存时,w_sword/w_shield(取决于您制作的那个)显示为 0。
我认为这段代码主要是因为在项目分配中,它包含 str(w_sword) 和 str(w_shield) 以及其他代码。因此,当您制作木剑或木盾之类的物品时,它的 str(w_shield) 或 str(w_sword) 应该为 1。
有谁知道我的问题是什么??如标题所述,我使用python 3.3。