网站建设名片江门搜狗网站推广优化
目录
一.
二.
三.
四.
今天要分享给大家的是一个非常有意思的字幕变化,可以用在很多的地方,列如:发给你喜欢的人或者是你的好兄弟,我们设定好字后,屏幕上会不断的打印我们想要的内容 ❤ !!!
一.
先给大家讲解原理,方便大家可以后面自行的修改内容和打印方式,首先需要知道我们要打印的内容,这里我以“ I LOVE YOU ”举例子:
我们现在向输出I LOVE YOU 大字幕,首先要考虑的问题就是字幕的打印,我们想要的是大的字幕,而正常的字幕只能在一行且非常的小,完全不够我们表达的意思,而一行一行打又要费大家的很多时间,在这里我提前给大家准备好了
char a[] = { " *****************************************************************************************************************" };char a1[] = { "******************************************************************************************************************" };char b[] = { " ****#######*******###********#########****##************##**############****##*******##**#########**####****####**" };//1char a2[] = { "******************************************************************************************************************" };char c[] = { " ******###*********###********##*****##*****##**********##***##***************##*****##***##*****##***##******##***" };//2char a3[] = { "******************************************************************************************************************" };char d[] = { " ******###*********###********##*****##******##********##****############******##***##****##*****##***##******##***" };// 3char a4[] = { "******************************************************************************************************************" };char e[] = { " ******###*********###********##*****##*******##******##*****##******************###******##*****##***##******##***" };// 4char a5[] = { "******************************************************************************************************************" };char f[] = { " ******###*********###********##*****##********##****##******############********###******##*****##***##******##***" };// 5char a6[] = { "******************************************************************************************************************" };char l[] = { " ******###*********###********##*****##*********##**##*******##******************###******##*****##***##******##***" };// 6char a7[] = { "******************************************************************************************************************" };char m[] = { " ******###*********###********##*****##**********#**#********##******************###******##*****##***##******##***" };// 7char 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[] = { " ****#######*******###********#########****##************##**############****##*******##**#########**####****####**" };//1char a2[] = { "******************************************************************************************************************" };char c[] = { " ******###*********###********##*****##*****##**********##***##***************##*****##***##*****##***##******##***" };//2char a3[] = { "******************************************************************************************************************" };char d[] = { " ******###*********###********##*****##******##********##****############******##***##****##*****##***##******##***" };// 3char a4[] = { "******************************************************************************************************************" };char e[] = { " ******###*********###********##*****##*******##******##*****##******************###******##*****##***##******##***" };// 4char a5[] = { "******************************************************************************************************************" };char f[] = { " ******###*********###********##*****##********##****##******############********###******##*****##***##******##***" };// 5char a6[] = { "******************************************************************************************************************" };char l[] = { " ******###*********###********##*****##*********##**##*******##******************###******##*****##***##******##***" };// 6char a7[] = { "******************************************************************************************************************" };char m[] = { " ******###*********###********##*****##**********#**#********##******************###******##*****##***##******##***" };// 7char a8[] = { "******************************************************************************************************************" };char n[] = { " ****#######*******#########**#########**********###*********############********###******#########***##########***" };// 8int sz = sizeof(a1) / sizeof(char);int left1 = 0;int right1 = sz - 2; //其中包含\0,加上因为是坐标所以要减2int 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.将这个发给别人即可