從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發佈狀態)遊戲

下集預告

下次,該加上多行了!還有,一種新的殭屍(原創)正蠢蠢欲動······歡迎繼續關注!字符串

相關文章
相關標籤/搜索