ascii art
Oct 19, 2018 at 1:27pm UTC
How to used or generate ascii as output art in c++? Thanks!
Oct 19, 2018 at 2:55pm UTC
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
/* C++ Program - Print ASCII Values of Characters */
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
// clrscr();
char ch;
int i;
int count = 0;
for (i=1; i<255; i++)
{
if (i%5 == 0){cout << endl;}
ch=i;
cout<<i<<"-> " <<ch<<"\t" ;
}
getch();
}
Oct 19, 2018 at 4:35pm UTC
Ascii art, as the name suggests, is an art, not a science. How you want to design it is up to you. It all just comes down to printing ASCII characters in a 2d grid.
If you want to know something more specific about ascii art, you might get better responses.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
// Example program
#include <iostream>
#include <string>
#include <cmath>
int main()
{
const int Size = 50;
const int Radius = Size / 2;
char grid[Size][Size];
const int Num_Types = 3;
char types[Num_Types+1] = {'*' , 'o' , 'O' , 'O' };
for (int y = 0; y < Size; y++)
{
for (int x = 0; x < Size; x++)
{
int x_s = x - Radius;
int y_s = y - Radius;
int value = Radius * Radius - x_s*x_s - y_s*y_s;
//int index = Num_Types * (value / (Radius * Radius));
if (value > 0)
{
int index = (Num_Types * value) / (Radius * Radius);
grid[y][x] = types[index];
}
else
{
grid[y][x] = ' ' ;
}
}
}
for (int y = 0; y < Size; y++)
{
for (int x = 0; x < Size; x++)
{
std::cout << grid[y][x];
}
std::cout << '\n' ;
}
}
*************
*******************
***********************
***************************
**********ooooooooo**********
*********ooooooooooooooo*********
********ooooooooooooooooooo********
*******ooooooooooooooooooooooo*******
*******ooooooooooooooooooooooooo*******
******ooooooooooooooooooooooooooo******
******oooooooooooOOOOOOOooooooooooo******
******oooooooooOOOOOOOOOOOOOooooooooo******
*****ooooooooOOOOOOOOOOOOOOOOOoooooooo*****
*****ooooooooOOOOOOOOOOOOOOOOOOOoooooooo*****
*****oooooooOOOOOOOOOOOOOOOOOOOOOooooooo*****
*****oooooooOOOOOOOOOOOOOOOOOOOOOOOooooooo*****
*****ooooooOOOOOOOOOOOOOOOOOOOOOOOOOoooooo*****
****oooooooOOOOOOOOOOOOOOOOOOOOOOOOOooooooo****
*****ooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooo*****
*****ooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooo*****
****oooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOooooooo****
****ooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooo****
****ooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooo****
****ooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooo****
****ooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooo****
****ooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooo****
****ooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooo****
****ooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooo****
****oooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOooooooo****
*****ooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooo*****
*****ooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooo*****
****oooooooOOOOOOOOOOOOOOOOOOOOOOOOOooooooo****
*****ooooooOOOOOOOOOOOOOOOOOOOOOOOOOoooooo*****
*****oooooooOOOOOOOOOOOOOOOOOOOOOOOooooooo*****
*****oooooooOOOOOOOOOOOOOOOOOOOOOooooooo*****
*****ooooooooOOOOOOOOOOOOOOOOOOOoooooooo*****
*****ooooooooOOOOOOOOOOOOOOOOOoooooooo*****
******oooooooooOOOOOOOOOOOOOooooooooo******
******oooooooooooOOOOOOOooooooooooo******
******ooooooooooooooooooooooooooo******
*******ooooooooooooooooooooooooo*******
*******ooooooooooooooooooooooo*******
********ooooooooooooooooooo********
*********ooooooooooooooo*********
**********ooooooooo**********
***************************
***********************
*******************
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
// Example program
#include <iostream>
#include <cmath>
#include <complex>
int main()
{
double x_max = 1.0;
double x_min = -1.5;
double x_range = x_max - x_min;
double y_max = 1.0;
double y_min = -1.0;
double y_range = y_max - y_min;
const int Width = x_range * 20 * 1.75; // 1.75 to make aspect ratio better
const int Height = y_range * 20;
char grid[Height][Width] = {};
for (int y = 0; y < Height; y++)
{
for (int x = 0; x < Width; x++)
{
grid[y][x] = '#' ;
}
}
for (int y = 0; y < Height; y++)
{
for (int x = 0; x < Width; x++)
{
double x_coord = (static_cast <double >(x) / Width) * x_range + x_min;
double y_coord = (static_cast <double >(y) / Height) * y_range + y_min;
std::complex<double > Z(0.0, 0.0);
std::complex<double > C(x_coord, y_coord);
for (int i = 0; i < 100; i++)
{
Z = Z * Z + C;
if (std::abs(Z) > 2.0)
{
grid[y][x] = ' ' ;
break ;
}
}
}
}
for (int y = 0; y < Height; y++)
{
for (int x = 0; x < Width; x++)
{
std::cout << grid[y][x];
}
std::cout << '\n' ;
}
}
##
#######
########
######
##### #
## ###################
## ####################### ###
##############################
#################################
###################################
######################################
#####################################
## #### #######################################
########### ########################################
############### #######################################
################ ######################################
## ################# ######################################
#############################################################
## ################# ######################################
################ ######################################
############### #######################################
########### ########################################
## #### #######################################
#####################################
######################################
###################################
#################################
##############################
## ####################### ###
## ###################
##### #
######
########
#######
##
Last edited on Oct 19, 2018 at 5:39pm UTC
Topic archived. No new replies allowed.