【C语言】制作一个表白用的移动字幕

简介: 【C语言】制作一个表白用的移动字幕


       今天要分享给大家的是一个非常有意思的字幕变化,可以用在很多的地方,列如:发给你喜欢的人或者是你的好兄弟,我们设定好字后,屏幕上会不断的打印我们想要的内容 ❤ !!!


一.

       先给大家讲解原理,方便大家可以后面自行的修改内容和打印方式,首先需要知道我们要打印的内容,这里我以“ I LOVE YOU ”举例子:

       我们现在向输出I LOVE YOU 大字幕,首先要考虑的问题就是字幕的打印,我们想要的是大的字幕,而正常的字幕只能在一行且非常的小,完全不够我们表达的意思,而一行一行打又要费大家的很多时间,在这里我提前给大家准备好了

    char a[] = { " *****************************************************************************************************************" };
    char a1[] = { "******************************************************************************************************************" };
    char b[] = { " ****#######*******###********#########****##************##**############****##*******##**#########**####****####**" };//1
    char a2[] = { "******************************************************************************************************************" };
    char c[] = { " ******###*********###********##*****##*****##**********##***##***************##*****##***##*****##***##******##***" };//2
    char a3[] = { "******************************************************************************************************************" };
    char d[] = { " ******###*********###********##*****##******##********##****############******##***##****##*****##***##******##***" };// 3
    char a4[] = { "******************************************************************************************************************" };
    char e[] = { " ******###*********###********##*****##*******##******##*****##******************###******##*****##***##******##***" };// 4
    char a5[] = { "******************************************************************************************************************" };
    char f[] = { " ******###*********###********##*****##********##****##******############********###******##*****##***##******##***" };// 5
    char a6[] = { "******************************************************************************************************************" };
    char l[] = { " ******###*********###********##*****##*********##**##*******##******************###******##*****##***##******##***" };// 6
    char a7[] = { "******************************************************************************************************************" };
    char m[] = { " ******###*********###********##*****##**********#**#********##******************###******##*****##***##******##***" };// 7
    char a8[] = { "******************************************************************************************************************" };
    char n[] = { " ****#######*******#########**#########**********###*********############********###******#########***##########***" };// 8

这只是我们移动字幕的小前提,下面的才是重点(后续大家想改内容也可以在这里修改)


二.      

       接下来开始讲解算法和执行步骤了,想要实现代码的变化肯定是需要用到了循环,我们在不断的更新数组中的内容,使得看起来像动态一样的输出,这个时候需要大家运用一个算法,用一数组中的字符不断的替代另一组数组字符的内容,不断的输入就可以实现,动态改变

举个列子:

int main()
{
    char a[]="abcdef";
    char b[]="******";
    int set=sizeof(a)/sizeof(char); //计算数组数量
    int left=0;                     //左坐标
    int right=sz-2;                 //右坐标
    while(left<=right)
    {    
        b[left]=a[left];
        b[right]=b[right];
        printf("%s",b);
        left++;
        right--;
    }
    
   return 0;
}

不断的替换数组的内容达到我们想要的效果      


三.

       原理解释清楚了,接下来就是正文内容了,上面我们在进行替换的时候使用了8个字符数组,所以下面需要8个数组的替换,正常情况下,大家根据自己输出内容进行选择就行

#include <stdio.h>
#include <windows.h>
 
 
 
