C++代码字符舞-极乐净土

在抖音上看到代码舞觉得很好看,上网一搜好多语言都有实现的,但是C++的比较少。参考其他实现方法,我用C++写了一个。先看结果。

C++代码字符舞-极乐净土_第1张图片

运行后会播放动画和音乐。代码如下:

#include 
#include 
#include 
#include 

using namespace std;
#define MAX_ROW 100
#define MAX_COL 100
#define MAX_FRAME 1348

//#pragma comment(lib, "winmm.lib") //这里不用加,这个程序是用Qt Creator编写的,在.pro文件中增加了LIBS +=  -lWinmm。如果其他编译器则需要这句


static char buffer[MAX_COL*MAX_ROW];    //定义一个buffer存图片
void init()
{
    //console title
    SetConsoleTitle("Code-Dance");

    // 分辨率:控制台窗口大小
    system("mode con cols=151 lines=50");

    //隐藏控制台的光标
    HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_CURSOR_INFO info = {1, 0};
    SetConsoleCursorInfo(hout, &info);
}
void readData()
{
    FILE *fp;
    char fileName[128];
    for (int i=0; i(length), fp);

        fclose(fp);
        printf("%s",buffer);    //用cout<

代码中的video.mp3是音乐文件,为了保持一致,这个音乐文件和视频文件长度一样。

上面程序主要用来播放字符文件,播放一张清除一下屏幕,连续的播放产生字符动画的效果。于是有了这样的问题:

字符文件从哪来? --> 是从图片转换过来。我将批量的图片文件用ASCIIGenerator这个软件进行转换,并且可以指定图片大小。该软件上网可以搜到。

这些图片从哪里来? --> 是从视频中提取出来。详见Qt从视频中获取每一帧数据

有了这些准备工作后,就可以播放了。附加一句,这个是在windows下实现的。

你可能感兴趣的:(C++,Windows,代码舞,字符舞,C++字符舞,极乐净土)