Show how bitmapped graphics may be used : Array Char « Data Type « C / ANSI-C






Show how bitmapped graphics may be used

Show how bitmapped graphics may be used
#include <stdio.h>

#define X_SIZE 40
#define Y_SIZE 60

char graphics[X_SIZE / 8][Y_SIZE];   /* the graphics data */
void print_graphics(void);
#define SET_BIT(x,y) graphics[(x)/8][y] |= (0x80 >>((x)%8))

int main()
{
    int loc;
    int x;
    int y;

    for (y = 0; y < Y_SIZE; ++y) {
        for (x = 0; x < X_SIZE / 8; ++x) {
            graphics[x][y] = '.';
        }
    }


    for (loc = 0; loc < X_SIZE; ++loc)
        SET_BIT(loc, loc);

    print_graphics();
    return (0);
}
void print_graphics(void)
{
    int x;
    int y;
    int bit;

    for (y = 0; y < Y_SIZE; ++y) {
        for (x = 0; x < X_SIZE / 8; ++x) {
            for (bit = 0x80; bit > 0; bit = (bit >> 1)) {
                if ((graphics[x][y] & bit) != 0){
                    printf("*");
                }else{
                    printf("%c",graphics[x][y]);
                }
            }
        }
        printf("\n");
    }
}


           
       








Related examples in the same category

1.Compute the total of a list of numbers
2.Tic-Tac-ToeTic-Tac-Toe
3.Output the address of char array
4.For loop a char array
5.A simple dictionaryA simple dictionary
6.For loop a char array using pointer
7.Char array: pointer and loop
8.Assign a value to an element inside a char array
9.Char array: assign value and loopChar array: assign value and loop
10.Loop and output a char array
11.how array addressing and pointer arithmetic are linkedhow array addressing and	pointer arithmetic are linked
12.the use of strings
13.contiguous array storage
14.verifying array initialization