class Vis

You can visualize the game. No matter static or animated image you want, you must generate static PNG files first. Images could be black and white or colored. They are colored by default. You can’t customize the colores. Red color encode the cell to, grey color encode the cell from.

Temp directory

You can generate PNG files in the specific folder or in a temp directoy. By default it is the temp directory.

import chess_bead as cb
g = cb.Game()
verses = g.start_game()
v = cb.Viz(verses, g.author, g.title)

Note

All moves and positions (verses), author’s name (g.author) and poem’s title (g.title) are required.

The path to the temp directory stored in a path attribute:

>>> v.path
'/tmp/tmpx2uxfbkl'

This directory is not automatically deleted. It must be deleted by deleting the class instance.

>>> del v
>>> v.path
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'v' is not defined
>>> import os
>>> os.path.exists('/tmp/tmpx2uxfbkl')
False

PNG files

You can specify:

output_path

Location where PNG will be generated. Tmp directory by default.

gif_path

Location of the output GIF file. Working directory by default.

gif_filename

Filename of the GIF. game.gif by default.

duration

Duration of the animation. 2 by default. Make sense only for animated images.

color

Color coding of the move. Colored by default.

v = cb.Viz(l, g.author, g.title, output_path='.', gif_filename='chess_bead_game.gif')
v.png(l[20], 20)

Last line generates the PNG image of the single 20th move.

Animation

GIF

Very simple code for GIF animation:

v.gif()

MP4

There is no built-in tool for making mp4 from the png files. But you can use ffmpeg.

import os
os.system("ffmpeg -r 2 -f image2 -s 600x800 -i {}/%04d.png -vcodec libx264 -crf 25  -pix_fmt yuv420p ./output.mp4".format(v.path))