This article is participating in Python Theme Month. See the link to the event for more details

preface

Ancient div painting, console dragon.

Today I have a Python print drawing of the Wardragon, a ferocious, domineering red, sports, fighting T-Rex.

All of the above are products, I am research and development, so, you know, from product to design, from design to implementation, every step is a gap.

preview

Call the dragon!!

The actual effect will be significantly better than the GIF image effect, trust me, otherwise you can download the source code experience.

Train of thought

Pixels.

  1. Form an outline through some points
  2. Timed refresh to trick the human eye into a coherent animation.

The design draft

Implementation difficulties

Please note: Development environment: Windows, Python3.9.1

How are pixels generated

Special word, ∎. See? This thing is a word.

eyes

It’s a special word. ⊙. See? It’s a word.

If you draw graphics and generate animations

“”” “in Python this can output multiple lines of text. Here’s the code, and you get a very lifelike, powerful TYrannosaurus Rex.

Note that the code color is red, and the output pattern is not red

"" "∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ even ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎ ∎∎∎∎ ∎∎∎∎ ∎∎∎∎ ∎∎∎∎ ∎ """
Copy the code

To generate animations continuously, need a timer, simple and crude way:

import time
time.sleep(0.016)
Copy the code

If you do continuous output, the console will get longer and longer and won’t animate, so we’ll empty the screen:

import os
os.system("cls")
Copy the code

So, a simple code form for frame animation:

import os
import time

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

This is basically done, let’s look at the complete code, a total of 56 lines:

import os
import time

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

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

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

So far, the input is white, and the output looks something like this. No, no color, no soul, no swagger.

coloring

Several schemes are queried here

  1. \ 033plan
  2. Python library termcolor
  3. Python prints color text on CMD

Python print color text method on CMD, a try, available.

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

Put the code in color.py and tweak the code a little: print = color.printred

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

The Red dragon appears:

Write in the last

Guest officer, you think it’s okay.

Product acceptance

This is a joke

Are you a dragon?

I pass a cigarette and say there is a good Japanese food nearby, you have a look.

Product said: LET me see again, HMM, a bit like, fire is also very cute.

The product says: How do I feel something is missing? Oh, no hands.

I said: is a reserved dragon, you see immediately off work.

The product says: Innovation, ok, let’s go.

The last

Waiting for you to comment, waiting for you to accept.

I am participating in “Python Theme Month” and your likes are the biggest support.