|
楼主 |
发表于 2023/3/12 13:26
|
显示全部楼层
|Firefox 107.0 |Windows 10
//C++代码(生成ascii艺术)
#include<iostream>
#include<cstring>
using namespace std;
const int w=100,h=188;
string u(string a)//临时自制函数,没卵用
{
int siz=a.size();
for(int i=0;i<siz;i++)
{
if(a==' '){a.erase(a.begin()+i); siz=a.size(); i-=1; continue;}//清空格
else if(a=='q'||a=='Q'){a='C';}
else if(a=='i'||a=='I'){a='Y';}
else if(a>='a'&&a<='z'){a=a-'a'+'A';}//toUpper()
}
return a;
}
int main()
{
static char chr[h+7][w+7];
int len=w,hh=0,size;
string a,s,d,f;
a="QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ";
cin>>s>>d>>f;
//a
{
int i=-1,siz=a.size();//for(int count=0,i=-1,siz=a.size();count<1;count++,i=-1,siz=a.size())
while(siz>len)
{
siz-=len;
for(len;len>0;len-=1)
{
chr[hh][w-len]=a[++i];
}
hh+=1;len=w;
}
{
for(len;siz>0;len-=1,siz-=1)
{
chr[hh][w-len]=a[++i];
}
}
}
//s
for(int count=0,i=-1,siz=s.size();count<25;count++,i=-1,siz=s.size())
{
while(siz>len)
{
siz-=len;
for(len;len>0;len-=1)
{
chr[hh][w-len]=s[++i];
}
hh+=1;len=w;
}
{
for(len;siz>0;len-=1,siz-=1)
{
chr[hh][w-len]=s[++i];
}
}
}
//d
for(int count=0,i=-1,siz=d.size();count<2;count++,i=-1,siz=d.size())
{
while(siz>len)
{
siz-=len;
for(len;len>0;len-=1)
{
chr[hh][w-len]=d[++i];
}
hh+=1;len=w;
}
{
for(len;siz>0;len-=1,siz-=1)
{
chr[hh][w-len]=d[++i];
}
}
}
//f
for(int count=0,i=-1,siz=f.size();count<1;count++,i=-1,siz=f.size())
{
while(siz>len)
{
siz-=len;
for(len;len>0;len-=1)
{
chr[hh][w-len]=f[++i];
}
hh+=1;len=w;
}
{
for(len;siz>0;len-=1,siz-=1)
{
chr[hh][w-len]=f[++i];
}
}
}
// for(int i=0;i<h;i++){
// for(int j=0;j<w;j++){
// cout<<chr[j];}cout<<endl;}
len=w;hh=0;
int number; string color;
do{
cin>>number>>color;
cout<<"[color=#"<<color<<"]";for(int i=0;i<number;i+=1,len-=1){cout<<chr[hh][w-len];}cout<<"";
if(len<=0){len=w;hh+=1;cout<<endl;}//换行
}while(number);
}
/*字符处理草稿,bc段为a段部分,若a段长度不够就接nb+c/bbbbbbbc,余下部分开头接A
100*188=18800 18798+QQ
18792/730=25 548/730
548/163=2+1(178) 44/179
QQNAYTNAYPYYEHZQAYXGNAUHCQQYAZGNAYLEDGNOGGNAYNUHCQQNAYXGNYJGNEFEDGNAYCYUZOAYBYDEHZYEWGNEHCOAYGNYDQQNAYBNYJGNAYXYZADGNOGNEFGNAYNUHCYAPOAHZGNOTGNEHZQQNAYTNUYURGNEHOAHUOLOAGOUZYYNAZQQNAYBUBGNOYGNYDNAYJQQNAYNNYXEDEYYHSOAGQQNALOBUOYEKNAKUOYQQEUYYUSEDOBOAYPNAGNAHCQQEYDQREVENQSMAERDQQUOYYZEDGNYBAUHZUOHSOUGOUHQQNAUHUHYAZGNEFNAYDGNEHSOADEDGNAYXGNEMQQGNOOOOOOHCQQAYXOAHZGNYYYLNAWGNEHCNAYCNAKQQAUHYHZGNAYNUHCQQAPYAZYEMYZYDNEMNAUGQQNAYEHAYHCNAYPYAQQANGNAHSYEBUTADOALQQGNALUBNAYNOAHSYHSOADUOYQQEYLAHCOAHZYLYHSEUOYYAHQQAUHNYHULGNOHZGNEHCOUHSGNYTQQOAYGNOREDGNAHZOADUYLGNAHSQQUOYYUHYACQNAGYLUNQQ9AYJAHSEDYJ6UZGNOHCNAUSUYQQOAYDEGOAYQGNAHCYAPOAYQQOAGABOAYGNAWGNEHSEYGNAHQQOAHNAYJOAYGNOGNEFGNAYNUHCQQGNOHZUWNERNAGNAHCOUTYAKQQGNOHCYALYCQNERGNYCNAYN
(730)
QQNAYBUBGNOYGNYDNAYJQQNAYNNYXEDEYYHSOAGQQNALOBUOYEKNAKUOYQQEUYYUSEDOBOAYPNAGNAHCQQEYDQREVENQSMAERDQQUOYYZEDGNYBAUHZUOHSOUGOUHQQNAUHUHYAZGNEFNAYDGNEHSOADEDGNAYXGNEM
(163)
QQNAYTNAYPYYEHZQAYXGNAUHCQQYAZGNAYLEDGNOGGNAYNUHCQQNAYXGNYJGNEFEDGNAYCYUZOAYBYDEHZYEWGNEHCOAYGNYDQQNAYBNYJGNAYXYZADGNOGNEFGNAYNUHCYAPOAHZGNOTGNEHZQQNAYTNUYURGNEHOAHUOLOAGOUZYYNAZQQ
(178+QQ 163+15)
QQNAYTNAYPYYEHZQAYXGNAUHCQQYAZGNAYLEDGNOGGNAYNUHCQQNAYXGNYJGNEFEDGNAYCYUZOAYBYDEHZYEWGNEHCOAYGNYDQQNAYBNYJGNAYXYZADGNOGNEFGNAYNUHCYAPOAHZGNOTGNEHZQQNAYTNUYURGNEHOAHUOLOAGOUZYYNAZQQNAYBUBGNOYGNYDNAYJQQNAYNNYXEDEYYHSOAGQQNALOBUOYEKNAKUOYQQEUYYUSEDOBOAYPNAGNAHCQQEYDQREVENQSMAERDQQUOYYZEDGNYBAUHZUOHSOUGOUHQQNAUHUHYAZGNEFNAYDGNEHSOADEDGNAYXGNEMQQGNOOOOOOHCQQAYXOAHZGNYYYLNAWGNEHCNAYCNAKQQAUHYHZGNAYNUHCQQAPYAZYEMYZYDNEMNAUGQQNAYEHAYHCNAYPYAQQANGNAHSYEBUTADOALQQGNALUBNAYNOAHSYHSOADUOYQQEYLAHCOAHZYLYHSEUOYYAHQQAUHNYHULGNOHZGNEHCOUHSGNYTQQOAYGNOREDGNAHZOADUYLGNAHSQQUOYYUHYACQNAGYLUNQQ9AYJAHSEDYJ6UZGNOHCNAUSUYQQOAYDEGOAYQGNAHCYAPOAYQQOAGABOAYGNAWGNEHSEYGNAHQQOAHNAYJOAYGNOGNEFGNAYNUHCQQGNOHZUWNERNAGNAHCOUTYAKQQGNOHCYALYCQNERGNYCNAYN
QQNAYBUBGNOYGNYDNAYJQQNAYNNYXEDEYYHSOAGQQNALOBUOYEKNAKUOYQQEUYYUSEDOBOAYPNAGNAHCQQEYDQREVENQSMAERDQQUOYYZEDGNYBAUHZUOHSOUGOUHQQNAUHUHYAZGNEFNAYDGNEHSOADEDGNAYXGNEM
QQNAYTNAYPYYEHZQAYXGNAUHCQQYAZGNAYLEDGNOGGNAYNUHCQQNAYXGNYJGNEFEDGNAYCYUZOAYBYDEHZYEWGNEHCOAYGNYDQQNAYBNYJGNAYXYZADGNOGNEFGNAYNUHCYAPOAHZGNOTGNEHZQQNAYTNUYURGNEHOAHUOLOAGOUZYYNAZQQ
51 FFFEF6 1 5A5955 3 A2A292 1 5A5955 44 FFFEF6
49 FFFEF6 1 525146 1 DDDDDA 5 FFFFFD 1 E4E4D5 1 7C7C7A 42 FFFEF6
48 FFFEF6 1 483F28 2 FFFFEE 5 F2F4D8 2 FFFFF7 1 CBC9C5 1 7C7C7A 40 FFFEF6
48 FFFEF6 1 E2CE94 1 FFFFEA 6 F7F8DD 2 F2F7E5 2 FFFFF9 1 737270 39 FFFEF6
47 FFFEF6 1 605538 1 FFEEB2 1 F2F3D5 1 FFFFFC 1 FFFFEF 1 ECEBE9 3 FCFEE1 2 F1F3D0 2 FFFFED 1 FFFFFF 2 CDCCC4 37 FFFEF6
47 FFFEF6 未完待续
//*/
|
|