今天要分享给大家的是一个非常有意思的字幕变化,可以用在很多的地方,列如:发给你喜欢的人或者是你的好兄弟,我们设定好字后,屏幕上会不断的打印我们想要的内容 ❤ !!!
一.
先给大家讲解原理,方便大家可以后面自行的修改内容和打印方式,首先需要知道我们要打印的内容,这里我以“ 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.将这个发给别人即可