名字学 > 微信名字 > 在DOS命令行窗口中显示出用各种字符拼凑出来的各种图案的实现方法,如本人头像

在DOS命令行窗口中显示出用各种字符拼凑出来的各种图案的实现方法,如本人头像

投稿人:名字学起名网2020-09-12 11:11:53

注: 文中例子是本人刚学C++编程语言的时候制作的,实现方法很简单,主要使用for循环语句,无需什么复杂烧脑的算法。

由于经常看到各种符号拼成的图案,感觉很有意思用符号拼成微信名,所以自己也弄了个,纯属好玩。

用符号拼成微信名_用符号拼成微信名_微信名用特殊字体

如果你的图案是一个正方形,设图案每一行有X个字符(包含空格),则行数为X/2行。

用符号拼成微信名

第二步: 按照这个视觉比例,用word文档创建如下内容(如下图,本文中每一行都是一个个星号组成的),并打印出来。

然后按照设计的图案的每行中的字符个数,在打印出来的纸中用铅笔画出一个边框(范围),然后可以在边框范围内尽情的连线,

最后拼成图案。(这一步解决图案中符号定位的问题,属于笨办法,但是十分有效,而且很直观,本例选择的行字符数为40。)

用符号拼成微信名

第三步: 按行计算边框范围内连起来的线经过的点(每个点到该行行首的距离),经过则用自定义的符号显示,没有经过的点用空格显示。

可以在上图中标上刻度,方便计算每个符号的位置。

第四步: 为了方便在命令行窗口中左右移动图案,给每一行行首都增加了一个int型变量,并根据该变量的值在每行行首添加空格用符号拼成微信名,

使得图案的左边框离窗口的左边界之间的距离可以随意改变。该步骤可以省略。

第五步: 本例实现代码如下(出现图案雏形后在根据视觉上的差异对部分字符位置进行微调)

#include
using namespace std;
int main(){
    int a;
	cout<<"please input A:";  
	cin>>a;                  //图案左边框离窗口左边界的距离值,可替换成任意常量,也可以忽略。
	for(int x=0;x<30;x++){
	for(int y=0;y<60+a;y++){
		if(x==0||x==29){if(y=a+9&&y!=a+10&&y!=a+12&&y!=a+14&&y!=a+16&&y!=a+18&&y!=a+20&&y!=a+22&&y!=a+24&&y!=a+26&&y<=a+27)cout<<"*";
                      else if(y>=a+32&&y!=a+33&&y!=a+35&&y!=a+37&&y!=a+39&&y!=a+41&&y!=a+43&&y!=a+45&&y!=a+47&&y!=a+49&&y<=a+50)cout<<"*";else cout<<" ";}
		else if(x==11){if(y=a+14&&y<=a+17)cout<<"*";else if(y>=a+42&&
							y<=a+45)cout<<"*";else cout<<" ";}
		else if(x==12){if(y=a+14&&y!=a+15&&y!=a+17&&y!=a+19&&y<=a+20)cout<<"*";else if
							(y>=a+39&&y!=a+40&&y!=a+42&&y!=a+44&&y<=a+45)cout<<"*";else cout<<" ";}
		else if(x==14){if(y=a+17&&y!=a+18&&y!=a+20&&y!=a+22&&y!=a+24&&y!=a+26&&
							y!=a+28&&y!=a+29&&y!=a+31&&y!=a+33&&y!=a+35&&y!=a+37&&
							y!=a+39&&y!=a+41&&y<=42+a)cout<<"*";else cout<<" ";}
		else if(x==27){if(y

have fun!

分享:

扫一扫在手机浏览本文