likes
comments
collection
share

用Python print画一条龙,有眼睛,会动,彩色的,还会喷火那种 |Python 主题月

作者站长头像
站长
· 阅读数 17

前言

古有 div画条console画龙

今有我 Python print战龙一条目光凶猛,霸气红色,爱运动,能战斗的霸王龙

上面的都是产品说的,我是研发, 所以,大家懂的,从产品到设计, 从设计到实现, 每一步都是有差距的。

预览

召唤巨龙!!!

实际的效果会明显好于GIF图的效果, 相信我,不然可以下载源码自行体验。

用Python print画一条龙,有眼睛,会动,彩色的,还会喷火那种 |Python 主题月

思路

像素画。

  1. 通过一些点形成轮廓
  2. 定时刷新,欺骗人类的眼睛,形成连贯动画。

设计稿 用Python print画一条龙,有眼睛,会动,彩色的,还会喷火那种 |Python 主题月

实现难点

请注意: 开发环境: windows , Python3.9.1

像素点怎么生成

特殊的字, ,看到没,这玩意也是字。

眼睛

还是特殊的字,, 看到没,这玩意也是字。

如果画出图形和生成动画

Python的 """这能输出多行文本。 代码如下,就生成了栩栩如生,威风凌凌的霸王龙。

注意代码颜色为红色,输出图案并不是红色

""" 
                                        ∎∎∎∎∎∎∎∎∎∎∎
                                        ∎∎ ⊙ ∎∎∎∎∎∎∎∎
                                        ∎∎∎   
                                        ∎∎∎∎∎∎∎∎∎∎∎
      ∎                              ∎∎∎∎  
      ∎∎                            ∎∎∎∎ 
      ∎∎∎    ∎∎∎∎∎∎              ∎∎∎∎∎
     ∎∎∎     ∎∎∎∎∎∎∎∎∎          ∎∎∎∎∎  
    ∎∎∎∎∎   ∎∎∎∎∎∎∎∎∎∎∎∎       ∎∎∎∎∎∎
    ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎          
        ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
            ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
              ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
               ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
                 ∎∎          ∎∎    
                ∎∎         ∎∎
               ∎∎         ∎∎
               ∎          ∎
               ∎∎∎       ∎∎∎∎
    """

连续的生成动画,需要计时器,简单粗暴的方式:

import time
time.sleep(0.016)

如果你是连续的输出,控制台会越来越长,不会形成动画,所以我们要清空屏幕:

import os
os.system("cls")

所以,形成帧动画的简单代码形式:

import os
import time

while (True):
    os.system("cls")
    ... other code ....
    time.sleep(0.016)

到此为止,基本完成,一起看看完整的代码,一共56行

import os
import time

def print1():
    print(""" 
                                        ∎∎∎∎∎∎∎∎∎∎∎
                                        ∎∎ ⊙ ∎∎∎∎∎∎∎∎
                                        ∎∎∎   
                                        ∎∎∎∎∎∎∎∎∎∎∎
      ∎                              ∎∎∎∎  
      ∎∎                            ∎∎∎∎ 
      ∎∎∎    ∎∎∎∎∎∎              ∎∎∎∎∎
     ∎∎∎     ∎∎∎∎∎∎∎∎∎          ∎∎∎∎∎  
    ∎∎∎∎∎   ∎∎∎∎∎∎∎∎∎∎∎∎       ∎∎∎∎∎∎
    ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎          
        ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
            ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
              ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
               ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
                 ∎∎          ∎∎    
                ∎∎         ∎∎
               ∎∎         ∎∎
               ∎          ∎
               ∎∎∎       ∎∎∎∎
    """)

def print2():
    print(""" 
                                        ∎∎∎∎∎∎∎∎∎∎∎
                                        ∎∎ ⊙ ∎∎∎∎∎∎∎∎
                                        ∎∎∎               ∎∎∎∎
                                        ∎∎∎∎∎∎∎∎∎∎∎
    ∎                                ∎∎∎∎  
    ∎∎                              ∎∎∎∎ 
    ∎∎∎      ∎∎∎∎∎∎              ∎∎∎∎∎
     ∎∎∎     ∎∎∎∎∎∎∎∎∎          ∎∎∎∎∎  
    ∎∎∎∎∎   ∎∎∎∎∎∎∎∎∎∎∎∎       ∎∎∎∎∎∎
    ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎          
        ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
            ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
              ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
               ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
                 ∎∎          ∎∎    
                  ∎∎          ∎∎
                   ∎∎          ∎∎
                   ∎           ∎
                   ∎∎∎        ∎∎∎
    """)

while (True):
    os.system("cls")
    print1()
    time.sleep(0.016)
    os.system("cls")
    print2()
    time.sleep(0.016)

到此为止,输入都是白色的,输出大致是这个样子。 不行,没有颜色,缺少灵魂,霸气不足。

用Python print画一条龙,有眼睛,会动,彩色的,还会喷火那种 |Python 主题月

上色

这里查询到好几种方案

  1. \033方案
  2. Python库 termcolor
  3. Python在cmd上打印彩色文字

Python在cmd上打印彩色文字方法,一尝试,可用。

    printGreen('printGreen:Gree Color Text')
    printRed('printRed:Red Color Text')
    printYellow('printYellow:Yellow Color Text')

用Python print画一条龙,有眼睛,会动,彩色的,还会喷火那种 |Python 主题月

把代码放到color.py里面,稍微调整一下代码: 核心一句: print = color.printRed

print = color.printRed
while (True):
    os.system("cls")
    print1()
    time.sleep(0.016)
    os.system("cls")
    print2()
    time.sleep(0.016)

红色巨龙出现:

用Python print画一条龙,有眼睛,会动,彩色的,还会喷火那种 |Python 主题月

写在最后

客官,你觉得可还行。

产品验收

以下纯属玩笑

你这是条龙?

我递根烟,说附近有一家好吃的日本料理, 您再看看。

产品说: 我再看看,嗯,有点像,火力也很萌。

产品说: 怎么感觉少了些啥,哦,没有手。

我说: 是条内敛的龙,你看马上下班啦。

产品说: 有创新,行,走吧。

最最后

等你来评,等你来验收。

正在参加「Python主题月],您的赞评就是最大的支持。