int main()
{
    //              ****************    ****************
    char a[] = { " ******************************************************************************************************************" };
    char a1[] = { "******************************************************************************************************************" };
    char b[] = { " ****#######*******###********#########****##************##**############****##*******##**#########**####****####**" };//1
    char a2[] = { "******************************************************************************************************************" };
    char c[] = { " ******###*********###********##*****##*****##**********##***##***************##*****##***##*****##***##******##***" };//2
    char a3[] = { "******************************************************************************************************************" };
    char d[] = { " ******###*********###********##*****##******##********##****############******##***##****##*****##***##******##***" };// 3
    char a4[] = { "******************************************************************************************************************" };
    char e[] = { " ******###*********###********##*****##*******##******##*****##******************###******##*****##***##******##***" };// 4
    char a5[] = { "******************************************************************************************************************" };
    char f[] = { " ******###*********###********##*****##********##****##******############********###******##*****##***##******##***" };// 5
    char a6[] = { "******************************************************************************************************************" };
    char l[] = { " ******###*********###********##*****##*********##**##*******##******************###******##*****##***##******##***" };// 6
    char a7[] = { "******************************************************************************************************************" };
    char m[] = { " ******###*********###********##*****##**********#**#********##******************###******##*****##***##******##***" };// 7
    char a8[] = { "******************************************************************************************************************" };
    char n[] = { " ****#######*******#########**#########**********###*********############********###******#########***##########***" };// 8
    
    int sz = sizeof(a1) / sizeof(char);
    int left1 = 0;
    int right1 = sz - 2;  //其中包含\0,加上因为是坐标所以要减2
    int left2 = 0;
    int right2 = sz - 2;
    int left3 = 0;
    int right3 = sz - 2;
    int left4 = 0;
    int right4 = sz - 2;
    int left5 = 0;
    int right5 = sz - 2;
    int left6 = 0;
    int right6 = sz - 2;
    int left7 = 0;
    int right7 = sz - 2;
    int left8 = 0;
    int right8 = sz - 2;
    
    while (left1 <= right1)
    {
        a1[left1] = b[left1];
        a1[right1] = b[right1];
        printf("%s\n", a1);
        Sleep(10);
        system("cls");
        left1++;
        right1--;
    }
 
    while (left2 <= right2)
    {
        printf("%s\n", a1);
        a2[left2] = c[left2];
        a2[right2] = c[right2];
        printf("%s", a2);
        Sleep(10);
        system("cls");
        left2++;
        right2--;
    }
    while (left3 <= right3)
    {
        printf("%s\n", a1);
        printf("%s\n", a2);
        a3[left3] = d[left3];
        a3[right3] = d[right3];
        printf("%s", a3);
        Sleep(10);
        system("cls");
        left3++;
        right3--;
    }
    while (left4 <= right4)
    {
        printf("%s\n", a1);
        printf("%s\n", a2);
        printf("%s\n", a3);
        a4[left4] = e[left4];
        a4[right4] = e[right4];
        printf("%s", a4);
        Sleep(10);
        system("cls");
        left4++;
        right4--;
    }
    while (left5 <= right5)
    {
        printf("%s\n", a1);
        printf("%s\n", a2);
        printf("%s\n", a3);
        printf("%s\n", a4);
        a5[left5] = f[left5];
        a5[right5] = f[right5];
        printf("%s", a5);
        Sleep(10);
        system("cls");
        left5++;
        right5--;
    }
    while (left6 <= right6)
    {
        printf("%s\n", a1);
        printf("%s\n", a2);
        printf("%s\n", a3);
        printf("%s\n", a4);
        printf("%s\n", a5);
        a6[left6] = l[left6];
        a6[right6] = l[right6];
        printf("%s", a6);
        Sleep(10);
        system("cls");
        left6++;
        right6--;
    }
    while (left7 <= right7)
    {
        printf("%s\n", a1);
        printf("%s\n", a2);
        printf("%s\n", a3);
        printf("%s\n", a4);
        printf("%s\n", a5);
        printf("%s\n", a6);
        a7[left7] = m[left7];
        a7[right7] = m[right7];
        printf("%s", a7);
        Sleep(10);
        system("cls");
        left7++;
        right7--;
 
    }
    while (left8 <= right8)
    {
        printf("%s\n", a1);
        printf("%s\n", a2);
        printf("%s\n", a3);
        printf("%s\n", a4);
        printf("%s\n", a5);
        printf("%s\n", a6);
        printf("%s\n", a7);
        a8[left8] = n[left8];
        a8[right8] = n[right8];
        printf("%s", a8);
        Sleep(10);
        system("cls");
        left8++;
        right8--;
 
    }
    
 
 
    printf("%s\n", a);
    printf("%s\n", a1);
    printf("%s\n", a2);
    printf("%s\n", a3);
    printf("%s\n", a4);
    printf("%s\n", a5);
    printf("%s\n", a6);
    printf("%s\n", a7);
    printf("%s\n", a8);
    printf("%s\n", a);
 
    
    //aixin();
 
 
    return 0;
}
 
void aixin()
{
    printf("      *******      ********\n");
    printf("     **********   **********\n");
    printf("    ************ ************\n");
    printf("   ***************************\n");
    printf("    *************************\n");
    printf("     ***********************\n");
    printf("       ******************\n");
    printf("        ****************\n");
    printf("           **********\n");
    printf("              ****\n");
}

只需要将代码加入我们上面的代码中,进行引用即可,如果不懂可以私聊我进行询问


四.

       最最最重要的来了,我们做好了怎么让别人看到,正常情况下,别人需要安装C语言的软件很头疼,大多数人是小白,这样我们这串代码就失去了作用,大家使用的是  “ Visual Studio ”软件的话,根据下面我的步骤来:

1.Visual Studio上面这个地方有一个Debug 和Release ,写好代码后将Debug改为Release点击。

2.在你创建这个工程的项目目录下,找到Release这个文件

3.打开后可以看到一个exe为后缀的文件

4.将这个发给别人即可

相关文章
|
7月前
|
程序员 编译器 C语言
C语言满屏飘字表白代码
C语言满屏飘字表白代码
207 0
|
7月前
|
存储 C语言 C++
C语言实战演练之C语言满屏飘字表白代码
C语言实战演练之C语言满屏飘字表白代码
|
C语言
死亡表白神器,不成功就gg(C语言)
死亡表白神器,不成功就gg(C语言)
54 0
|
API C语言 开发者
【精选】表白小姐姐(C语言)
【精选】表白小姐姐(C语言)
89 0
|
C语言
表白C语言
表白C语言
101 0
|
C语言 C++
小游戏-表白-整蛊——娱乐(C语言基础)
小游戏-表白-整蛊——娱乐(C语言基础)
小游戏-表白-整蛊——娱乐(C语言基础)
|
C语言 C++
小伙子用C语言写出绽放的玫瑰花,成功表白C++代码女神!
小伙子用C语言写出绽放的玫瑰花,成功表白C++代码女神!
5177 0
|
C语言
c语言表白程序代码
  双十一要到了,好激动啊!!!        是时候准备出手了!            花了一天的时间写的表白代码。        表示自己弱弱的.....              看了网上好多都是js写的,感觉碉堡了!js用的不熟,前端不好,java,Python写起来一定很顺手吧,但是还是决定用c写一下,简单的界面,大神路过不喜勿喷。
2456 0
|
18天前
|
存储 C语言 开发者
【C语言】字符串操作函数详解
这些字符串操作函数在C语言中提供了强大的功能,帮助开发者有效地处理字符串数据。通过对每个函数的详细讲解、示例代码和表格说明,可以更好地理解如何使用这些函数进行各种字符串操作。如果在实际编程中遇到特定的字符串处理需求,可以参考这些函数和示例,灵活运用。
39 10