从0开始用python写一个命令行小游戏(七)

嗯,我知道大家此时内心想的是什么:“上次为何这么短?” “是否是存心搞咱们?” 呃······但个人v1.0 beta 1就是这样发布的!!!但无论上次多短,咱们的编程仍是要继续下去。今天咱们的工做:增长状态显示及彩色!
关于前做连接:因为文章太多,我决定只在每篇文章中显示上篇连接。这里就是:从0开始用python写一个命令行小游戏(六)python

状态显示

个人v1.0 beta 1发布后,有测试用户说各类内部进行的操做看不出来,我就想到了这个方法:对于每一个操做,都输出一个状态,就一目了然了。个人解决方法以下:编程

class Sunflower(Plant):
    indicating_char = 's'
    
    def __init__(self, pos):
        super().__init__(pos, 50)
        print("Sunflower planted at %d, costing 50 sunlight."
              % self.pos)
    
    def step(self):
        # 其他部分同前
        print("Sunflower at %d produced 25 sunlight."
              % self.pos)

别的类也相似。这里简单的说一下"%d""%s"等的做用。它们都是用来匹配一些动态内容的,只不过匹配的内容类型不一样。全部值经过%操做符匹配。%d匹配int类型,%s匹配str类型,等等。有多个匹配值时,%后内容加括号(至关于使用元组)。例:segmentfault

name = 'peter'
age = 20
print("%s is %d years old." % (name.title(), age))
# 输出:Peter is 20 years old.

这种将不一样类型的动态值嵌入字符串的方法在嵌入int类型时十分高效,不再用"..." + str(val) + "..."这样进行嵌入了。函数

好了,回到正题。测试

彩色显示

个人百度结果:\033[显示模式;颜色;背景m字符\033[0m
显示模式:0=正常,1=高亮(在Mac下为粗体)
颜色:30=正常,31=红,32=绿,33=黄,34=蓝,35=紫,36=青,37=白
背景:颜色+10
因而,一个color()函数诞生:命令行

def color(font, text):
    return "\033[1;%dm%s\033[0m" % (font, text)

而后把须要加颜色的字符串变成:code

color(颜色数字, "字符")

大功告成!(v1.0 beta 3发布状态)游戏

下集预告

下次,该加上多行了!还有,一种新的僵尸(原创)正蠢蠢欲动······欢迎继续关注!字符串

相关文章
相关标签/搜索