资讯专栏INFORMATION COLUMN

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

teren / 1936人阅读

摘要:它们都是用来匹配一些动态内容的,只不过匹配的内容类型不同。所有值通过操作符匹配。

嗯,我知道你们此时心里想的是什么:“上次为什么这么短?” “是不是存心搞我们?” 呃······但我的v1.0 beta 1就是这样发布的!!!但不管上次多短,我们的编程还是要继续下去。今天我们的工作:增加状态显示及彩色!
关于前作链接:由于文章太多,我决定只在每篇文章中显示上篇链接。这里就是:从0开始用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类型,等等。有多个匹配值时,%后内容加括号(相当于使用元组)。例:

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

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

好了,回到正题。

彩色显示

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

def color(font, text):
    return "33[1;%dm%s33[0m" % (font, text)

然后把需要加颜色的字符串变成:

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

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

下集预告

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44743.html

相关文章

  • 0开始python一个命令游戏(八)

    摘要:这项乱入的修改就是修改目录结构,为多关卡作准备上篇链接从开始用写一个命令行小游戏七多关卡目录结构我计划把目录结构改成这样关卡文件,是关卡用完后的默认配置其中是目前的关卡数,为表示关卡已经用完,使用默认关卡。 今天,我突然想起了另一项修改,所以原计划的多行+新僵尸就改到第九篇再介绍。这项乱入的修改就是:修改目录结构,为多关卡作准备!上篇链接:从0开始用python写一个命令行小游戏(七)...

    MorePainMoreGain 评论0 收藏0
  • 0开始python一个命令游戏(六)

    摘要:嗯,今天我们的从开始用写一个命令行小游戏系列总算走到了我发布的时候。玩过我的正式版的话,你会发现现在的游戏还和正式版差别很大。好,现在就来顺便补充一下,上次方法后追加僵尸被打败是完成了好好庆祝一下 嗯,今天我们的从0开始用python写一个命令行小游戏系列总算走到了我发布v1.0 beta 1的时候。玩过我的1.0正式版的话,你会发现现在的游戏还和正式版差别很大。不管怎么样,现在就开始...

    channg 评论0 收藏0
  • 0开始python一个命令游戏(四)

    摘要:讲点搞笑的,最近在开发时,发现最令程序猿头疼的一点就是没有语句。但自动的僵尸呢哎,别急,那是后话下集预告下次,我要把游戏变得全自动具体工作令僵尸自动出现,和让用户用命令控制游戏这些工作完成后,就可以发布了欢迎继续关注 嗯,还是我,我又回来了——以后文章就两天一篇吧。讲点搞笑的,最近在开发v1.1 beta 3时,发现Python最令程序猿头疼的一点就是没有switch/case语句。要...

    graf 评论0 收藏0
  • 0开始python一个命令游戏(五)

    摘要:今天我时间有点紧张,所以不说废话了,直接进入正题。好现在,游戏可以自动产生僵尸了。然后呢用户可控的植物真正的植物大战僵尸游戏可以让玩家用鼠标控制游戏。由于这是命令行游戏,所以我们得用命令控制。 今天我时间有点紧张,所以不说废话了,直接进入正题。前作链接: 从0开始用python写一个命令行小游戏(一) 从0开始用python写一个命令行小游戏(二) 从0开始用python写一个命令行...

    skinner 评论0 收藏0
  • 0开始python一个命令游戏(十)

    摘要:前几天出去旅游了,所以没能更新文章,但转眼间,从开始用写一个命令行小游戏系列已经更新到了第十篇。闲话少说,今天我们要开始重构了但第一件事还是上篇的链接从开始用写一个命令行小游戏九。所以,我们需要一个标志变量,以标志游戏的结束。 前几天出去旅游了,所以没能更新文章,但转眼间,从0开始用python写一个命令行小游戏系列已经更新到了第十篇。闲话少说,今天我们要开始重构了!但第一件事还是上篇...

    OnlyLing 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<