基于变量值

时间:2018-06-08 02:10:11

标签: python variables if-statement

我正在制作一个非常简单的基于文本的宠物游戏,我需要一种方法让宠物的“食物计量器”增加。用户可以打开一个菜单,在那里可以通过写出来选择“FEED”,这需要在食品计量器上添加1个条。

我将每个版本的食物计量器设置为单独的变量,如下所示:

statfull = "[▇▇▇▇▇▇▇▇▇▇]"
stat9 = "[▇▇▇▇▇▇▇▇▇_]"
stat8 = "[▇▇▇▇▇▇▇▇__]"
stat7 = "[▇▇▇▇▇▇▇___]"
stat6 = "[▇▇▇▇▇▇____]"
stat5 = "[▇▇▇▇▇_____]"
stat4 = "[▇▇▇▇______]"
stat3 = "[▇▇▇_______]"
stat2 = "[▇▇________]"
stat1 = "[▇_________]"
statempty = "[__________]"

如果食物条的变量当前打印stat7,当用户输入单词“FEED”时,如何使其上升一级(在这种情况下更改为stat8)? 我的意思是:

currentFStat = stat7
print("Your food bar is at " + currentFStat)

看起来像

您的食物栏位于[▇▇▇▇▇▇▇___]

我希望播放器能够在出现提示时输入“FEED”,然后让程序将currentFStat的值更改为stat8,以便当它

print("Your food bar is at " + currentFStat)

输出现在是

您的食物栏位于[▇▇▇▇▇▇▇▇__]

我能想到的唯一方法是为它可能处于的每个可能的状态都有一个if语句,如果是那个状态,则改为下一个状态,但这似乎太乏味了,我确信它有一个更容易的方式我想念...

1 个答案:

答案 0 :(得分:1)

如何用整数变量表示宠物的食物水平:

foodlevel = 5 # for example

如果用户FEED您的宠物,请增加foodlevel。否则减少。

使用foodlevel随时随地创建健康指标:

>>> '▇' * foodlevel + '_' * (10 - foodlevel)
'▇▇▇▇▇_____'

我认为10是"完全",而0是"空"。您可以根据需要修改此设计。