ascii art

How to used or generate ascii as output art in c++? Thanks!
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();
}
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
Topic archived. No new replies allowed.